iOS
• Знакомимся с пакетом Swift Algorithms
• Топ-5 распространенных практик написания хорошего Swift-кода
• Как устроен @State в SwiftUI
• iOS Mobile App Security: Best Practices for iOS Mobile Developers
• Understanding Once and For All SwiftUI Alignment Guides
• SwiftUI Field Guide
#ios
Еще одно интересное в своей идее приложение - Fantasy Hike. Внутри это фитнес-трекер, который считает шаги, снаружи это путешествие в Мордор в попытке уничтожить Кольцо Всевластия 🌋. Приложение отслеживает ваш ежедневный прогресс, рассчитывает, когда вы прибудете к своей огненной цели, предоставляет уведомления о важных сюжетных событиях и позволяет соревноваться не только с основным оригинальным “носителем”, но и с другими персонажами. При среднем прохождении 5 километров в день вы достигнете Огненной горы через 1 год и 228 дней. Вполне достаточно, чтобы полюбить ходьбу. А как вы можете применить сеттинг “Властелина колец” в вашем приложении?
Разработка
• Chat with RTX от NVIDIA позволяет запускать генеративные модели на ПК
• The power of product principles
• How to create the perfect icon
• Reverse-engineering an encrypted IoT protocol
• Maybe Everything Is a Coroutine
Маркетинг
• Fantasy Hike — фитнес-трекер по мотивам «Властелина колец»
• iMessage в ЕС не будет считаться платформенным сервисом
Кроссплатформа
• Debug your Flutter App like a Pro with these 5 Tips & Tricks
• A PocketBase backend for Flutter and Dart
iOS
• OKLCHGradient: OKLCH градиенты для SwiftUI
• Камера как сканер штрих-кодов: проблемы, инструменты и эксперименты
• Automating app releases for multiple platforms with Xcode Cloud
• Self vs self in Swift – Find out the differences with practical examples
• SwiftConf '23 Videos
• iOS Interview Guide: Equatable Protocol
#ios
На сладкое - дейтинг для ПК-бояр состоятельных господ. Не, серьезно. Каких только дейтингов мы не видели. Но вот приложение Score, запущенное сегодня финансовой платформой Neon Money Club, предназначено для знакомств людей с хорошим и отличным кредитным рейтингом. Фоново говорят, что оно призвано помочь повысить осведомленность о важности финансов в отношениях, что кредитный рейтинг не равно состоятельность и прочие интересные вещи, но вне этого, конечно, сама идея оригинальностью не блещет.
Разработка
• Что ждёт мобильную разработку в 2024 году
• The UX of Threads’ downfall
• (Almost) Every infrastructure decision I endorse or regret after 4 years running infrastructure at a startup
Маркетинг
• Score — новое дейтинг приложение для людей с хорошей кредитоспособностью
Кроссплатформа
• Организация “глобальных” провайдеров во Flutter Riverpod с помощью миксинов
• iOS Development With Kotlin Multiplatform: Tips and Tricks
• From Native to React Native to Flutter
iOS
• Автоматический аудит доступности SwiftUI в Xcode 15
• Опровергаю пять архитектурных заблуждений
• expertappdevs/sorting-out-your-app-architecture-with-swiftui-design-patterns-013248907e93">Sorting Out Your App Architecture With SwiftUI Design Patterns
• Exploring SwiftUI Property Wrappers: @FetchRequest, @SectionedFetchRequest, @Query, @Namespace, @Bindable
• How to use @ScaledMetric in SwiftUI for Dynamic Type support
• Discovering Swift Algorithms package
• Getting started with Apollo iOS for GraphQL with Swift
#ios
Сегодня последний день в опросе Developer Nation, так что всех призываю еще раз воспользоваться шансом - пройти опрос, внести свой вклад в будущее сообщества и получить ценные призы, вплоть до MacBook Pro 13" M2.
Разработка
• CodeSignal запускает платформу обучения с ИИ-помощником
• 7 must-know object-oriented software patterns (and their pitfalls)
• Mobile search: which pattern should you choose?
Маркетинг
• Сколько зарабатывает Medium на мобильных подписках?
• How to get your first 10,000 mobile app installs
Кроссплатформа
• hello_chirag/top-6-react-native-best-practices-for-2024-d90763aeedfc">Top 6 React Native Best Practices for 2024
• Extreme UI Adaptability in Flutter — How Google Earth supports every use case on earth
iOS
• Масштабирование iOS в Bumble: вызовы
• Как поддерживать недельный релизный цикл и ничего не забывать
• Вопросы с собеседований: Что такое модификатор памяти weak в Swift
• Delta: эмулятор классических видеоигр для iOS
• Disabling Core Data CloudKit Logging
• Screen vs View in SwiftUI
• Create an animated transition with Matched Geometry Effect in SwiftUI
• Senior iOS Tip: Xcode Templates
#ios
Пришел порекомендовать вам онлайн-вебинар, пропустить который будет большим упущением!
Тема: «Реклама в вашем приложении: от регистрации в РСЯ до начала монетизации»
Дата и время: 14 февраля 12:00
Разберемся с экспертом, как зарегистрироваться в Рекламной сети Яндекса, интегрировать Yandex Mobile Ads SDK в приложение на Android, настроить свой первый рекламный блок, начать показ рекламы и получать доход.
Регистрируйтесь прямо сейчас — будет полезно и интересно https://bit.ly/3SVZPrp?erid=LdtCJxq7T
Кто ты, обманывающий на технических собеседованиях?
Подборка всех материалов за прошлую неделю - SwiftData и код доставки пиццы на Android, будущее swift-testing и мастерство программирования, обман на технических собеседованиях с помощью ChatGPT, самые скачиваемые и зарабатывающие приложения в России в январе, Мобильные игры в продуктовых приложениях и многое другое!
С мест докладывают, что в бете 17.4 для европейского союза перестали работать PWA-приложения. Вместо этого они открываются в Safari. Как шутят в Х, “наконец-то iOS одинаково относится ко всем браузерам, когда дело доходит до PWA. Раньше только Safari мог устанавливать и запускать PWA-приложения. С выходом бета-версии iOS 17.4 в ЕС ни один браузер не может устанавливать PWA-приложения, даже Safari”. Судя по всему, связано это с внедрением альтернативных браузеров, так что все в стиле Apple - “черт с ними, сделаем, но чтобы все взвыли”.
Разработка
• Apple продолжает работу над складными устройствами
• Новая ИИ модель Apple может редактировать изображения с помощью естественного языка
• Design Perfect Date Picker
Маркетинг
• SocialPeta выпустила Глобальный Аналитический Доклад о мобильных приложениях за 2023 год
Кроссплатформа
• Реализация чата на Flutter при помощи вебсокетов
• Как создать shader в Flutter для эффектной анимации в приложении?
• Best Flutter Packages Of 2023
• narendardiscover/flutter-screen-navigation-d49349178f11">Flutter: Screen Navigation
• Tracking Lifecycle changes in Compose Multiplatform: IOS and Android
iOS
• Glur: прогрессивный блюр для SwiftUI
• Записываем видео App Preview в симуляторе Xcode
• Стеки и Очереди в Swift
• Using SwiftNIO - Channels
• The power of self-sufficient features
• What is @testable Annotation in Swift?
• jipedev/first-thoughs-about-the-composable-architecture-in-ios-f2dff99216f5">First thoughs about The Composable Architecture in iOS
• sharmadhruv1516/building-a-passcode-lock-screen-in-swiftui-a-step-by-step-guide-3870b06f76df">Building a Passcode Lock Screen in SwiftUI: A Step-by-Step Guide
#ios
А Android 15 готовится облегчить использование смартфона для пожилых
В Android 14 QPR3 вы можете обнаружить скрытую страницу для новой функции под названием Easy pre-set. Этот режим, судя по всему, призван облегчить использование Android для людей, которые не так подкованы в технологиях или у которых могут быть проблемы со зрением.
1. Согласно строкам конфигурации, простой режим оптимизирует пользовательский интерфейс Android для "улучшения читаемости и простоты навигации". В частности, он "увеличивает иконки и текст, добавляет контрастность и жирный шрифт, а также добавляет кнопки навигации в нижнюю часть экрана".
2. Хотя можно вручную запустить страницу настроек для новой функции легкой предварительной настройки, включить новый режим пока невозможно.
3. Хотя эта функция присутствует в версии Android 14 QPR3 Beta 1, маловероятно, что Google планирует выпустить ее вместе со стабильным обновлением Android 14 QPR3 в июне. Более вероятно, что она выйдет в составе Android 15 позже в этом году
И что: многие другие OEM-производители предлагают подобную функцию, а в Google Play есть сторонние лаунчеры, предназначенные для пожилых или менее подкованных в технике людей. Но все равно приятно видеть, что Google добавляет подобную функцию в стоковую версию Android.
Android
• Apk.sh: реврерс-инжиниринг Android-приложений
• Intersection Types in Kotlin
• Kotlin’s Sealed Interfaces in Android
• Jetpack Compose 🚀 Beginner’s Series
#android
Вчера еще обозрел топ скачиваемых и зарабатывающих приложений в России и, в общем-то, там без особых изменения. Зато занятно было понаблюдать за всплеском Wink - в ноябре на фоне запуска “Слова пацана” он поднялся аж на 161 позицию в топе, в декабре стал номером 1(!) по загрузкам, а в январе снова отправился в "отрицательный рост" - в прошлом месяце он был уже 18. Попутно приложение выпилили из App Store, так что сказать о доходах практически невозможно, да и думается большинство подписок идет через сайт. Но как один сериал бустанул приложение - эталонный кейс :) Если кто читает из Wink - напишите, сделаем интервью.
Разработка
• Когда следует отказаться от проекта, который не работает?
• Эксперимент: насколько сложно обмануть на технических собеседованиях с помощью ChatGPT?
• В Roblox заработал переводчик чатов в реальном времени на основе ИИ
• Scaling smoothly: RevenueCat’s data-caching techniques for 1.2 billion daily API requests
• GitHub Actions: Introducing the new M1 macOS runner available to open source!
• Why We Can't Have Nice Software
Маркетинг
• Three core psychological factors in marketing (and how to integrate them)
Кроссплатформа
• DVDB: кроссплатформенная векторная база данных
• How to use Resources in Compose Multiplatform
• Flutter Testing: A Comprehensive Guide to Unit, Widget, and Integration Testing
Пиратское приложение Kimi вышло в лидеры App Store
На прошлой неделе приложение под названием Kimi обогнало известные потоковые сервисы, такие как Netflix и Prime Video, в списке лучших бесплатных развлекательных приложений App Store.
1. Внешне Kimi было замаскировано под приложение, которое проверяет зрение, заставляя вас играть в "найди разницу" на похожих фотографиях.
2. На самом деле оно ничего подобного не делало и содержало пиратские передачи и фильмы, включая недавние блокбастеры и отмеченные наградами ленты.
3. Приложение было впервые одобрено в сентябре, но примечательно, что оно даже не маскировалось под тонкой оболочкой легальности. Вы открывали его, а там только фильмы и шоу. Нет ни заставки, ни трюка, чтобы разблокировать настоящее приложение.
4. Сейчас приложение удалено, но на это понадобились публикации в топовых изданиях и, соответственно, полгода.
И что: Apple гордится своей конфиденциальностью и безопасностью, а также тем, что приложения, которые она делает доступными для загрузки, соответствуют всем ее требованиям. Например, компания заявила, что любой альтернативный магазин приложений, который попадет на платформы, должен будет иметь строгие правила и инструменты модерации, сравнимые с ее собственными. Как самой Apple начать соответствовать своим правилам, тогда не уточнялось.
Android
Посмотрите новое интервью с Андреем Белоусом о том, куда движется Android и мобильная разработка!
• Тренды Android-разработки
• Вопросы с собеседований: Как в Android определяется приоритет приложений перед системой
• App shortcuts в Android
• Compose Multiplatform Made easy with Circuit
• The Future of Android Development is Here: Meet Studio Bot, Your AI Co-Pilot
• Exploring Kotlin’s Sealed Interface: A Comprehensive Guide for Android Developers
• vishalvis02/kotlin-performance-tuning-20-best-practices-you-should-know-55a922e838dd">Optimizing Kotlin Performance: Essential Practices You Need to Master
#android
Ищите дизайнера для вашего приложения?
Работая с нами, вы получите красивый дизайн приложения, который соответствует всем требованиям Арр Store и Google Play.
Мы придумаем креативные решения для ваших экранов, подберем оптимальные размеры всех текстов и кнопок. Из-за грамотного расположения элементов на экранах, пользователю вашего приложения будет удобно и комфортно его использовать.
Мы очень качественно подходим к работе с нашими клиентами: постоянно на связи; оперативно сообщаем вам, на каком этапе работы ваш проект; присылаем работу для внесения правок.
Наш канал - @it_perfection
Для заказа дизайна пишите - @DenisGlav
Android
• Kotlin Cheatsheet: краткий справочник по Kotlin
• Material Design 3 для Compose 1.2
• Техническое собеседование инженеров мобильной разработки в RuStore
• How to Implement Swipe to Delete with Material3
• Modern Android Development in 2024
• Speeding up isBlank()
• Material Design 3 for Compose 1.2
• How to integrate Google sign-in with Credential Manager on Jetpack Compose with Supabase Auth
#android
Material Design 3 для Compose 1.2
Вышел релиз 1.2 Compose Material 3, в котором появились новые компоненты, некоторые изменения в старых компонентах и расширение системы цветов Material3.
Статья: https://apptractor.ru/info/articles/material-design-3-dlya-compose-1-2.html
Платформа: Android
Android
• Предварительный просмотр представлений Jetpack Compose за считанные секунды
• Podcaster: реализация Jetpack Media3 в реальном приложении
• Запускаем автотесты Android на EMCEE
• Мобильные игры в продуктовых приложениях
• Разбор кода приложения по доставке пиццы
• В Android Studio заработал Device streaming
• Изи freestyle Android приложения на Kivy (Python), Google collab и ваш не любимый ChatGPT
• What Every Android Developer Should Have in Their GitHub?
• Abstraction design: Introduction
• Crafting Android bytecode analysis tooling using a secret ingredient
• How We Made the CES 2024 AR Experience: Android Virtual Guide, powered by Geospatial Creator
• Jetpack Compose: Divider
#android
Сколько зарабатывает Medium на мобильных подписках
Все мы знаем Medium по назойливому пейволу - многие посты в блогах предназначены только для подписчиков. И если вы всегда хотели узнать, сколько же дохода они приносят, то у AppFigures уже есть ответ.
1. С 2017 года доходы Medium от мобильных устройств выросли на 6,968%.
2. В 2023 году чистый доход (после налога Apple и Google) Medium вырос на 14% в годовом исчислении и составил 9.4 млн долларов. И это только подписки на мобильных устройствах, не считая веб.
3. 2023 год не был самым быстрым годом роста выручки Medium, но он стал годом с наибольшей выручкой. Самым “быстрым” годом для Medium стал 2018-й, когда рост на 1061% привел к первому миллиону долларов с мобильных устройств, а второй по темпам роста год — 2019, когда доходы выросли еще на 173%.
4. США — крупнейший поставщик денег Medium, на долю которого приходится более 57% всех доходов. Великобритания, Индия, Канада и Австралия замыкают пятерку лидеров, каждый из которых имеет однозначный кусок пирога.
И что: в то время, когда все больше изданий отказываются от подписки, интересно видеть, как краудсорсинговое издание все-таки может монетизироваться.
Стриминг устройств в Android Studio перешел в стадию открытого альфа-тестирования
Device streaming в Android Studio позволяет безопасно подключаться к удаленным физическим Android-устройствам, размещенным в защищенных центрах обработки данных Google.
1. Это самый быстрый и простой способ протестировать приложение на физических устройствах некоторых новейших моделей Android, включая Google Pixel 8 и 8 Pro, Pixel Fold, некоторые устройства Samsung и другие. Кроме того, сервис поддерживает некоторое количество старых устройств, так что у вас будет доступ к широкому спектру конфигураций и уровней API.
2. После подключения к устройству вы можете развернуть свое приложение, видеть дисплей, взаимодействовать с устройством (в том числе поворачивать или разворачивать его) и делать все остальное, что можно делать с устройством через прямое ADB-соединение по SSL — и все это не выходя из Android Studio.
3. Когда вы закончите использовать устройство, Google сотрет все ваши данные и сбросит его на заводские настройки, прежде чем предоставить его другому разработчику.
4. Во время Open Alpha тарификация отключена. Это означает, что вы и ваша команда можете использовать потоковую передачу данных с устройств в Android Studio бесплатно. Однако использование ограничено определенным количеством часов в день для каждого проекта.
Видео и подкасты за неделю:
• (iOS Ru)
Как поддерживать недельный релизный цикл и ничего не забывать
• (iOS En)
SwiftUI: Stretchy Slider Like in iOS 17
• (iOS En)
How To Save A Struct In SwiftData
• (iOS En)
Introducing Vortex: High-performance particle effects for SwiftUI
• (iOS En)
PencilKit and SwiftUI: Build a Collaborative Drawing App
• (iOS En)
SwiftUI: Universal Hero Effect
• (And Ru)
Мобильные игры в продуктовых приложениях
• (And Ru)
Разбор кода приложения по доставке пиццы
• (And Ru)
Запускаем автотесты Android на EMCEE
• (And En)
Now in Android: 99 - Jetpack Compose, Google AI on Samsung Galaxy, Play recovery tools, and more
• (And En)
The Ultimate Beginners Guide to Realm DB on Android (CRUD with Multi-Relations)
• (And En)
How to Implement Swipe to Delete with Material3
• (And En)
Intersection Types in Kotlin
• (Crs En)
Build Swift Windows News App with WinSDK
• (Dev En)
Google Cloud region is Johannesburg, MobileDiffusion, and more dev news!
Что вы посмотрели/послушали интересного про разработку?
🌐 @AppFiles
Android
• Работаем с размером шрифта для обеспечения доступности
• Android 15 готовится облегчить использование смартфона для пожилых
• One-Time Events, StateFlow VS. Channel
• vikasacsoni9211/quest-for-android-excellence-interview-edition-2024-part-i-11d5c517e9f6">Android Interview Questions: 2024
• Pixel Perfect: Designing for Every Screen, Every Fold
• On-Device Machine Learning In Android: Frameworks and Ecosystem
#android
Напиши музыкальный плеер для iOS
✨ Отус приглашает 15 февраля в 20:00 по мск на бесплатный практический урок "Пишем музыкальный виджет на SwiftUI".
Ведущий: Анна Жаркова – руководитель группы разработки.
Вебинар является часть полноценного онлайн курса «iOS Developer. Professional». Курс доступен в рассрочку!
➡️ Регистрация на вебинар: https://otus.pw/W2Rw/?erid=LjN8KSB1a
На вебинаре:
✔️ создадим приложение с использованием музыкального сервиса MusicKit и интерактивный виджет к нему;
✔️ познакомимся со SwiftUI, узнаем, как создавать виджеты с помощью WidgetKit и AppIntents для их интерактивности;
✔️ ответим на все возникающие вопросы.
Apple выпустила модель, которая позволяет пользователям описывать на понятном языке, что они хотят изменить в фотографии
Модель MGIE, над которой Apple работала совместно с Калифорнийским университетом в Санта-Барбаре, позволяет обрезать, изменять размер, переворачивать и добавлять фильтры к изображениям с помощью текстовых подсказок.
1. При редактировании фотографии с помощью MGIE пользователю нужно просто набрать то, что он хочет изменить в изображении. В статье приводится пример редактирования изображения пиццы пепперони. Набрав запрос «сделать ее более здоровой», можно добавить овощные начинки.
2. Apple сделала MGIE доступной на GitHub, а также выпустила веб-демонстрацию на Hugging Face Spaces. Компания не сообщила, какие у нее планы на эту модель, помимо исследовательских.
И что: я уже писал, что iOS 18 должна стать самой «амбициозной и неотразимой». И, судя по всему, во многом неотразимость будет касаться ИИ-функций. Так что ждем MGIE в iOS.
Перевел на Хабре вчерашнюю статью о мастерстве программирования (мастерство в данном случае - craftsmanship, то есть некое красивое ручное ремесло создания правильных вещей). Автор довольно интересно говорит об уходящем искусстве создания кода и объясняет это скоростью поставки фич, методологиями, изменившимся подходом к дистрибуции софта. Вряд ли можно с ним не согласиться - “****, **** и в продакшен” уже норма. Так что вдохновившись статьей поставьте “+” и помните, как когда-то код был искусством.
Разработка
• Где-то в пути мы забыли о мастерстве программирования
• Направо пойдешь — в бэкенд придешь, налево — в мобилки…
• Key takeaways from Airbnb’s winter redesign
• Keeping code simple: moving fast by avoiding over-engineering
Маркетинг
• Spotify стал поставщиком аудиокниг №2 после Audible
• Приложение Blush выводит онлайн-знакомства в реальный мир
• Stellar Sleep — первый цифровой инструмент для борьбы с хронической бессонницей
• Любовь живет в приложении: мобильные тренды ко Дню Святого Валентина
• Вся наша жизнь – игра: или как прижилась геймификация внутри мобильного приложения в ритейле
• Мобильная версия Elden Ring разрабатывается Tencent
• Как 6 экранов в приложении увеличили конверсию в два раза
Кроссплатформа
• Как с помощью ChatGPT реализовать раскраску во Flutter
• technicatalyst78/efficient-api-calls-in-flutter-025af33f02e9">Efficient API Calls in Flutter
• How to build a real-time multiplayer game with Flutter Flame
• niranjanky14/20-most-used-kotlin-multiplatform-libraries-7e6bda7f2dd7">20 🍓most used Kotlin Multiplatform libraries
iOS
Обратите внимание. С 29 апреля для размещения приложений в App Store нужен будет Xcode 15.
• Ранний взгляд на будущее тестирования с swift-testing
• Building Modular iOS Apps: A Guide to SPM, MVVM, SwiftUI, and Combine/Async-Await
• Apple to require Xcode 15 for App Store submissions staring April 29
• Setting up SharePlay on an iOS app
• Bad practice: using .lowercased() to compare strings
• pranav_ps/swiggy-ios-interview-experience-ad1018f12353">Swiggy iOS interview experience
• SwiftUI Hero Animation with Matched Geometry Effect
#ios
Android
• Копаемся в встроенном приложении камеры старого Xiaomi. Часть 1
• Exploring Jetpack Compose: Aspect Ratio Modifier
• Extended ADB: En Vogue
• Font Size Considerations for Accessibility
• Graceful Exits: Implementing Close Confirmation for Jetpack Compose ModalBottomSheet
• Android UI with TwoPane Composable - Drag, Split, & RTL Magic
#android