Рекурсия становится сложнее
Собрал новый еженедельный дайджест - с тако на обложке 🌮 Традиционно поставьте 👍 и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное, возможно и за пределом мобайла. Вот, например, 4 простые привычки в разработке ПО, которые изменили мою производительность.
Собрал новый еженедельный дайджест - с тако на обложке 🌮 Традиционно поставьте 👍 и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное, возможно и за пределом мобайла. Вот, например, 4 простые привычки в разработке ПО, которые изменили мою производительность.
👍17❤1🌭1💅1
Apple представила "условное ценообразование" для подписок
Можно снижать цену в зависимости от подписок на другие другие продукты.
1. Условное ценообразование для подписок в App Store позволяет предоставлять клиентам скидку на подписку до тех пор, пока они активно подписаны на другую подписку.
2. Такое ценообразование может использоваться как для подписок на собственные продукты, так и между двумя разными разработчиками.
3. Покупатели смогут обнаруживать эти ценовые скидки в приложении, во внеплатформенных маркетинговых каналах и в App Store.
4. Apple поможет вам управлять реализацией, обеспечивая клиентам беспрепятственный процесс оформления и покупки на основе предоставленного вами условного ценового предложения.
И что: на заре Интернета были партнерские ссылки, теперь будут партнерские подписки. Но в целом, конечно, удобно🌐
Можно снижать цену в зависимости от подписок на другие другие продукты.
1. Условное ценообразование для подписок в App Store позволяет предоставлять клиентам скидку на подписку до тех пор, пока они активно подписаны на другую подписку.
2. Такое ценообразование может использоваться как для подписок на собственные продукты, так и между двумя разными разработчиками.
3. Покупатели смогут обнаруживать эти ценовые скидки в приложении, во внеплатформенных маркетинговых каналах и в App Store.
4. Apple поможет вам управлять реализацией, обеспечивая клиентам беспрепятственный процесс оформления и покупки на основе предоставленного вами условного ценового предложения.
И что: на заре Интернета были партнерские ссылки, теперь будут партнерские подписки. Но в целом, конечно, удобно
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔4❤3😁2🤡1🌭1
iOS
• Apple представила «условное ценообразование» для подписок
• xcconfig: интеграция в проект, валидация и подключение к Tuist
• Объединяем Combine и Swift Concurrency
• SwiftData как замена CoreData: глубокое погружение
• Маслины и грабли: все, что вам нужно знать о разработке продукта полностью на SwiftUI
• ChatGPT 4 Xcode: интеграция ИИ в Xcode
• Plain Swift - a simple Swift IDE for Windows
• Should you add final to all your Swift classes?
• Decoupled stacked sheet navigation with multiple modals in SwiftUI
• Integrating Haptic Feedback In SwiftUI Projects
• Hierarchical background styles in SwiftUI
• Building Complex Scroll Animations With New iOS 17 APIs
#ios
• Apple представила «условное ценообразование» для подписок
• xcconfig: интеграция в проект, валидация и подключение к Tuist
• Объединяем Combine и Swift Concurrency
• SwiftData как замена CoreData: глубокое погружение
• Маслины и грабли: все, что вам нужно знать о разработке продукта полностью на SwiftUI
• ChatGPT 4 Xcode: интеграция ИИ в Xcode
• Plain Swift - a simple Swift IDE for Windows
• Should you add final to all your Swift classes?
• Decoupled stacked sheet navigation with multiple modals in SwiftUI
• Integrating Haptic Feedback In SwiftUI Projects
• Hierarchical background styles in SwiftUI
• Building Complex Scroll Animations With New iOS 17 APIs
#ios
AppTractor
Apple представила «условное ценообразование» для подписок
По словам Apple, в настоящее время идет пилотное тестирование этой новой функции.
👍4🥱1
Android
Прочитайте мое интервью с Сергеем Опиваловым по поводу его доклада на Mobius про управление сложностью состояния.
• Как управлять сложностью состояния — Сергей Опивалов
• Android-PiP: реализация «картинки в картинке»
• Разработка для нестандартных устройств
• Мок-собеседование по Android System Design
• Android SDK Extensions — новые фичи на старых Android
• Animating Inside and Outside the Box with Jetpack Compose
• The ViewModel’s leaked Flow collectors problem
• Glassmorphic Bottom Navigation in Jetpack Compose
• Building Passive UI in Jetpack Compose
• Kandy: the new Kotlin plotting library by JetBrains
• Demystifying Pixel Shaders (AGSL)
• Don’t use var in enums
#android
Прочитайте мое интервью с Сергеем Опиваловым по поводу его доклада на Mobius про управление сложностью состояния.
• Как управлять сложностью состояния — Сергей Опивалов
• Android-PiP: реализация «картинки в картинке»
• Разработка для нестандартных устройств
• Мок-собеседование по Android System Design
• Android SDK Extensions — новые фичи на старых Android
• Animating Inside and Outside the Box with Jetpack Compose
• The ViewModel’s leaked Flow collectors problem
• Glassmorphic Bottom Navigation in Jetpack Compose
• Building Passive UI in Jetpack Compose
• Kandy: the new Kotlin plotting library by JetBrains
• Demystifying Pixel Shaders (AGSL)
• Don’t use var in enums
#android
AppTractor
Как управлять сложностью состояния — Сергей Опивалов
Сергей Опивалов, Senior Software Engineer в Gradle, на весеннем Мобиусе сделал доклад об управлении сложностью состояния. Я поговорил с Сергеем и обсудил возможности предлагаемого им решения. Начнем с основ. Что такое UDF? UDF — это тренд, который наблюдается…
❤3
Если вы, как и я, интересовались, как Google проиграл там, где Apple выиграла - в The Verge дали вполне доступное объяснение по пунктам. Если вкратце - прецедент в данном случае не работает, сделки Google со сторонними компаниями были сомнительны, суду присяжных объяснять их вопросами бизнеса было сложно, а заговором против Epic - просто, Google удалял улики, что сыграло не в его пользу, ну и наконец - это просто были два совершенно разных дела по определению рынка, на котором образовалась монополи. У Apple это “цифровые мобильные игровые транзакции”, а у Google - “распространение приложений для Android и услуги биллинга в приложениях для Android”. В общем, если вам интересно понимание, крайне рекомендую.
Разработка
• Эпический вопрос: как Google проиграл там, где Apple выиграла
• Как формировать топовые команды
• Ozon Tech Community Techdoc Meetup
• Почему ты пишешь говнокод? Главная причина
• Как подготовиться к собеседованию по System Design мобильному разработчику
• Why do programmers need private offices with doors?
• 8 Simple Steps to Create Crosswords on Any Topic in Minutes Using ChatGPT
Маркетинг
• Количество пользователей социальной сети Jagat превысила 10 миллионов
• Спрос на приложения для ментального здоровья почти сошел на нет
• Самые скачиваемые приложения в мире в ноябре 2023
• Социальная торговая платформа Maka привлекает $2.65 млн для упрощения покупок в Африке
Кроссплатформа
• Модульная запутанность. Как распарсить одну модель в разных модулях
• Создаем federated plugin для Flutter-проекта
• Многомодульность на Flutter или как не выстрелить себе в ногу
• Handle push and locale notifications in your Flutter app
Разработка
• Эпический вопрос: как Google проиграл там, где Apple выиграла
• Как формировать топовые команды
• Ozon Tech Community Techdoc Meetup
• Почему ты пишешь говнокод? Главная причина
• Как подготовиться к собеседованию по System Design мобильному разработчику
• Why do programmers need private offices with doors?
• 8 Simple Steps to Create Crosswords on Any Topic in Minutes Using ChatGPT
Маркетинг
• Количество пользователей социальной сети Jagat превысила 10 миллионов
• Спрос на приложения для ментального здоровья почти сошел на нет
• Самые скачиваемые приложения в мире в ноябре 2023
• Социальная торговая платформа Maka привлекает $2.65 млн для упрощения покупок в Африке
Кроссплатформа
• Модульная запутанность. Как распарсить одну модель в разных модулях
• Создаем federated plugin для Flutter-проекта
• Многомодульность на Flutter или как не выстрелить себе в ногу
• Handle push and locale notifications in your Flutter app
AppTractor
Эпический вопрос: как Google проиграл там, где Apple выиграла
Как Epic могла выиграть у компании, которая бесплатно раздает свою операционную систему с открытым исходным кодом, особенно после того, как проиграла более закрытому конкуренту этой компании?
❤4👍3
iOS
• Google AI SDK for Swift: генеративный ИИ для ваших приложений
• Apple останавливает продажи Apple Watch Series 9/Ultra 2 из-за нарушений патентов
• Stop using MVVM and abusing Observable classes in SwiftUI
• Coordinator Pattern for iOS Apps
• Why I chose The Composable Architecture for SwiftUI and never looked back
• Mastering MapKit in SwiftUI. Interactions.
• Preparing your App for VoiceOver: Accessibility Actions
#ios
• Google AI SDK for Swift: генеративный ИИ для ваших приложений
• Apple останавливает продажи Apple Watch Series 9/Ultra 2 из-за нарушений патентов
• Stop using MVVM and abusing Observable classes in SwiftUI
• Coordinator Pattern for iOS Apps
• Why I chose The Composable Architecture for SwiftUI and never looked back
• Mastering MapKit in SwiftUI. Interactions.
• Preparing your App for VoiceOver: Accessibility Actions
#ios
AppTractor
Google AI SDK for Swift: генеративный ИИ для ваших приложений
Google AI SDK для Swift позволяет разработчикам использовать современные генеративные модели искусственного интеллекта Google (например, Gemini) для создания функций и приложений на базе искусственного интеллекта. Этот SDK поддерживает такие сценарии использования…
👍2
Android
• Создаем пассивный UI в Jetpack Compose
• Google выплатит $700 млн в еще одном споре о Play Store
• Stone. Квалификаторы и идентификаторы
• Unleashing WebSocket in Android?
• Effect Handlers in Jetpack Compose: A Complete Guide
• Kotlin under the hood: how to get rid of recursion
• Foreground Services in Android 14: What’s Changing?
• Multi-Module with Clean Architecture
#android
• Создаем пассивный UI в Jetpack Compose
• Google выплатит $700 млн в еще одном споре о Play Store
• Stone. Квалификаторы и идентификаторы
• Unleashing WebSocket in Android?
• Effect Handlers in Jetpack Compose: A Complete Guide
• Kotlin under the hood: how to get rid of recursion
• Foreground Services in Android 14: What’s Changing?
• Multi-Module with Clean Architecture
#android
AppTractor
Создаем пассивный UI в Jetpack Compose
Пассивный пользовательский интерфейс имеет существенные преимущества перед тем, чтобы запихивать весь код в один компонент, особенно по мере роста сложности данного компонента.
👍3❤1
Случилось забавное - в Internet Archive нашли архив TestFlight с кучей старых игр и приложений на 1.2 ТБ. Напомню, что TestFlight не всегда принадлежал Apple, до 2015 года он был независимой компанией и у него даже был собственный сайт, через который все также тестировали свои сборки. В начале 2015 года он был закрыт, примерно тогда же Архив и получил весь дамп - судя по всему, из-за из неправильно настроенного облачного хранилища. Понятно, что вы не можете просто загрузить одно из старых приложений на свой нынешний телефон и вернуться в прошлое. Но в Discord уже есть сообщество, которое копается в архиве, так что, вероятно, что-нибудь с этим придумают.
Разработка
• В Internet Archive нашли старые приложения и игры из TestFlight
• Что такое мьютекс
• «Додо пИИцца». Как мы внедрили AI в приложение пиццы в Дубае
• Designing Perfect Tabs
• Redesigning our global order tracking experience
Маркетинг
• Маркетологи в мобайле. Итоги года 2023. Часть 1
• Топ быстрорастущих приложений в России в декабре
• Итоги года и планы на 2024 от Adjust
• Using campaign links to track impressions, downloads, and sales
Кроссплатформа
• Transition Animation: настраиваем анимацию переходов во Flutter
• Jetpack Preferences DataStore in Kotlin Multiplatform
Разработка
• В Internet Archive нашли старые приложения и игры из TestFlight
• Что такое мьютекс
• «Додо пИИцца». Как мы внедрили AI в приложение пиццы в Дубае
• Designing Perfect Tabs
• Redesigning our global order tracking experience
Маркетинг
• Маркетологи в мобайле. Итоги года 2023. Часть 1
• Топ быстрорастущих приложений в России в декабре
• Итоги года и планы на 2024 от Adjust
• Using campaign links to track impressions, downloads, and sales
Кроссплатформа
• Transition Animation: настраиваем анимацию переходов во Flutter
• Jetpack Preferences DataStore in Kotlin Multiplatform
AppTractor
В Internet Archive нашли старые приложения и игры из TestFlight
Приложения относятся к периоду с 2012 по 2015 год.
👍3😐1
Android
Посмотрите на все изменения, которые анонсировал Google по результатам вчерашнего дела. Ничего нового, но просто по пунктам.
• Все изменения, которые произойдут в Google Play и загрузке приложений, после урегулирования спора
• Что нового в AOSP 14
• Ludwig: набор UI-компонентов для Jetpack Compose
• Crash Course on the Android UI Layer | Part 2
• Fortifying Android Apps: A Comprehensive Guide to Securing Your App and Codebase with Kotlin
• State Management in Jetpack Compose
• Live Streaming and Audio Equalizer with ExoPlayer in Jetpack Compose
• Android Thread & Relation With Coroutine
#android
Посмотрите на все изменения, которые анонсировал Google по результатам вчерашнего дела. Ничего нового, но просто по пунктам.
• Все изменения, которые произойдут в Google Play и загрузке приложений, после урегулирования спора
• Что нового в AOSP 14
• Ludwig: набор UI-компонентов для Jetpack Compose
• Crash Course on the Android UI Layer | Part 2
• Fortifying Android Apps: A Comprehensive Guide to Securing Your App and Codebase with Kotlin
• State Management in Jetpack Compose
• Live Streaming and Audio Equalizer with ExoPlayer in Jetpack Compose
• Android Thread & Relation With Coroutine
#android
AppTractor
Все изменения, которые произойдут в Google Play и загрузке приложений, после урегулирования спора
Вчера компания Google заявила, что выплатит 700 миллионов долларов — 630 миллионов долларов американским потребителям и 70 долларов в фонд, используемый американскими штатами, — в рамках урегулирования спора о Play Store, который закончился в сентябре. Кроме…
❤2👍2
iOS
• Вопросы с собеседований: коллекции в Swift
• Поваренная книга SwiftUI: состояние, привязка, ObservableObject и ObservedObject
• Как я создаю iOS игру на Unity c использованием MidJourney, ChatGPT, Adobe Firefly и много ручного труда
• How to get the most played Apple Music songs and albums using Swift
• Quick Search with SwiftUI Searchable
• Xcode 15’s Hidden Treasure: Logging Like a Pro 2024
• Swift: Singleton Pattern
• The Case Against [unowned self]
• iOS UI Testing with Deep Links
#ios
• Вопросы с собеседований: коллекции в Swift
• Поваренная книга SwiftUI: состояние, привязка, ObservableObject и ObservedObject
• Как я создаю iOS игру на Unity c использованием MidJourney, ChatGPT, Adobe Firefly и много ручного труда
• How to get the most played Apple Music songs and albums using Swift
• Quick Search with SwiftUI Searchable
• Xcode 15’s Hidden Treasure: Logging Like a Pro 2024
• Swift: Singleton Pattern
• The Case Against [unowned self]
• iOS UI Testing with Deep Links
#ios
AppTractor
Вопросы с собеседований: Коллекции в Swift
В программировании термин
❤1👍1😴1
Вчера у нас маркетологи начали подводить итоги года (кстати, заодно уж хочу обратить внимание на предыдущее огненное интервью Александра Багринцева из Sunlight, одно из самых интересных в цикле), но я о другом. Если у вас (компании, проекта, разработчика, дизайнера и т.п.) есть чем поделиться по итогам года на всю аудиторию - завсегда пожалуйста. Просто напишите и сделаем статью или интервью, пусть даже коротенько (минут на 40 ☺️).
Разработка
• Cоздание идеальных вкладок
• Advice for new software devs who've read all those other advice essays
• I’ve vastly misunderstood the Single Responsibility Principle
• Empirically supported code review best practices
Маркетинг
• Location — cоздатели Zenly выпускают приложение, похожее на Zenly
Кроссплатформа
• Just DUIT — первый взгляд на server-driven UI фреймворк для Flutter
• Flutter and SQLite: A Deep Dive into Local Data Persistence
Разработка
• Cоздание идеальных вкладок
• Advice for new software devs who've read all those other advice essays
• I’ve vastly misunderstood the Single Responsibility Principle
• Empirically supported code review best practices
Маркетинг
• Location — cоздатели Zenly выпускают приложение, похожее на Zenly
Кроссплатформа
• Just DUIT — первый взгляд на server-driven UI фреймворк для Flutter
• Flutter and SQLite: A Deep Dive into Local Data Persistence
AppTractor
Cоздание идеальных вкладок
Вкладки (Tabs) организуют контент в несколько разделов и позволяют пользователям перемещаться между ними.
👍3❤1
Что нового в AOSP 14
После выхода каждой новой версии iOS разработчики делают ее анализ (вот, например, последний). Android исследуют меньше, тем ценнее эти данные. Серджио Прадо и Крис Симмондс недавно рассказали о том, что нового в AOSP 14 в своем видео и опубликовали сводные таблицы.
1. Размер исходников вырос почти в 2 раза - с 87 Гб в AOSP 8 (все дальше сравнивается с ним) до 165 Гб.
2. Таргетов в 3 раза - с 32 до 83.
3. Количество исходников на Rust увеличилось в 8 раз - с 1009 до 8609.
4. Время сборки на стандартной машине увеличилось с 2:30 до 8:50. Объем билда с 87 до 150 Гб.
5. Количество процессов в рантайме 306/288, потоков 1377/13332, системных сервисов 277/303, потребление памяти увеличилось вдвое - с 1.8 до 3.5 Гб.
И что: Android стремительно развивается. Понадобится ли ему замена для слабых телефонов и кто ею станет - вот интересный вопрос.
После выхода каждой новой версии iOS разработчики делают ее анализ (вот, например, последний). Android исследуют меньше, тем ценнее эти данные. Серджио Прадо и Крис Симмондс недавно рассказали о том, что нового в AOSP 14 в своем видео и опубликовали сводные таблицы.
1. Размер исходников вырос почти в 2 раза - с 87 Гб в AOSP 8 (все дальше сравнивается с ним) до 165 Гб.
2. Таргетов в 3 раза - с 32 до 83.
3. Количество исходников на Rust увеличилось в 8 раз - с 1009 до 8609.
4. Время сборки на стандартной машине увеличилось с 2:30 до 8:50. Объем билда с 87 до 150 Гб.
5. Количество процессов в рантайме 306/288, потоков 1377/13332, системных сервисов 277/303, потребление памяти увеличилось вдвое - с 1.8 до 3.5 Гб.
И что: Android стремительно развивается. Понадобится ли ему замена для слабых телефонов и кто ею станет - вот интересный вопрос.
🤯8🤡3❤2✍1👍1
iOS
• BadgeIcon: системные иконки для SwiftUI
• Scalable and Modular System Design for the simplest iOS App
• Creating a Scrolling Parallax Effect with SwiftUI
• SwiftUI View Models: Lifecycle Quirks
• Become More Senior iOS Developer with these 4 Xcode Tips & Tricks
• ❸☻- Simulation Emojimix on Xcode
#ios
• BadgeIcon: системные иконки для SwiftUI
• Scalable and Modular System Design for the simplest iOS App
• Creating a Scrolling Parallax Effect with SwiftUI
• SwiftUI View Models: Lifecycle Quirks
• Become More Senior iOS Developer with these 4 Xcode Tips & Tricks
• ❸☻- Simulation Emojimix on Xcode
#ios
AppTractor
BadgeIcon: системные иконки для SwiftUI
BadgeIcon позволяет использовать в SwiftUI иконки, похожие на те, что вы найдете в системных настройках iOS и macOS. BadgeIcon поставляется с кучей предопределенных иконок, как на рисунке выше, или же вы можете создавать свои собственные.
✍1
Android
• Подключение сканера к Android или как почувствовать себя кассиром
• Do You Have to Learn Clean Architecture as a Beginner?
• Demystifying Kotlin: Understanding the Inner Workings of Inline Functions
• How to handle single-event in Jetpack Compose
• Android Launch Modes Explained
#android
• Подключение сканера к Android или как почувствовать себя кассиром
• Do You Have to Learn Clean Architecture as a Beginner?
• Demystifying Kotlin: Understanding the Inner Workings of Inline Functions
• How to handle single-event in Jetpack Compose
• Android Launch Modes Explained
#android
Хабр
Подключение сканера к Android или как почувствовать себя кассиром
Привет! На связи Константин, Android разработчик Joy Dev. Недавно на одном из проектов мне потребовалась поддержка беспроводного сканера и получение с него данных. Проведя поверхностный поиск, я...
❤2
В AppsFlyer опубликовали 5 трендов 2023 года с их пролонгацией на 2024. Вкратце - затраты на рекламу приложений снизились; неорганические установки iOS выросли на 9% - хороший знак после 15% падения в 2022; доход от покупок в неигровых и игровых приложениях вырос на 19% и 11% соответственно - и это приятно; ремаркетинговые конверсии на Android упали на 9% - Индия и Бразилия подпортили рынок; общее количество загрузок приложений выросло всего на 2% - после 10% роста в 2022 году. В общем ничего необычного, но для укрепления понимания советую почитать.
Разработка
• 13 советов для начинающих разработчиков, которые уже прочитали все остальные советы
• История разработки приложения для складных смартфонов Samsung. Часть 2 — гайдлайны
• Автоматизированное тестирование событий аналитики в мобильном приложении: насколько это реально и оправдано
• How to Scale an App to 10 Million Users on AWS
• We Can’t Hire You
Маркетинг
• Spill, инклюзивная альтернатива X, запускает бету на iOS и Android
• Claim, социальная сеть, позволяющая пользователям зарабатывать и обмениваться вознаграждениями, привлекает $4 млн
• 5 трендов в области маркетинга приложений 2023 — и их проекция на 2024
Кроссплатформа
• Globe (a Flutter & Dart deployment platform) is now in public preview
• How we built it: Ask Dash — A generative AI Flutter application
Разработка
• 13 советов для начинающих разработчиков, которые уже прочитали все остальные советы
• История разработки приложения для складных смартфонов Samsung. Часть 2 — гайдлайны
• Автоматизированное тестирование событий аналитики в мобильном приложении: насколько это реально и оправдано
• How to Scale an App to 10 Million Users on AWS
• We Can’t Hire You
Маркетинг
• Spill, инклюзивная альтернатива X, запускает бету на iOS и Android
• Claim, социальная сеть, позволяющая пользователям зарабатывать и обмениваться вознаграждениями, привлекает $4 млн
• 5 трендов в области маркетинга приложений 2023 — и их проекция на 2024
Кроссплатформа
• Globe (a Flutter & Dart deployment platform) is now in public preview
• How we built it: Ask Dash — A generative AI Flutter application
AppTractor
13 советов для начинающих разработчиков, которые уже прочитали все остальные советы
В конечном итоге никто из нас не может предсказать будущее, так же как никто из нас не мог предсказать настоящее. Просто старайтесь делать все, что в ваших силах, жить в соответствии с вашими ценностями и наслаждаться приключением.
👍2❤1
Forwarded from AppFiles - Mobile Development
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
С вас традиционный 👍 и поделиться подборкой с коллегами!
•
(iOS Ru) Custom Segmented Control•
(iOS En) Building Complex Scroll Animations With New iOS 17 APIs•
(iOS En) SwiftUI Widgets | App Groups | Charts | Expense Tracker App•
(iOS En) How To Create A Submission Form In Xcode 15•
(iOS En) This is the CRAZIEST Swift code you'll ever see•
(iOS En) SwiftData CloudKit•
(iOS En) SwiftUI Animated Toasts•
(And Ru) Как устроен Gradle Config Cache. Лучшие Практики. Интервью с инженером команды Gradle•
(And Ru) Android System Design: делаем библиотеку Firebase•
(And En) (W)rap - Android Developers Backstage•
(And En) Introducing Gemini, Google at NeurIPS 2023, and more dev news!•
(And En) Performance Optimization with @Stable and @Immutable in Jetpack Compose•
(And En) Demystifying Pixel Shaders (AGSL)•
(Crs Ru) Мультиплатформенная разработка на чистой Java•
(Crs En) A novel architecture for Multiplatform applications with Pavel Lahoda•
(Dev Ru) Что такое observability мобильного приложения•
(Dev Ru) Разработка Авто.ру и роль руководителя в команде•
(Dev Ru) Мобильные релизы в Авито•
(Dev Ru) Силиконовая Долина глазами российского разработчика•
(Dev Ru) Релокация на Кипр•
(Dev En) Do You Have to Learn Clean Architecture as a Beginner?С вас традиционный 👍 и поделиться подборкой с коллегами!
AppTractor
Custom Segmented Control
Когда надоела дота, почему бы не раскликаться в Xcode и заодно заработать плюсик в карму.
👍2❤1
Как управлять советами для начинающих
Собрал новый еженедельный дайджест. Если вам понравилось, поставьте 👍 и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное, возможно и за пределом мобайла. Вот, например, 40 лет назад Netscape Navigator 1.0 положил начало тому Интернету, который мы знаем сегодня.
Собрал новый еженедельный дайджест. Если вам понравилось, поставьте 👍 и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное, возможно и за пределом мобайла. Вот, например, 40 лет назад Netscape Navigator 1.0 положил начало тому Интернету, который мы знаем сегодня.
👍3😢1
iOS
• Enchanted: приложение для собственной языковой модели Ollama
• Custom Segmented Control
• Build your first app with SwiftUI and SwiftData
• SwiftUI NavigationSplitView
• Testing SwiftData Migrations
• UI Throwback: Creating a Retro Progress Bar for iOS using CALayers
#ios
• Enchanted: приложение для собственной языковой модели Ollama
• Custom Segmented Control
• Build your first app with SwiftUI and SwiftData
• SwiftUI NavigationSplitView
• Testing SwiftData Migrations
• UI Throwback: Creating a Retro Progress Bar for iOS using CALayers
#ios
AppTractor
Enchanted: приложение для собственной языковой модели Ollama
Enchanted — это элегантное мобильное приложение для iOS/iPad с открытым исходным кодом для общения с приватными языковыми моделями Ollama, такими как Llama 2, Mistral, Vicuna, Starling и другими. По сути, это пользовательский интерфейс приложения ChatGPT…
👍2
Android
• Вопросы с собеседований: Object в Kotlin
• Как устроен Gradle Config Cache. Лучшие Практики. Интервью с инженером команды Gradle
• Android System Design: делаем библиотеку Firebase
• NanoKt: библиотека расширений для Android и Kotlin
• remember «Forever». Как сохранить скролл при уходе с экрана
• Compose walk-through part 2: Managing state
• Live Streaming and Audio Equalizer with ExoPlayer in Jetpack Compose
• How to automate the update process of dependencies?
• Boosting Bazel Adoption on Android With Automation
#android
• Вопросы с собеседований: Object в Kotlin
• Как устроен Gradle Config Cache. Лучшие Практики. Интервью с инженером команды Gradle
• Android System Design: делаем библиотеку Firebase
• NanoKt: библиотека расширений для Android и Kotlin
• remember «Forever». Как сохранить скролл при уходе с экрана
• Compose walk-through part 2: Managing state
• Live Streaming and Audio Equalizer with ExoPlayer in Jetpack Compose
• How to automate the update process of dependencies?
• Boosting Bazel Adoption on Android With Automation
#android
AppTractor
Вопросы с собеседований: Object в Kotlin
В Kotlin ключевое слово Object используется для создания объекта-одиночки (singleton).
🔥2
На прошлой неделе Beeper, который сначала научился прокидывать сообщения в iMessage с Android, а потом отчаянно боролся с рогатками Apple, заявил о прекращении борьбы. “Мы не можем победить в игре в кошки-мышки с крупнейшей компанией на Земле”, - говорят авторы. Хорошее в этом то, что разработчики выложили бридж к iMessage, приложение для Mac и iPhone в открытый доступ. Плохое - то что Apple в очередной раз доказала свои неконкурентные политики. Штош. Будем ждать, когда ЕС признает iMessage платформой и принудит открыть мессенджер.
Разработка
• Beeper отказывается от борьбы с Apple и выкладывает код в open source
• Самые высокооплачиваемые вакансии декабря в сфере разработки приложений
• Тренды UX/UI-дизайна 2024
• Разработка Авто.ру и роль руководителя в команде
• Что такое observability мобильного приложения
• Мобильные релизы в Авито
• Силиконовая Долина глазами российского разработчика
• Релокация на Кипр
• Apple разработала прорывной метод запуска LLM на устройствах с ограниченной памятью
• Секрет внутренней связи: откровения Маруси о том, как она научилась слушать себя
• How to Improve User Experience: Latest UX/UI Design Trends for 2023
• Best engineers are focusing on helping others
Маркетинг
• Рынок приложений 2023 — Ксения Юркина, Apptica
• Маркетинг мобильных приложений на волне роста во всем мире: и вот какие регионы в топе
Кроссплатформа
• Мультиплатформенная разработка на чистой Java
• Integrating Google Sign-In into Kotlin Multiplatform
• How we built the Super Dash demo in Flutter and Flame in just six weeks
• The Problem With State Management, and Why It Shouldn’t Be a Problem
Разработка
• Beeper отказывается от борьбы с Apple и выкладывает код в open source
• Самые высокооплачиваемые вакансии декабря в сфере разработки приложений
• Тренды UX/UI-дизайна 2024
• Разработка Авто.ру и роль руководителя в команде
• Что такое observability мобильного приложения
• Мобильные релизы в Авито
• Силиконовая Долина глазами российского разработчика
• Релокация на Кипр
• Apple разработала прорывной метод запуска LLM на устройствах с ограниченной памятью
• Секрет внутренней связи: откровения Маруси о том, как она научилась слушать себя
• How to Improve User Experience: Latest UX/UI Design Trends for 2023
• Best engineers are focusing on helping others
Маркетинг
• Рынок приложений 2023 — Ксения Юркина, Apptica
• Маркетинг мобильных приложений на волне роста во всем мире: и вот какие регионы в топе
Кроссплатформа
• Мультиплатформенная разработка на чистой Java
• Integrating Google Sign-In into Kotlin Multiplatform
• How we built the Super Dash demo in Flutter and Flame in just six weeks
• The Problem With State Management, and Why It Shouldn’t Be a Problem
AppTractor
Beeper отказывается от борьбы с Apple и выкладывает код в open source
То, что начиналось просто с загрузки приложения Beeper Mini, становится все более сложным процессом для пользователей.
👍5
У трекеров сна лучший год
Отслеживание сна — большой рынок, который вырос на 28% и в 2023 году получил более 22 млн загрузок.
1. Лидеры - Sleep Cycle, ShutEye, BetterSleep и Pokemon Sleep.
2. ShutEye стал самым скачиваемым приложением из трех в 2023 году, получив 9.8 млн новых загрузок — на 51% больше, чем в 2022 году. BetterSleep занимает второе место с 8 млн загрузок, что на 127% больше, чем в прошлом году. А новичок Pokemon Sleep занял 3-е место с 6.7 млн новых скачиваний. Это впечатляющий результат, учитывая, что он был выпущен только летом. Приложение для сна Sleep Cycle заняло 4-е место с 4.8 млн новых загрузок. В отличие от остальных, количество загрузок Sleep Cycle снизилось по сравнению с 2022 годом — на 16%.
3. Загрузки — это хорошо, но доходы — еще лучше. И тут Pokemon Sleep обошел все три старых приложения, даже несмотря на то, что вышел в середине года.
4. Снорлакс заработал 26 миллионов долларов чистого дохода с момента выхода в июле. И что еще более интересно, скорость не снизилась с момента выхода, так что это не просто момент старта. ShutEye занял второе место с 17 млн долларов чистого дохода, а сразу за ним расположился Sleep Cycle с 16 млн долларов чистого дохода. BetterSleep не слишком отстает — 13 млн долларов. Все три компании выросли по сравнению с 2022 годом, но BetterSleep вырос больше всех — на 53% за год, а Sleep Cycle — меньше всех, всего на 2%.
И что: а) рынок сна - большой, и в установках, и в деньгах; б) можно делать 15 лет свое приложение, но придут покемоны и украдут весь сон⛔️ ; в) интересно, что спрос на приложения для ментального здоровья значительно упал, так что может стоит совместить сон с медитациями?
Отслеживание сна — большой рынок, который вырос на 28% и в 2023 году получил более 22 млн загрузок.
1. Лидеры - Sleep Cycle, ShutEye, BetterSleep и Pokemon Sleep.
2. ShutEye стал самым скачиваемым приложением из трех в 2023 году, получив 9.8 млн новых загрузок — на 51% больше, чем в 2022 году. BetterSleep занимает второе место с 8 млн загрузок, что на 127% больше, чем в прошлом году. А новичок Pokemon Sleep занял 3-е место с 6.7 млн новых скачиваний. Это впечатляющий результат, учитывая, что он был выпущен только летом. Приложение для сна Sleep Cycle заняло 4-е место с 4.8 млн новых загрузок. В отличие от остальных, количество загрузок Sleep Cycle снизилось по сравнению с 2022 годом — на 16%.
3. Загрузки — это хорошо, но доходы — еще лучше. И тут Pokemon Sleep обошел все три старых приложения, даже несмотря на то, что вышел в середине года.
4. Снорлакс заработал 26 миллионов долларов чистого дохода с момента выхода в июле. И что еще более интересно, скорость не снизилась с момента выхода, так что это не просто момент старта. ShutEye занял второе место с 17 млн долларов чистого дохода, а сразу за ним расположился Sleep Cycle с 16 млн долларов чистого дохода. BetterSleep не слишком отстает — 13 млн долларов. Все три компании выросли по сравнению с 2022 годом, но BetterSleep вырос больше всех — на 53% за год, а Sleep Cycle — меньше всех, всего на 2%.
И что: а) рынок сна - большой, и в установках, и в деньгах; б) можно делать 15 лет свое приложение, но придут покемоны и украдут весь сон
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4