Осваиваем умирающий Windows Phone
Новый еженедельный дайджест - 120 новостей и статей. Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Там, например, "Как пройти кодинг интервью со мной" - 22 профессиональных совета о том, как проходить собеседования с программированием.
💻 Прислать материал для дайджеста можно сюда. А поддержать канал здесь.
Видео и подкасты за неделю:
• (iOS Ru)
Простая анимация для всплывающего окна
• (iOS Ru)
Как мы делали новую iOS-камеру ВКонтакте и VK Клипов
• (iOS Ru)
Показываем красивое с помощью видеоредактора в VK Клипах на iOS
• (iOS En)
SwiftUI Animated Tab Icons - Animated SF Symbols
• (iOS En)
Build Switcher: Local Build Caching for Xcode
• (iOS En)
How to Save and Manage Data with Core Data in Swift
• (iOS En)
Using @_exported attribute for Simplified Module Imports
• (iOS En)
Enhancements to ScrollView in iOS 17
• (And Ru)
Кодогенерация. KAPT. KSP. Manual DI
• (And Ru)
Android-разработчик: Middle за 1 год в Казахстане
• (And En)
Full Guide to Manual Dependency Injection + Removing Dagger
• (And En)
How to create an advanced text validation with Combine
• (And En)
Using the Gradle Version Catalog in Android projects
• (Dev Ru)
VR: как это работает
• (Dev Ru)
Podlodka #334: стартап-акселераторы
• (Dev Ru)
Мобильные виджеты
• (Dev Ru)
5 проектов выходного дня, которые значительно повысят ваши навыки кодинга
• (Dev Ru)
Почему стоит вкладываться в опенсорс
• (Mrk Ru)
Как правильно выстроить монетизацию в первую сессию пользователя
Посмотрели/выпустили какое-то другое интересное видео? Отправьте боту🧑🏻💻
У Data.ai и IDC вышел отчет о мировом рынке игр - Gaming Spotlight Report. Из интересного - ATT и введение ограничений на фингерпринтинг, усиление ограничений на использование мобильных устройств подростками в Китае приведут к снижению рынка мобильных игр на 2%.Тем не менее это 108 млрд. долларов и главный сектор игрового рынка, мобильного рынка и вообще.
Разработка
• Треть программистов теряет свои профнавыки на текущем месте работы
• Microsoft закрывает Visual Studio для Mac
• Expected and Actual Mechanism in Kotlin Multiplatform Mobile
• Case Study: Roebuck. UI/UX Design and Illustrations for Educational Mobile App
• Scrum: Failure By Design?
Маркетинг
• yossabourne/my-girlfriends-journey-to-ios-development-5c5112b940bd">Inspiring Story — My Girlfriend Becoming A Self-Taught Developer
• В AppMetrica появились A/B-эксперименты
• «Игровой рынок 2023»: отчет Data.ai и IDC
• Samsung выпустил свое ИИ-приложение с рецептами
Кроссплатформа
• Полное руководство по использованию FVM (Flutter Version Management) – жонглируйте версиями Flutter sdk в своих проектах
• Rare cases When to use RN over Native
• Dart Programming list collection tips & tricks
iOS
• Осваиваем StoreKit 2: SubscriptionStoreView в SwiftUI
• Mastering SwiftUI Custom Modifiers
• Enabling drag reordering in SwiftUI lazy grids and stacks
• Functions and Closures in Swift
#ios
Microsoft закрывает Visual Studio для Mac
Компания Microsoft объявила о прекращении выпуска Visual Studio для Mac.
1. В Visual Studio для Mac больше не будет добавляться никаких новых фреймворков, сред выполнения или новых возможностей для языков.
2. Текущая версия интегрированной среды разработки будет поддерживаться Microsoft до августа 2024 года.
3. Примечательно, что в версии Visual Studio 2022 для Mac была проведена огромная работа по модернизация - сделан нативный пользовательский интерфейс, оптимизация под Apple Silicon, а также впервые была реализована полная 64-битная работа.
4. VS Code для Mac останется и его разработка продолжится.
И что: страшно уже за Xcode 😊 На самом деле странное решение, особенно после таких усилий. Но, наверное, аудитория VS на Mac была не очень большой, так что MS с легкостью ею пожертвовала.
Android
• Why Build a Pattern Library in Jetpack Compose?
• Dagger 2.48 with Dagger and Hilt KSP processors
• Getting Better with Kotlin — Exploring Advanced Features and Effective Coding Strategies
• @Preview Driven Development with Compose
• Mutable State vs. State Management Libraries in Android
#android
🤖 Ты Android разработчик? - Проверь себя, пройди тест!
Хочешь расти дальше и создавать быстрые, оптимизированные приложения для Android - тогда наш курс для тебя!
Пройди тест из 20 вопросов и проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Android Developer. Professional " от OTUS по специальной цене.
Возможна оплата курса в рассрочку
👉 ПРОЙТИ ТЕСТ: https://otus.pw/a9Ma/
Хочешь протестировать учебный процесс заранее? Тогда приходи на открытый урок курса!
▶️ 30 августа в 20:00 открытый урок «Android Internals».Нативная интеграция. Информация о продукте www.otus.ru
Android
• Как повысить яркость экрана в Android-приложении без запроса разрешения
• Ivy Wallet: открытый трекер финансов
• Новый взгляд на аналитику ошибок в production, или работающая альтернатива Crashlytics
• Recreating UseCase: Embracing a Fluent and Fun Approach
• khater/dark-mode-on-android-with-jetpack-compose-using-datastore-bb2a1eff5565">Dark mode on android with Jetpack Compose using dataStore with Hilt
• summitkumar/kotlins-reactive-tools-a-deep-dive-into-rxkotlin-and-flow-part-i-ce9c28db4840">Kotlin’s Reactive Tools: A Deep Dive into RxKotlin and Flow
• Seeing your composable in shades of grey
• mmbialas/become-more-senior-android-developer-with-these-15-android-studio-tips-tricks-part-1-3abbe762e0a9">Become More Senior Android Developer with these 15 Android Studio Tips & Tricks
#android
Опрос про архитектуры
Вопрос применения разных шаблонов меня не оставляет и потому затеял новое исследование:
• Какие архитектурные шаблоны вы используете на работе
• Какие знаете
• Какие используете в пет-проектах
• С какими сложностями сталкиваетесь
Опрос займет несколько минут. Доступен здесь. Результаты будут в канале.
Android
• Konsist: тестирование архитектуры и соглашений языка Kotlin
• Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• Ускоряем сборку за счёт миграции с kapt на ksp
• Запускаем IDEA и CLion на Android
• Empowering Code with High-Order Functions
• An update on Jetpack Compose Accompanist libraries
• Set Activity Screen Brightness without Permission
• A World Beyond Libraries: Cross-Library screenshot tests on Android
• Using the Gradle Version Catalog in Android projects
#android
• Building a widget using Jetpack Glance
⚡️Пройдите тест по Swift и проверьте свои знания.
Ответьте на 20 вопросов и узнайте, насколько вы готовы к обучению на курсе — «iOS Developer. Professional» от OTUS. Курс доступен в рассрочку!
👉🏻 ПРОЙТИ ТЕСТ — https://otus.pw/EXDi/
❗️На курсе вы освоите ключевые особенности Swift 5, сможете определять целесообразность применения паттернов и погрузитесь в нюансы использования Rx.
🎁 Сможете пройти успешно тест — получите доступ к записям прошлых открытых уроков курса!
Нативная интеграция. Информация о продукте www.otus.ru
Доход Gmail вырос в 179 раз с 2021
Вы когда-нибудь видели пейвол в Gmail? Наверняка нет. А он есть!
1. По оценкам AppFigures, в июле чистый доход Gmail только от App Store составил 7.3 млн долл. И это чистый доход, то есть то, что Google получает после того, как Apple забирает свою долю.
2. В январе 2023 эта сумма составляла 5.1 млн. долл., а в январе 2022 — всего 1 млн. долл. Это означает, что чистый доход Gmail за последние полтора года вырос на 630%! А с 2021 года - в 179 раз.
3. Что же продает Gmail? Пространство для хранения. Gmail на iOS предлагает несколько подписок для увеличения объема хранящихся сообщений, причем наиболее популярной сейчас является подписка на 100 ГБ. На Android они работают через приложение Google One, которое уже долгое время является самым высокодоходным приложением в Google Play.
И что: вместо того, чтобы показывать пользователей пейвол в тот момент, когда вы этого хотите, найдите функции, которые нужны вашим пользователям, и убедитесь, что они просто оплачиваются, когда они им действительно нужны. Так вы превратите своих пользователей в платящих клиентов.
Приглашаем на Red Hot Chili Apples — бесплатный митап ЮMoney для iOS-разработчиков
⏰ Митап пройдёт в Санкт-Петербурге и онлайн 29 августа в 18:30 (мск).
Разработчики ЮMoney, Сбера и ВКонтакте поделятся своим опытом, а после докладов вы сможете задать им вопросы.
Темы докладов:
– Кодогенерация из OpenAPI
Узнаем с Дмитрием Шаколо из ЮMoney, как перестать писать код для работы с API и подружиться с кодогенератором.
– Команда Платформы — Сердце Большого Проекта
Как держать пульс технологий, управлять ростом и обеспечивать бесперебойность — откроем для себя роль команды платформы в большой современной разработке. Взгляд изнутри от заядлого платформера Сбера, Миши Харитончика.
– Автоверсионирование и как сделать его правильно
Максим Холявкин из ВКонтакте расскажет зачем нужно автоверсионирование, как сделать так, чтобы было удобно пользоваться, и как делать нельзя.
– Разработка платёжного SDK
Илья Фёдоров расскажет про mSDK ЮMoney, его архитектуру и устройство: как быстро встроить mSDK в мобильные сценарии, чтобы он стал удобным способом принимать деньги.
Все подробности — на сайте. Регистрируйтесь и зовите коллег 💜
Совершенно в тему вчерашнего опроса - совершенно запрещенная Meta выпустила свою модель для генерации кода Code Llama. Умеет генерировать, дополнять, отлаживать код. Отдельно есть LLM для Python и отдельно же есть модель Instrct, которая понимает инструкции на естественном языке. Собственно, теперь из больших остался только Google, который пока так и не выпустил AlphaCode, и Apple, которой все вообще по барабану.
Разработка
• Meta* запускает собственный инструмент для написания кода на основе искусственного интеллекта: Code Llama
• Как продолжать разработку, если бэкенд еще не готов
• В рамках программы First Run Epic предлагает издателям 100% прибыли
• Introducing Code Llama, a state-of-the-art large language model for coding
• Text Rendering Hates You
Маркетинг
• How to Fuel Your Startup’s Growth Engine
Кроссплатформа
• 3 Flutter Open Source Projects That Improve Your Skills
• Simplify Your iOS Brownfield Integration with React Native Host
iOS
• Проверяем ваш код на API, использование которых нужно будет объяснять
• English Pronunciation App: изучение английских слов и их произношения
• Swift и Objective-C в одном SDK. Стерпится, слюбится
• How to set up Gitlab CI/CD with Fastlane for iOS-project on a Mac mini
• Mastering StoreKit 2. SubscriptionStoreView in SwiftUI
• SwiftUI - Circular Loader Animation
• Stop prefixing your UserDefaults keys
#ios
А/Б эксперименты теперь в AppMetrica
С помощью новой фичи продакты и аналитики смогут без лишних усилий тестировать гипотезы, а при успешном прохождении тестов сразу внедрять их из интерфейса AppMetrica.
Новая функциональность дает возможность принимать более рациональные решения и сэкономить время на раскатке изменений на пользователе. Можно опираться на статистику влияния на продуктовые метрики, например, какой лучше повесить баннер или какую выбрать кнопку активации.
Провести одновременно два А/Б теста можно и в бесплатной версии. Решение базовых задач это должно закрыть. Платная версия дает возможность проводить сразу до 100 экспериментов с использованием до 2000 параметров.
Рекламная сеть VK открывает владельцам сайтов и приложений больше возможностей для заработка
VK запустила новый кабинет для партнеров рекламной сети. В нем стало удобнее управлять рекламными блоками и настраивать их дизайн, анализировать статистику, тестировать монетизацию еще неопубликованных приложений и многое другое. Если паблишер раньше работал в кабинете myTarget, все данные можно импортировать в новый кабинет.
Для регистрации можно использовать VK ID или почту. Ознакомиться с инструкцией подробнее можно по ссылке.
Android
• Что такое Kotlin Symbol Processing (KSP)
• RemoteCam: веб-камера для Android
• Вопросы с собеседований: что такое «выведение типов» (type inference) в Kotlin
• Используем UI-тесты для поиска утечек
• Использование Compose для ТВ-версии приложения Иви: мощный фреймворк для создания эффективных Android-приложений
• Top 100 Kotlin Interview Questions and Answers
• balsikandar/at-your-service-android-5271bbc81806">At your Service(Android)
#android
Инженеры AvitoTech разработали инструмент для ускорения автотестов мобильных приложений. Знакомьтесь, Emcee.
Тест-раннер раскидывает тесты на несколько воркеров, параллелит их и формирует единый файл с результатами. Время полного тестирования сокращается в разы, а разработчики освобождаются от рутины.
Можно попробовать бесплатно или сразу разогнать тестирование на полную мощность. Больше подробностей — в официальном канале Emcee.
Подписывайтесь!
Реклама ООО "Авито Тех", ИНН 9710089440
erid: LdtCK4J7b
Не знаю как вы, а я периодически пользуюсь Notepad++ - прекрасный минималистичный открытый редактор ака блокнот с большими возможностями. Занятно, что еще в конце апреля исследователи нашли переполнение буфера с выполнением произвольного кода. За прошедшее время вышло 4 новые версии, а автор так и не исправил их, хотя, собственно, автору сообщили об уязвимости в том же апреле. Смысл а) не надо так; б) ох уж этот open source; в) даже в блокноте могут быть критические уязвимости; г) какой блокнот для кода вы используете?
Разработка
• ИИ Duet стал доступен в Google Workspace
• История разработки приложения для складных смартфонов Samsung. Часть 1
• Не дадим Windows Phone умереть! Как я написал свои клиенты VK, YouTube для Nokia Lumia? Сам себе экосистема ч.2
• Measuring developer productivity? A response to McKinsey
Маркетинг
• Больше возможностей для заработка от рекламы VK
• Маркетологи в мобайле: Дарья Пасюк («Додо Пицца»)
• Don’t look up: Google’s meteor of incompetence will kill thousands of apps in four months
Кроссплатформа
• Вложенная навигация во Flutter: что такое декларативный роутер и зачем он нужен
• Dart 3.1 & a retrospective on functional style programming in Dart 3
• Recreating the Telegram Collapsable Header on iOS using Reanimated
iOS
• Овладеваем StoreKit 2: ProductView и StoreView в SwiftUI
• RxSwift: реактивное расширение для Swift
• Common Pitfalls Caused by Delayed State Updates in SwiftUI
• iOS Deeplink Handling: The Asynchronous Way
• Enabling drag reordering in SwiftUI lazy grids and stacks
• Xcode 15: Automated accessibility audits
• An Unusual Rail Adventure
• Advanced text validation in UIKit with Combine
• Optionals in Swift
• Implementing Polling in SwiftUI
#ios
Я то все гадал, как тот же Google Pay повышает яркость на одном экране, а оказывается это делается одним оператором. Из других новостей - RuStore обязали предустанавливать, даже если производитель ОС против. Раньше это вроде как не касалось параллельного импорта, а теперь магазин стал обязательным для всех (aka как убить хорошую идею обязаловкой). Ну и Google открыл ряд новых интересных картографических API. Есть, например, про пыльцу.
Разработка
• Где платят больше всего в Big Tech: исследование Blind
• Бесплатный курс «LangChain: чат с вашими данными»
• Google открывает API о солнечных возможностях, качестве воздуха и уровне пыльцы
• iPhone 14 Pro Max стал самым продаваемым телефоном в мире
• The Unexpected Find That Freed 20GB of Unused Index Space
Маркетинг
• RuStore станет обязательным для всех
• $6 млн: Kiki — аренда жилья для «друзей»
• Realy — приложение для людей, которым не хватает других людей
Кроссплатформа
• 4.0 Асинхронность. Isolates, потоки, процессы
• dtejaswini.06/hydrated-bloc-in-flutter-simplifying-state-management-258542723a6c">Hydrated Bloc in Flutter: Simplifying State Management
• Top 10 Flutter Apps You Must Make as a Beginner
• alexandersnotes/never-pass-textstyle-to-widgets-56808860085b">Don’t pass TextStyle to Widgets
• Compose Multiplatform 1.5.0 Release
iOS
• Овладеваем StoreKit 2
• Месячная заруба с Apple. Рефакторим бридж. Часть 2
• Park API — Server-Side Swift With Hummingbird
• Transitioning from MVVM to MV: A Journey of Simplifying App Architecture
• Jump 🐒 SwiftUI Coordinator with Router
• walfandi/a-beginners-guide-to-clean-architecture-in-ios-building-better-apps-step-by-step-53e6ec8b3abd">A Beginner’s Guide to Clean Architecture in SwiftUI: Building Better Apps Step by Step
• shiny.shubham/10-lesser-known-lldb-commands-7d9a1d1070d5">10 Lesser Known LLDB Commands used in iOS App development
• Swift’s Secret: Using @_exported attribute for Simplified Module Imports
#ios
Еще в середине 90-ых я учил С++ как раз по учебнику Бьёрна Страуструпа. За прошедшие 30 лет я он получил множество премий, выпустил еще несколько книг, я потерял волосы и стал чем-то на него похожим, и вот выходит его новое видео, в котором он делится советами. О жизни, разработке, карьере. Всего 3 минуты и несколько ключевых советов, так что, наверное, каждый осилит. Как пример: «Вы не можете просто писать код. Вам нужно что-то сделать с культурой и тем, как выражать идеи. Я ни разу не пожалел о времени, потраченном на историю и математику. Математика обостряет ваш ум, а история даёт некоторое представление о ваших ограничениях и о том, что происходит в мире».
Разработка
• (Life) Advice From The Creator of C++
• $235 млн в Серии D: Hugging Face — ИИ-сообщество и инструменты MLOps
• Что такое MLOps
• Монетал — Учет расходов: разбор приложения
• Рецепт юзабилити-тестирования
• Как отдать технический долг
• Trunk based development в мобильной разработке
• How Grab uses Graph Databases to Reduce Fraud
• Ask HN: Where do I find good code to read?
• 8 Reasons Why WhatsApp Was Able to Support 50 Billion Messages a Day With Only 32 Engineers
Маркетинг
• Доход Gmail вырос в 179 раз с 2021
Кроссплатформа
• alexandersnotes/flutter-chopper-authentication-retry-on-401-unauthorized-e0128fb0a7d">Flutter Chopper Authentication + Retry on 401 Unauthorized
• serhiihulenko/kmp-work-with-existing-project-6e7efbcd3a78">KMP: Work with existing project
iOS
• GRDB: удобная работа с SQLite
• Эластичная анимация
• Декларативная навигация в iOS-приложении
• История «Сбербанк Онлайн» на iOS
• Месячная заруба с Apple. Рефакторим бридж. Часть 2
• Расширенное управление памятью с помощью Unsafe Swift
• Making your SwiftData models Codable
• Introducing ObservableConverter
• Scrollable lists using Protocol-Oriented Programming and UICollectionViewCompositionalLayout
#ios
• GRDB – A toolkit for SQLite databases, with a focus on application development
• SwiftData Background Tasks
• Mastering SwiftUI’s zIndex: A Comprehensive Guide
• Swift High Performance: Dictionary Keys
Монетал — Учет расходов: разбор приложения
Разбираю приложение @kruil: Монетал - бесплатный и без рекламы трекер расходов
TLDR: Как пет-проект - превосходно. Но приложение не монетизируется и бизнеса “не ведет”. А тогда для чего оно?
Статья: https://apptractor.ru/info/apps/monetal.html
Если хотите принять участие - оставьте ссылку в форме или напишите в комменты.
Как не забросить построение инфраструктуры
Новый еженедельный дайджест - ровно 111 новостей и статей. Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Там, например, есть "Как работает компьютер - глубокое погружение (на примере Linux)".
💻 Прислать материал для дайджеста можно сюда. А поддержать канал здесь.
Видео и подкасты за неделю:
• (iOS Ru)
Эластичная анимация
• (iOS Ru)
Декларативная навигация в iOS-приложении
• (iOS Ru)
История «Сбербанк Онлайн» на iOS
• (iOS En)
Beyond Basics: Can SwiftUI Handle the Challenge of Complex macOS Apps?
• (iOS En)
Debugging Macros in Swift with the AST Explorer
• (iOS En)
Accessibility in Swift: Dynamic Colors
• (iOS En)
Creating Bottom Sheets like in the "Find My" app using SwiftUI
• (iOS En)
Parallax Carousel Scroll Animation Using SwiftUI
• (iOS En)
iOS 17 Data Flow with Observation Framework
• (And Ru)
Ускоряем сборку за счёт миграции с kapt на ksp
• (And Ru)
Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• (And Ru)
Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• (And En)
Now in Android: 89 - Android 14 Beta 5, Compose for Wear OS, WebGPU, and more!
• (And En)
Full Guide to Bottom Sheets - UX With Material3
• (Dev Ru)
Рецепт юзабилити-тестирования
• (Dev Ru)
Как отдать технический долг
• (Dev Ru)
Trunk based development в мобильной разработке
• (Dev En)
Project IDX: Full-stack application development with generative AI
Посмотрели/выпустили какое-то другое интересное видео? Отправьте боту🧑🏻💻
Android
• Implementing Advanced RecyclerView Techniques for Efficient List Rendering
• mkcode0323/solid-design-principles-with-kotlin-android-69e75a566c41">SOLID Design Principles with Kotlin Android
• Best practices for error handling in Kotlin
• dawinderapps/floatingactionbutton-with-sub-floating-items-in-jetpack-compose-734fac0c9116">FloatingActionButton with Sub Floating Items in Jetpack Compose
• Profile your build
#android
🔥 Разработчик на Android? Прокачай свои знания бесплатно!
Стань более экспертным и востребованным в своей нише вместе с OTUS – приходи на открытый урок «Android Internals» в рамках курса «Android Developer. Professional».
🎙 На уроке рассмотрим:
- различные аспекты Android, включая устройство ядра Linux;
- систему компонентов Android;
- механизмы безопасности;
- меж процессное взаимодействие;
- управление памятью и многое другое.
🟠Вы узнаете о взаимодействии между аппаратным и программным обеспечением, а также о том, как Android обеспечивает безопасность и управление ресурсами.
🔵Не упустите возможность подробнее разобраться в операционной системе вместе с преподавателем-практиком!
Когда: 30 августа в 20:00 мск
Сколько стоит: бесплатно
Как попасть: зарегистрироваться здесь: https://otus.pw/3Qqc/ Нативная интеграция. Информация о продукте www.otus.ru