iOS
• Settings iOS — Настройки на SwiftUI
• Dynamic Library vs. Static Library: Optimising iOS App Performance
• Upload iOS App to TestFlight with GitHub Actions and Fastlane Match – 2024 Tutorial with Example
• SwiftUI Tip: Avoid Nesting ObservableObjects
• Impress at Job Interviews by Inspecting their App Bundle
#ios
Если вы вдохновлены Server Driven UI (он же Backend Driven UI), то почитайте “6 причин не использовать его”. Некоторые, конечно, слегка надуманные (например, зависимость от сетевого подключения - такое впечатление, что автор не знает про кеширование), но в целом здравое зерно есть. Такую категоричность (“SDUI может сделать распределение кода и ответственности беспорядочным и трудноорганизуемым, даже если все находятся на одной волне. Это решение также может лишить вас гибкости в отношении новых решений в области дизайна и функциональности”) вряд ли можно поддержать, но в целом еще один пример того, что к внедрению новых технологий надо подходить со всей настороженностью.
Разработка
• Server Driven UI: 6 причин не использовать его
• Задача на логику из собеседования в Amazon
• Ozon Tech Community TeamLead Meetup
• Как успевать больше, оставаясь эффективным, и не выгореть
• Кайфовый дизайн: Как сделать приложение, которое не захочется удалить
• Less Is More: Principles for Simple Comments
Маркетинг
• У Telegram лучший месяц по доходам
• Самые скачиваемые и зарабатывающие приложения в мире в июле 2024
• The Shippies 2024: Recognizing the best in subscription apps
Кроссплатформа
• Почему вам стоит учить/использовать Kotlin Multiplatform
• mmartosdev/pushing-the-boundaries-of-compose-multiplatform-with-agsl-shaders-d6d47380ba8a">Pushing the Boundaries of Compose Multiplatform with AGSL Shaders
• A deep dive into freezed: Data classes, cloning, and (de)serialization
#mobile
iOS
• Apple все еще стоит на пути магазина приложений Epic
• Профилирование приложений на SwiftUI с помощью Instruments
• На iPhone в ЕС можно будет менять телефон и приложения для обмена сообщениями по умолчанию
• Let’s build iOS 18’s navigation title card in SwiftUI
• SwiftUI for Mac 2024
• Understanding container values in SwiftUI
• Exploring SwiftUI: Working with Rotate Gesture
#ios
У Telegram лучший месяц по доходам
В июле мессенджер Telegram продемонстрировал мощный рост доходов, «сделав» лучший месяц в своей истории.
• Данные App Intelligence от AppFigures показывают, что большую часть этого года рост доходов Telegram практически стагнировал. В среднем мессенджер зарабатывал чуть более $5 млн чистой выручки в месяц (стоит, конечно, отметить, что это выручка только в магазинах приложений, в то время как большинство подписок наверняка оформляется через встроенного бота). В марте было немного выше, но этот всплеск не закрепился.
• В июле чистая выручка Telegram выросла до $7.4 млн. Это не только самый высокий доход за всю историю приложения для обмена сообщениями, но и самый большой рост за один месяц.
И что: интересно, повлияет ли задержание Дурова на доходы? Посмотрим по итогам августа и сентября.
Разработка
• Задачи с собеседований: Leetcode — Является ли число палиндромом
• VK Education открывает набор на бесплатные образовательные IT-курсы
• Как я сделал успешный побочный проект и возненавидел его
• Server Driven UI: 6 reasons to not use it
• How DoorDash Defines Great Engineering Management
Кроссплатформа
• Flutter clean code and best practices
• Comprehensive Guide to Testing Riverpod Providers
iOS
• Руководитель App Store покидает свой пост, Apple готовится к организационным изменениям
• Springboard в iOS падает при вводе четырех символов
• Swift MMIO — типобезопасный MMIO
• SwiftUI+MapKit: Maps, Styles, Overlays and Controls
• Typed throws in Swift
#ios
Как я сделал успешный побочный проект и возненавидел его
Прекрасная история от разработчика нескольких специфических скриптов для построения биржевых графиков. Он создал их на основании своих потребностей, потом организовал продажу и даже заработал на них не такие уж большие деньги. Но потом и сам перестал ими пользоваться, и подвыгорел от общения с толпой бездумных трейдеров и "витринных покупателей".
Ужасная истина, которую большинство программистов усваивают с трудом, заключается в том, что выпуск продукта - это только начало. После его выпуска вам придется его поддерживать: исправлять ошибки, внедрять новые функции, разбираться со спорами или мошенничеством и отвечать на множество писем (часто от любопытных покупателей, которые так и не превращаются в платящих клиентов).
Это легче делать, если у вас больше продуктов и вы занимаетесь массовой поддержкой. Или если ваш проект может заменить вам работу на полный рабочий день, и его поддержка - единственное, чем вы занимаетесь в течение дня. Но если вы занимаетесь этим помимо своей обычной работы, то это ужасная потеря времени. Вам нужно установить определенные границы. Иначе работа над проектом будет занимать все ваше свободное время.
Android
• OTP Helper — автоматическое получение кодов из уведомлений
• mickcolai/guide-to-identify-anr-issues-uncover-the-hidden-culprits-aab4b5d38496">Guide to Identify and Solve ANR Issues: Uncover the Hidden Culprits
• Kotlin reified Explained (no more type erasure)
• Teaching a Composable to jump
• Learn Kotlin and Android With Dove Letter
#android
Вышло интересное сравнение производительности Flutter и React Native. Сравнивали работу большого списка, множества анимаций изображений и множества анимаций Lottie. TLDR: Flutter победил практически во всех трех тестах (кроме анимаций Lottie, но в новой версии Flutter 3.22 производительность рендеринга Lottie значительно улучшилась), причем как по FPS, так и по потреблению памяти и процессора, по размеру приложения и скорости сборки. Впрочем, как справедливо отмечали в комментариях, вакансий все равно на RN больше 👨🏻💻.
Разработка
• Избегайте "неиспользуемых сценариев" в многоуровневой архитектуре
• Crazy debugging stories - Recursion
• Algorithms we develop software by
Маркетинг:
• Топ быстрорастущих приложений в России в августе
• Казуальные игры в первой половине 2024.
Кроссплатформа
• Flutter против React Native — тест производительности
• Flutter: Module-based Code Coverage Thresholds
#mobile
iOS
• STTextView — мощный TextView
• Understanding the @FetchRequest property wrapper in SwiftUI
• How to create custom reusable container views in SwiftUI
#ios
Android
• ByteWeaver. Инструментирование байт-кода во имя великого блага
• Мечтают ли Андроиды о нейропроцессорных модулях? Перенос модели TensorFlow Lite в мобильное приложение
• Building BookMatch: A Journey into AI-Powered Book Recommendations
• Replace Useless Cases with Interfaces
• Nothing is really cool in Kotlin
• Forbidden Love of Preference and DataStore
#android
🔥 Хотите научиться писать сетевой слой для iOS-приложений и подключать его к SwiftUI?
👉 Ждем вас на открытом вебинаре 22 августа в 20:00 мск, где мы разберём:
- как писать сетевой слой приложения оптимально;
- как подключать его к приложению на SwiftUI;
- чем нативный фреймворк отличается от Alamofire и Moya.
🔆 Урок подходит начинающим и продолжающим iOS-разработчикам.
👉 Встречаемся в преддверии старта курса «Специализация iOS Developer». Все участники вебинара получат специальную цену на обучение! 🔥
Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/czm6cB
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Основы излишеств
Новая еженедельная подборка - закрытие CocoaPods и излишества чистой архитектуры, деструктуризация в Kotlin с примерами и знакомство с Flutter GPU, архитектура мобильного приложения в разрезе высоких нагрузок и построения экосистем, кто может стать программистом, сокращение количества вакансий для разработчиков и многое другое.
После пандемического бума количество вакансий для разработчиков сократилось до минимума с 2020 года. Если за 100 взять 1 февраля 2020 года, то пик в 230 был в начале 2022 года, а потом все время шел спад. Сейчас индекс - 69. Интерпретировать это можно как перенастройку после чрезмерного найма в период пандемии. Аналогичным образом, результаты опроса разработчиков Stack Overflow за 2024 год показали, что средняя зарплата разработчиков снизилась на 10 тысяч долларов. Это так же можно рассматривать как восстановление статус-кво после предложения аномально высоких ставок в период карантина. Маленький свет в конце - прогноз Бюро трудовой статистики США на декаду обнадеживает, ставя разработчика программного обеспечения на второе место в списке профессий с наибольшим ростом — в стране по прогнозу появится более 400 тыс. новых рабочих мест.
Разработка
• Количество вакансий для разработчиков сокращается
• Как провести IT-обучение и не остаться в пустой аудитории. Опыт подготовки команды к SwiftUI и лайфхаки для менторов
• Вредные советы, как приходить с вопросами к техлиду
• Practices of Reliable Software Design
• Apple Design Award Winner Devin Davies Shares His Learning Strategies
Маркетинг:
• Spotify начал показывать цену на сайте в iOS
Кроссплатформа
• Как мы создали приложение для ТСД на Flutter с интеграцией 1С и внедрили его на 200 фабриках в Китае
• Полный гайд по тестированию на Flutter. Часть 9: Best practices написания Unit-тестов
• swathirandillath0/ensuring-seamless-user-experience-implementing-in-app-updates-in-flutter-7100e3acdbb7">Ensuring Seamless User Experience: Implementing In-App Updates in Flutter
#mobiledev
The Shippies - первый конкурс RevenueCat для приложений с подпиской
The Shippies - это первая награда RevenueCat за выдающиеся достижения в области приложений с подпиской. На ежегодной конференции App Growth компания наградит самые инновационные, удобные и успешные приложения года.
• Конкурс открыт для всех приложений, независимо от того, используют они платформу RevenueCat или нет.
• Всего в нем 6 категорий — лучшее новое приложение, лучшее новое приложение от соло-разработчика, лучший опыт онбординга, лучшая стратегия монетизации, лучшая стратегия уменьшения оттока пользователей, лучший дизайн пейвола.
• Выигравшие приложения будут выбираться экспертами компании и рядом привлеченных профессионалов.
• Прием заявок идет до 3 сентября.
Android
• ArtMaker — рисование с Jetpack Compose
• Фантастические баги: как их ловить и править
• Reorderable — перетаскивание элементов в Lists и Grids в Jetpack Compose
• Effective Map Composables: Draggable Markers
• Kotlin Granular Analytics With Lifecycle Delegate
• Add powerful analytics modifiers in Jetpack Compose with ModifierLocal
• Strikt Unit Testing In Kotlin
• Adding 16 KB Page Size to Android
#android
Куда и как расти IT-специалисту — разберём на конкретных примерах
Чувствуете, что достигли потолка, и не понимаете, куда двигаться дальше? Хотите расти в должности и доходе, но не знаете, какие скилы нужно осваивать для этого? На все эти и другие вопросы ответим на большом онлайн-событии.
Разработчик, проджект, аналитик и дизайнер из IT-компании ecom.tech расскажут, как выросли до руководителей. Обсудим на конкретных примерах, как и куда развиваться, чтобы повысить свой уровень и получить новую должность.
→ Бесплатно, 28 августа в 19:00 мск
Вы узнаете:
— какие навыки прокачивать, чтобы повысить свой уровень;
— куда и как расти в карьере разным IT-специалистам;
— что должны уметь джун, мидл и синьор;
— как устроен рабочий день в ecom.tech;
— как руководители стали руководителями — истории пути;
— какая ситуация на рынке труда и как сейчас проходит найм.
Спикеры:
◾️Владимир Тимошенко — технический руководитель продукта
◾️Александр Маркин — руководитель группы логистических кросс-продуктовых проектов
◾️Сергей Коваленко — руководитель направления продуктовой архитектуры
◾️Дмитрий Деменков — руководитель отдела машинного обучения коммерческих продуктов
◾️Иван Емелюшкин — старший продуктовый дизайнер
→ Зарегистрируйтесь на онлайн-событие
Видео и подкасты за неделю @AppFiles
• (iOS En)
SwiftUI App Theme Switcher - iOS 17 & 18
• (iOS En)
SwiftUI Task Modifier Lifecycle Handling
• (iOS En)
MeshGradients in iOS 18 and Xcode 15
• (iOS En)
Floating Tab Bar - iOS 17 & 18
• (And Ru)
Фантастические баги: как их ловить и править
• (And En)
Fragments in Compose
• (And En)
How to Show Snackbars From ANY Place In Your Compose App
• (And En)
How to Render PDFs on Android in Jetpack Compose (+ Search Function!)
• (And En)
Going fast with Kotlin
• (And En)
From Code to Streams
• (And En)
Dynamic Exploration of Static Analysis with Compose
• (And En)
Applying the Decorator Pattern in Kotlin
• (Crs Ru)
Почему вам стоит учить/использовать Kotlin Multiplatform
• (Crs En)
The rollercoaster of releasing an Android, iOS, and macOS app with KMP
• (Crs En)
Using C & native platforms in Kotlin: Building a multi-platform advanced library
• (Crs En)
Mastering Concurrency: End to End Stress Testing with Kotlin Multiplatform
• (Crs En)
React Native MacOS App Tutorial – Book Management System
• (Dev Ru)
Задача на логику из собеседования в Amazon
• (Dev Ru)
Ozon Tech Community TeamLead Meetup
• (Dev Ru)
Как успевать больше, оставаясь эффективным, и не выгореть
#ios #android #mobile #video
Android
• Kotlin 2.0.20 Released
• dobri.kostadinov/jetpack-compose-top-10-mistake-we-all-have-made-a324b52366b8">Jetpack Compose: Top 10 mistake we all have made
#android #kotlin
Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.
Ближайшие Fast Track мероприятия:
• 7-8 сентября — для Android- и iOS-разработчиков, офер за 2 дня в команды Еды и Лавки.
Кстати, вчера еще обозрел топ быстрорастущих приложений в России и на первом месте в росте по выручке - Owl Diary: For Owlet. Снаружи выглядит как приложение для любителей сов 🙈, но, вероятно, "совы не то, чем кажутся" - очень смущает "возраст 17"+и "большое/значительное количество тем откровенного содержания, предназначенные только для взрослых". ХЗ что там на самом деле (ставлю на подобие Chaturbate) - посмотрите кто отважный, расскажите потом нам всем. Ну и как обычно вопрос к модераторам Apple - как такое пропустили 🦉
Разработка
• Exploring Indie Life: Reducing Friction by Analytics
• tarang0510/the-2024-landscape-of-mobile-apps-development-8323a7a383b0">The 2024 Landscape of Mobile Apps Development
• I've Built My First Successful Side Project, and I Hate It
Маркетинг
• Конструктор графики для App Store и Google Play
Кроссплатформа
• Валидация форм во Flutter как PRO. Мастер-класс по использованию form_model и BLoC
• Flutter: Google Maps Autocomplete SearchBar with Debouncing
iOS
• Concurrency шаг за шагом — сетевой запрос
• От Cocoapods к Tuist+SPM быстрыми шагами
• Performance Testing для iOS
• jpmtech/creating-a-swipeable-view-that-is-backward-compatible-with-ios-16-aa6b3ab3e624">Creating a Swipeable View that is Backward Compatible with iOS 16
• The Hidden Treasures of Crash Reports
• techmsy/exploring-interactive-and-useful-features-in-swift-6-dbe79ad47222">Exploring Interactive and Useful Features in Swift 6
#ios
Android
• Google закрывает Google Play Security Reward Program
• Модульное тестирование с помощью JUnit в Android
• Как ошибки в коде вдохновили разработчика создать инструмент, которым теперь пользуются крупные российские IT-компании
• Understanding Side -effects in Jetpack Compose
• Quickly Toggle Between Artifactory and Local Android Libraries
• abhishekdubey331/effortless-account-switching-automate-your-android-app-login-flow-with-python-and-adb-8a5aea83924d">Boost Developer Efficiency: Automate Android Login Workflows with ADB and Python
• Designing Effective UIs For Enhancing Compose Previews
#android
Кстати, Epic на прошлой неделе отметилась сразу в двух магазинах. Я писал, что на iOS запустился Epic Games Store с Fortnite, но так же AltStore PAL получил MegaGrant (премии впервые объявили в 2019 году, они выделяются из фонда Epic Games в размере 100 миллионов долларов, предназначенного для поддержки разработчиков) и теперь может не брать с пользователей подписку. Точная сумма полученных от Epic средств неизвестна, но вроде как ее должно хватить на выплату Apple всего Core Technology Fee для стороннего магазина. Так что теперь на платформе как минимум два бесплатных сторонних магазина приложений.
Разработка
• CodeRabbit получил $16 млн на ИИ для Code Review
• Как делать что угодно очень быстро
• Как пользоваться DivKit
• VK Звонки: поднимаем планку качества WebRTC-звонков
• 30 вопросов команде и себе — техника и практика формулировка хороших вопросов
• Кто реально может стать программистом?
• Project Management Flow for Indies
• How to get from high school math to cutting-edge ML/AI
Маркетинг
• Кто тратит больше всего денег в приложениях
• Почему CapCut может отказаться от бесплатных пользователей?
• Epic Games предоставила грант AltStore PAL и тот стал бесплатным
Кроссплатформа
• BookMatch — BB рекомендации книг на KMP
• Создание indoor-карты здания во Flutter
• Почему вам не нужен Kotlin Multiplatform
• Flutter Vs React Native : Performance Benchmarks you can’t miss
#mobile
iOS
• Поиск работы iOS разработчиком в текущих условиях 2024
• Epic Games Store с Fortnite запустился на iOS
• Apple Search Ads заблокировали для российских аккаунтов
• PhraseKit — случайные, но читаемые фразы
• 5 рандомных вопросов на собеседовании iOS разработчика
• Отслеживание утечек памяти в iOS-приложении со SwiftUI в Runtime
• An Initial Hands-On with SwiftCloud
• Disabling Xcode Asset Symbol Generation
• Exploring SwiftUI: Creating a Playful Onboarding Screen
#ios
🌐🤖 Продвижение в сторах 2024
О большом потоке халявных органических пользователей из сторов грезит каждый первый владелец приложений. Хотите, узнать как их получить? Записывайтесь на вебинар «Тенденции и успешные кейсы продвижения в сторах: итоги лета 2024».
Темы:
• стратегии продвижения в поиске и работе с репутацией, которые принесут максимум результата
• как работают CSL (Custom Store Listing) под поисковые запросы в Google Play и почему их стоит использовать
• какие возможности для органического продвижения дают новые ASO-инструменты
• всё о новом функционале платформы Appbooster: мотив на зарубежные страны для Android, мультишаговые офферы, корректировка рейтинга, CPE-офферы для iOS.
Когда: 22 августа (чт) 16:00 мск
Длительность: 1-1,5 ч
Стоимость: бесплатно
Зарегистрироваться на вебинар
Реклама. ООО "АППБУСТЕР". ИНН 6316226020. erid: LjN8KMmnT
Epic Games Store с Fortnite запустился на iOS
Fortnite наконец-то вернулся на iOS, спустя чуть более четырех лет после того, как Apple удалила игру из iOS App Store, но доступна она только в ЕС. Игра запускается сегодня как в новой версии Epic Games Store для iPhone, так и через AltStore PAL, другой сторонний магазин приложений. Магазин Epic Games Store также запускается сегодня для пользователей Android по всему миру.
В настоящее время в мобильном Epic Games Store представлено всего три игры, но компания уже ведет переговоры со сторонними мобильными разработчиками.
По словам вице-президента и генерального директора Epic Games Store Стива Эллисона, в декабре Epic планирует представить в мобильном магазине «курируемый» выбор игр от сторонних разработчиков, а самопубликация (которая уже возможна на ПК) появится в начале 2025 года. Epic также планирует перенести в магазин «все», что предлагает на ПК: 88% долю доходов для разработчиков, бесплатные игры для игроков и возможность для разработчиков использовать свои собственные платежные платформы.
Видео и подкасты за неделю @AppFiles
• (iOS Ru)
Поиск работы iOS разработчиком в текущих условиях 2024
• (iOS En)
Expandable Search Bar + Progressive Blur Effect
• (iOS En)
iOS 18 SwiftUI ScrollView DeepDive
• (iOS En)
SwiftUI: Test Push Notifications With iOS Simulators
• (And Ru)
ByteWeaver. Инструментирование байт-кода во имя великого блага
• (And En)
How to Get Access to ALL External Media Files (Works on Android 15!)
• (And En)
How to Pass Custom NavTypes in Compose Type-Safe Navigation
• (And En)
Kotlin's Elegant Deceptions Simple APIs, Unusual Tactics
• (And En)
Harmonizing Kotlin codebases with Konsist
• (And En)
Android, Compose, Multiplatform & Server - Inject them all with Koin
• (And En)
Elevating Android App Resilience: Incident Management Strategies
• (Crs Ru)
Почему вам не нужен Kotlin Multiplatform
• (Crs Ru)
Создание indoor-карты здания во Flutter
• (Crs En)
Diving into Advanced Compose Multiplatform Modifiers and Their Impact on Multiplatform Development
• (Dev Ru)
Кто реально может стать программистом?
• (Dev Ru)
30 вопросов команде и себе — техника и практика формулировка хороших вопросов
• (Dev Ru)
VK Звонки: поднимаем планку качества WebRTC-звонков
• (Dev Ru)
Как пользоваться DivKit
• (Dev En)
Kotlin for Data Analysis: Exploring Dataframes and Visualizations in Notebooks
• (Dev En)
AWS Certified Developer Associate Certification Course
• (Dsg En)
Design a Car mobile app for iOS 18 in Figma
Что вы посмотрели за неделю?
#ios #android #mobile #video
Android
• Деструктуризация в Kotlin с примерами
• Jetpack Compose Endless Horizontal Pager Animation — демо горизонтального пейджера
• Prefer Composition over Inheritance
• Android Process Lifecycle + Coroutines == ❤️
• Advanced Bottom Sheet With Flexible Configuration for Compose
#android