В новом дайджесте своя прошивка с нуля и поваренная книга SwiftUI, автоматическая публикация приложений и работа в Apple без Leetocde и колледжа, защита простых архитектур, самые быстрорастущие приложения августа, стартовый набор для ИИ-города и многое другое.
В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!
iOS
• Автоматизация увеличения номера сборки Xcode в кастомном формате
• Приложение Rocket Launch c GraphQL-запросами через Apollo
• “Поваренная книга SwiftUI” от Kodeco
• Apple Watch X станут серьезным обновлением
• Applying metal shader to text in SwiftUI
• AppKit vs SwiftUI: Stable vs Shiny
• Adaptative Views That Fit Anywhere in SwiftUI
• Augmented Reality’s RoomPlan for iOS: Getting Started
• How to Create a Flexible View With SwiftUI Layou
• Unified Swift/SwiftUI Library Deployment
• iOS Interview Guide: Escaping and Non-Escaping Closures in Swift
• How to Create a Flexible View With SwiftUI Layout
• Discover MeasurementFormatter
• Mistakes to Avoid When Implementing Quick Tips with SwiftUI’s TipKit
• Mastering Thread Safety in Swift With One Runtime Trick
• Round Specific Corners in iOS 17 & SwiftUI 5
• Apple’s Animation APIs: Through the Ages
• Unveiling the Future: Apple VisionOS Explained with Use Cases
• Building a searchable map with SwiftUI and MapKit
• Build a Reactive Screen Flow in Swift With Workflow
• iOS Architecture: Separating logic from effects
• The DI crashers
• The Singleton Chronicles: The “One Ring” of iOS Design Patterns
• DataKit: чтение и запись данных в двоичном формате
• Swift Transformers: языковые модели на iPhone
Android
• Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля
• Kodein DI для Android. Основы API
• Публикуем Android приложения автоматически с помощью Gitlab CI
• Android Generic Kernel Image — как Google может (теоретически) заменить ядро Linux
• Yandex MapKit для новичков: разрабатываем карты в Android-приложении
• А это можно запустить в фоне?
• Ракету пустил и забыл. Или как заставить DI работать
• Organic Maps — открытые оффлайн карты
• Аналитика многомодульных проектов
• Jetpack Emoji Picker: новый способ добавления эмодзи в приложение для Android
• A glimpse of K2 in Now In Android
• State Holders in Jetpack Compose
• Tabbed Navigation for Android TV using Jetpack Compose
• Add Shake Animations to your Composable
• The most important aspect of the Kotlin flow operator — combine()
• What Are the Top 7 Android App Development Trends in 2023?
• Drag to Reorder RecyclerView Items with Kotlin
• Seamless Play of D&D — Implementing Drag and Drop Across Multiple Screens
• How to use cubic Bézier curves in Jetpack Compose
• Choosing the right storage experience
• Android-Hidden Users for Specific Account
• Stop Calling Kotlin Flows Hot and Cold
• Kotlin’s Supercharged Flow API — Combining and Merging Flows for Reactive Programming
• Enrich stylus and mouse experiences with hover
• Navigating the Complexities: Multi-Module Navigation with Navigation Component
• Recreating UseCase: Embracing a Fluent and Fun Approach
• Android’s most commonly asked interview questions
• Most commonly discussed interview questions about Android— Part II
• Mastering JSON Serialization and Deserialization with Moshi in Kotlin
• Clean Architecture for Android Sample Project: чистая архитектура для Android
• Jetpack Compose UI Architecture Plugin: шаблоны для быстрой разработки
Кроссплатформа
• Ой, всё! Или как мы ошибаемся в Dart и Flutter
• Как заставить Flutter глитчевать?
• KivyMD на «кухне»
• Flutter Dev Podcast #41: FlutterFlow
• Create an AI Image Generator In Flutter
• Generative Art in Flutter
• MVI in Kotlin Multiplatform
• Enhancing Scalability and Structure in Flutter App Architecture
• Creating Ultra gradients with flutter
• Niyo’s journey with the Flutter mobile app
• Dart 3.1 & a retrospective on functional style programming in Dart 3
• What’s new in Flutter 3.13
• Dioxus: Fullstack GUI-библиотека
Разработка
• Как получить работу в Apple без колледжа и LeetCode
• В защиту простых архитектур
• Руководство по Jobs to Be Done и Desired Outcomes для дизайна интерфейсов
• Рынок вакансий мобильных разработчиков упал на 24%. Объясняем почему так случилось
• Developer Speaking Club #0: как правильно обучаться, загрузка файлов и как войти в IT
• Как выйти из IT: опасный бизнес
• Podlodka #333: делаем бизнес на опенсорсе
• $25 млн в Серии А: ProjectDiscovery — открытая платформа поиска уязвимостей
• $3 млн: Configu — платформа configuration-as-code
• VK Education открывает набор на бесплатные курсы по Go, Python и технической поддержке
• Как программировать и двигаться вперед быстрее
• Моя история: $0->$100 млн->$0 за 5 лет
• Как разработчику готовиться к собеседованиям
• Simple APIs are elegant APIs
• Junior to senior: An action plan for engineering career success
• A Flexible Framework for Effective Pair Programming
• 5 common code patterns slowing down your app
• Speech and Natural Language Input for Your Mobile App Using LLMs
• Amazon Prime Video reduced costs by 90% by ditching Microservices
• Scaling the Instagram Explore recommendations system
• How we reduced the cost of building Twitter at Twitter-scale by 100x
• What is offline-first architecture?
• How To Create Compound Efficiencies In Engineering
• What I learned after managing a small team for 2 years
Аналитика, маркетинг и монетизация
• «Белый шум» на Spotify стоит $38 млн в год
• Skich, приложение для обнаружения мобильных игр, теперь позволяет запускать и управлять играми
• Roblox разрешает продавать сделанные тела и головы аватаров
• Catchup — простое приложение для напоминания о необходимости связаться с друзьями и близкими
• Setapp планиурет запустить магазин приложений на iOS в Европе
• Топ быстрорастущих приложений в России в августе
• Slack уступает Teams и Discord (опрос)
• Самые зарабатывающие приложения в июле 2023
• Bumble for Friends: решение для несуществующей проблемы?
• No, you don’t want an app
AI, Устройства, IoT
• Почему здесь так жарко? Взламываем умный кондиционер
• Простая нейронная сеть без библиотек и матриц. Эволюционный алгоритм
• Промышленная безопасность: умные каски
• Lavritech L1: полная версия контроллера на платформе LavriBoard7
• RT-2 — новая модель переводит видение и язык в действия роботов
• AI Town: стартовый набор для создания и настройки собственного ИИ-города
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!
iOS
• Автоматизация увеличения номера сборки Xcode в кастомном формате
• Приложение Rocket Launch c GraphQL-запросами через Apollo
• “Поваренная книга SwiftUI” от Kodeco
• Apple Watch X станут серьезным обновлением
• Applying metal shader to text in SwiftUI
• AppKit vs SwiftUI: Stable vs Shiny
• Adaptative Views That Fit Anywhere in SwiftUI
• Augmented Reality’s RoomPlan for iOS: Getting Started
• How to Create a Flexible View With SwiftUI Layou
• Unified Swift/SwiftUI Library Deployment
• iOS Interview Guide: Escaping and Non-Escaping Closures in Swift
• How to Create a Flexible View With SwiftUI Layout
• Discover MeasurementFormatter
• Mistakes to Avoid When Implementing Quick Tips with SwiftUI’s TipKit
• Mastering Thread Safety in Swift With One Runtime Trick
• Round Specific Corners in iOS 17 & SwiftUI 5
• Apple’s Animation APIs: Through the Ages
• Unveiling the Future: Apple VisionOS Explained with Use Cases
• Building a searchable map with SwiftUI and MapKit
• Build a Reactive Screen Flow in Swift With Workflow
• iOS Architecture: Separating logic from effects
• The DI crashers
• The Singleton Chronicles: The “One Ring” of iOS Design Patterns
• DataKit: чтение и запись данных в двоичном формате
• Swift Transformers: языковые модели на iPhone
Android
• Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля
• Kodein DI для Android. Основы API
• Публикуем Android приложения автоматически с помощью Gitlab CI
• Android Generic Kernel Image — как Google может (теоретически) заменить ядро Linux
• Yandex MapKit для новичков: разрабатываем карты в Android-приложении
• А это можно запустить в фоне?
• Ракету пустил и забыл. Или как заставить DI работать
• Organic Maps — открытые оффлайн карты
• Аналитика многомодульных проектов
• Jetpack Emoji Picker: новый способ добавления эмодзи в приложение для Android
• A glimpse of K2 in Now In Android
• State Holders in Jetpack Compose
• Tabbed Navigation for Android TV using Jetpack Compose
• Add Shake Animations to your Composable
• The most important aspect of the Kotlin flow operator — combine()
• What Are the Top 7 Android App Development Trends in 2023?
• Drag to Reorder RecyclerView Items with Kotlin
• Seamless Play of D&D — Implementing Drag and Drop Across Multiple Screens
• How to use cubic Bézier curves in Jetpack Compose
• Choosing the right storage experience
• Android-Hidden Users for Specific Account
• Stop Calling Kotlin Flows Hot and Cold
• Kotlin’s Supercharged Flow API — Combining and Merging Flows for Reactive Programming
• Enrich stylus and mouse experiences with hover
• Navigating the Complexities: Multi-Module Navigation with Navigation Component
• Recreating UseCase: Embracing a Fluent and Fun Approach
• Android’s most commonly asked interview questions
• Most commonly discussed interview questions about Android— Part II
• Mastering JSON Serialization and Deserialization with Moshi in Kotlin
• Clean Architecture for Android Sample Project: чистая архитектура для Android
• Jetpack Compose UI Architecture Plugin: шаблоны для быстрой разработки
Кроссплатформа
• Ой, всё! Или как мы ошибаемся в Dart и Flutter
• Как заставить Flutter глитчевать?
• KivyMD на «кухне»
• Flutter Dev Podcast #41: FlutterFlow
• Create an AI Image Generator In Flutter
• Generative Art in Flutter
• MVI in Kotlin Multiplatform
• Enhancing Scalability and Structure in Flutter App Architecture
• Creating Ultra gradients with flutter
• Niyo’s journey with the Flutter mobile app
• Dart 3.1 & a retrospective on functional style programming in Dart 3
• What’s new in Flutter 3.13
• Dioxus: Fullstack GUI-библиотека
Разработка
• Как получить работу в Apple без колледжа и LeetCode
• В защиту простых архитектур
• Руководство по Jobs to Be Done и Desired Outcomes для дизайна интерфейсов
• Рынок вакансий мобильных разработчиков упал на 24%. Объясняем почему так случилось
• Developer Speaking Club #0: как правильно обучаться, загрузка файлов и как войти в IT
• Как выйти из IT: опасный бизнес
• Podlodka #333: делаем бизнес на опенсорсе
• $25 млн в Серии А: ProjectDiscovery — открытая платформа поиска уязвимостей
• $3 млн: Configu — платформа configuration-as-code
• VK Education открывает набор на бесплатные курсы по Go, Python и технической поддержке
• Как программировать и двигаться вперед быстрее
• Моя история: $0->$100 млн->$0 за 5 лет
• Как разработчику готовиться к собеседованиям
• Simple APIs are elegant APIs
• Junior to senior: An action plan for engineering career success
• A Flexible Framework for Effective Pair Programming
• 5 common code patterns slowing down your app
• Speech and Natural Language Input for Your Mobile App Using LLMs
• Amazon Prime Video reduced costs by 90% by ditching Microservices
• Scaling the Instagram Explore recommendations system
• How we reduced the cost of building Twitter at Twitter-scale by 100x
• What is offline-first architecture?
• How To Create Compound Efficiencies In Engineering
• What I learned after managing a small team for 2 years
Аналитика, маркетинг и монетизация
• «Белый шум» на Spotify стоит $38 млн в год
• Skich, приложение для обнаружения мобильных игр, теперь позволяет запускать и управлять играми
• Roblox разрешает продавать сделанные тела и головы аватаров
• Catchup — простое приложение для напоминания о необходимости связаться с друзьями и близкими
• Setapp планиурет запустить магазин приложений на iOS в Европе
• Топ быстрорастущих приложений в России в августе
• Slack уступает Teams и Discord (опрос)
• Самые зарабатывающие приложения в июле 2023
• Bumble for Friends: решение для несуществующей проблемы?
• No, you don’t want an app
AI, Устройства, IoT
• Почему здесь так жарко? Взламываем умный кондиционер
• Простая нейронная сеть без библиотек и матриц. Эволюционный алгоритм
• Промышленная безопасность: умные каски
• Lavritech L1: полная версия контроллера на платформе LavriBoard7
• RT-2 — новая модель переводит видение и язык в действия роботов
• AI Town: стартовый набор для создания и настройки собственного ИИ-города
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.