iOS
• Chat: UI-фреймворк для чата
• Generating Random Numbers Elegantly in Swift
• matheusqcardoso98/swift-what-is-reflection-and-how-is-it-used-bc177cd2e1c7">What is Reflection and how is it used?
• GetInRhythm/mastering-ios-navigation-a-deep-dive-into-pragmatic-design-ed2d58c8f6c0">Mastering iOS Navigation: A Deep Dive Into Pragmatic Design
• Adapter Design Pattern in iOS
#ios
Android
• BeepBeep: платформа доставки еды и заказа такси на Kotlin
• How to show a PDF with Jetpack Compose
• Creating an iPhone-Like Glassy Blur Effect with Jetpack Compose on Android
• domen.lanisnik/screenshot-testing-with-compose-9a84bd28b6fb">Screenshot Testing with Compose
• Kotlin Type Aliases: Enhancing Code Clarity
• meetjanani47/mvi-architecture-implementation-with-kotlin-flow-android-ae094fa83bff">MVI architecture implementation with Kotlin Flow, Android
• taimur149/from-stetho-to-flipper-logging-network-calls-with-facebooks-flipper-sdk-in-android-afac86cfe7bc">From Stetho to Flipper: Logging Network Calls with Facebook’s Flipper SDK in Android
#android
Еще OpenAI анонсировала новый Assistants API, который она характеризует как шаг к тому, чтобы помочь разработчикам создавать в своих приложениях «агентоподобный опыт». Варианты использования могут быть самыми разнообразными: от приложения для анализа данных на естественном языке до помощника по программированию или даже планировщика отпусков на базе ИИ. В основе нового Assistants API лежит Code Interpreter — инструмент OpenAI, позволяющий писать и выполнять код на языке Python в изолированной среде исполнения. Assistants API также может подключать компонент поиска, который дополняет созданных разработчиками ассистентов знаниями из внешних источников, например, информацией о продукте или документами, предоставленными сотрудниками компании. Кроме того, поддерживается вызов функций, что позволяет ассистентам вызывать функции программирования, заданные разработчиком, и включать ответы в свои сообщения. Assistants API находится в стадии бета-версии и доступен для всех разработчиков с сегодняшнего дня.
Разработка
• Assistants API от OpenAI помогает создавать собственных агентов
• OpenAI запускает создание собственных GPT и магазин для них
• $5 млн в посевном раунде: Factory — автоматизация жизненного цикла разработки с помощью ИИ
• Backend Driven… Аналитика!
• Podlodka #341: рендеринг текста проклят
• Real-Time Analytics for Mobile App Crashes using Apache Pinot
• The Architecture Behind A One-Person Tech Startup
• How We Reduced our Google Cloud Bills by 50 Percent
Маркетинг
• Flavrs с помощью ИИ хочет стать главной платформой для едоков во всем мире
• How to Boost Any Mobile Screen Usage with this simple analytics trick
Кроссплатформа
• Skip: транспилятор Swift/SwiftUI в Kotlin/Compose
• Управляем навигацией во Flutter с помощью библиотеки auto_route. Часть 1
• Разработка мобильного клиента СДУ «Приоритет» под ОС «Аврора» на фреймворке Qt
• flutterdynasty/advanced-dart-in-flutter-elevating-your-development-skills-1c8ec309266f">Advanced Dart in Flutter: Elevating Your Development Skills
• How to Test Native Features in Flutter Apps with Patrol and Codemagic
• Why Kotlin Multiplatform Won’t Succeed
iOS
• Кнопки красить — это вам не деревья вертеть
• Вопросы с собеседований: что такое reference типы в Swift
• Tabman: мощный Page View Controller
• Creating your first app shortcut
• Understanding Text Case And Capitalization In SwiftUI
• iOS App Modularization: Strategies for Large-Scale Applications and Dependency Management
• Custom Traits and SwiftUI
• Calculating a Smooth Clock Hands Animation
• Distributing Work Between Actors
• Programmatic Navigation with SwiftUI
• Structure Oriented Programming VS Protocol Oriented Programming in Swift
#ios
Приходите на Yet Another Mobile Party!
Yet Another Mobile Party (YAMP) — пятичасовой стрим Яндекса, на котором мобильные разработчики и тимлиды обсуждают новости, актуальные вопросы в индустрии и карьеру. Всё обсуждение пройдёт в формате живого разговора — поэтому будет много импровизации, шуток и откровенных мыслей.
В этот раз на YAMP обсудим, зачем нужна ОС «Аврора», как бороться с уязвимостью приложений, что сложного в разработке под нестандартные устройства, как формировать хорошие команды и выходить в опенсорс. Наши разработчики будут общаться с чатом — так что готовьте интересные вопросы.
📎 Стрим начнётся 18 ноября в 12:00 мск YandexforMobile">на YouTube-канале Yandex for Mobile. Ссылку выложим в телеграм-канале Yandex for Mobile — подписывайтесь, чтобы ничего не потерять.
Почитать про участников марафона (которых, к слову, очень много — и они классные!), посмотреть программу и зарегистрироваться можно тут.
✔️ Бронируйте субботу и готовьте вопросы — встретимся на стриме!
Реклама. ООО "Яндекс". erid: 2VtzquY8awq
Команда, не видавшая задач
Нерабочий понедельник - самое время обозреть, что же там понаписали за прошлую неделю. Вот и новый еженедельный дайджест - 132 статьи и новости. Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Там, например, у меня была ссылка на новый ИИ-поисковик и напарника по программированию Phind - интересный инструмент, который (вполне возможно) вам сильно пригодится.
💻 Прислать материал для дайджеста можно сюда. А поддержать канал здесь.
Не моргу не сослаться на прекрасные страшилки, которые опубликовали на Хабре:
Белые тапочки
Один разработчик решил купить себе на работу тапочки, чтобы не потеть весь день в ботинках. «Сынок, только не покупай белые тапочки!» — попросила его мама.
Но разработчик не послушался и купил белые тапки. Принес их на работу и стал носить.
Вечером убрал он тапочки под стол и ушёл домой. Утром приходит — а тапочки на его стуле стоят! Надел разработчик тапочки на ноги, открыл ноутбук, а в коде куча ошибок. «Странно» — подумал он, сел и стал работать в тапочках дальше. А на следующее утро ситуация повторилась: тапочки стоят на стуле, в коде куча ошибок. Но опять разработчик надел тапки и стал работать.
На третий день опять тапки на стуле были. Не выдержал разработчик и выкинул тапки.
На следующее утро приходит он пораньше и видит, что в офисе уборщица пол моет и всё с пола на стулья ставит.
Выдохнул разработчик с облегчением, сел на свое место, открыл ноутбук. А в коде всё равно куча ошибок 😱
Разработка
• Чёрная рука, красные глаза и другие страшилки
• Sheet, dialog, or snackbar — what should a designer go for?
• Redesigning Swiggy’s new user onboarding — A product design case study
• How Discord Stores Trillions of Messages — Curious Case of System Design
• The Worst Code I Ever Wrote, And Why I’m Still Happy About It
Маркетинг
• Click, Download, Play! Как использовать геймплей в создании перформящих креативов: часть первая
• Самые скачиваемые и зарабатывающие приложения в России в октябре 2023
• 3Q23 Mobile Ad Network Trends
Кроссплатформа
• Kotlin Multiplatform стал стабильным
• KMP перешёл в stable. Что это значит?
• Можно ли обойтись без нативных языков, разрабатывая на Flutter и RN?
• Kotlin Multiplatform by Tutorials
• yasir.ameen/ahead-of-the-curve-rubikkubes-kotlin-multiplatform-journey-bc1099cfa376">Ahead of the Curve: Rubikkube’s Kotlin Multiplatform Journey
• A Complete Guide on "Login with WhatsApp" in Flutter Apps (w/ backend)
iOS
• touchHLE: высокоуровневый эмулятор iPhone OS
• Как создать интерактивные виджеты на iOS 17
• Modular Navigation in SwiftUI: A Comprehensive Guide
• Using Real-World Analogies to Demystify Creational Design Patterns in Swift
• How to Observe Data Changes in SwiftData Using Persistent History Tracking
• Mastering iOS Debugging with User Defaults
#ios
Kotlin Multiplatform стал стабильным
Kotlin Multiplatform получил статус Stable и теперь на 100% готов к использованию в проде, заявляет JetBrains.
1. Благодаря тому, что KMP широко используется в производстве с момента выхода Alpha-версии, компания JetBrains смогла собрать большое количество отзывов и доработать технологию, чтобы обеспечить лучшие возможности мультиплатформенной разработки в Stable-версии.
2. С момента выхода бета-версии количество библиотек KMP увеличилось в несколько раз, предлагая разнообразные инструменты для работы с сетями, хранения данных, арифметики, аналитики и т.д., обеспечивая быструю и уверенную разработку приложений.
3. Команда Android в Google продолжает поддерживать пользователей KMP, предоставляя экспериментальные мультиплатформенные версии библиотек Jetpack, и уже обеспечила совместимость библиотек Collections, DataStore, Annotations и Paging с Kotlin Multiplatform.
4. Compose Multiplatform для Android и настольных систем (JVM) уже стабилен, поддержка iOS находится в стадии Alpha, а поддержка web (Wasm) - в стадии Experimental.
И что: мечта об одном коде для всех платформ все ближе :)
Android
• Байт-код — это просто! Как сделать DI по-настоящему быстрым
• В помощь тем, кто погружается в Smali
• How to Use Render Effects in Jetpack Compose for Stunning Visuals
• Kotlin Coroutines vs Threads Memory Benchmark
• The Syntax Chronicles: Implementing Google Sheets API in your Android app
#android
Вчера Apple представила новые процессоры M3 и заодно MacBook Pro и iMac с ними. Быстродействие почему-то сравнивают с M1, но в целом упор сделан на GPU - в них завезли трассировку лучей, сеточные шейдеры и тому подобные вещи. То есть упорно хотят сделать из Mac игровую платформу. При том, что самый дешевый MacBook с “обычным” M3 будет стоить $1599 (а максимум - что-то в районе $8K), затея, прямо скажем, не очевидная.
Разработка
• Apple представила процессоры серии M3
• Делаем многократно используемые компоненты не делая их многократно используемыми
• Backend Driven UI с точки зрения бэкенда: к чему готовиться, если вы решили на него перейти
• 6 Software Engineering Templates I Wish I Had Sooner
• Advice to a novice programmer
• 10 Mobile App Projects to Elevate Your Skills to Senior Developer Level
Маркетинг
• The creative testing blueprint: Strategies for high-impact ad campaigns
• Mastering search engine optimization for your mobile app
Кроссплатформа
• Flutter и работа с нативным кодом на примере библиотеки для работы с NFC
• State Management With Provider
• akhmat-s/flutter-integration-testing-and-ci-cd-593a0656fb74">Flutter Integration Testing and CI/CD
• nitheeshag/building-a-compose-multiplatform-app-with-an-architectural-pattern-e31a85e82927">Building a Compose Multiplatform app with an Architectural pattern
• Exploring Flutter’s new Sliver API: A Comprehensive Guide
iOS
• Подходы к верстке в UIKit
• How to get a SwiftData model container and context in SwiftUI
• Packaging Libraries in iOS: A Comprehensive Guide v2
• Seamless Flow: Streamlining iOS Projects with CI/CD Tools and Tactics
• How to setup your Xcode project for testing with Unit and UI Tests in 4 simple steps
• SwiftUI: Introducing MVI How to Easily Implement MVI in SwiftUI
• How to solve nested Observable Objects issue
#ios
Опубликовал второе интервью с Максимом Сидоровым - на этот раз про то, как проводятся собеседования в SberDevices. Получился прямо гайд - и не только о том, как разработчикам готовиться к интервью, но и как компаниям (собеседователям) к нему готовится. В общем, очень рекомендую.
Разработка
• Как устроены собеседования в SberDevices — Максим Сидоров
• Как изменились подходы к автоматизированному тестированию в Тинькофф
• ChatGPT в мобильной разработке: как использовать, чтобы получить пользу
• Avito Platform engineering meetup #2
• Ozon Tech Community ML&DS Meetup
• Полный курс по QA. Как правильно писать тесты?
• Fixing the Volume on my Bluetooth Earbuds
• Use Abstraction to Improve Function Readability
• The most valuable trait of top software engineers
Маркетинг
• Luminar Neo упрощает использование ИИ в обработке фотографий
• Unity's Runtime Fee debacle caused 15% of its US advertisers to jump ship
Кроссплатформа
• Writing Swift-Friendly Kotlin Multiplatform APIs
• Embrace Functional Programming with /Dart 3.1/
• Build SwiftUI apps for iOS and Android with Skip
iOS
• Все видео Swift Connection 2023
• Aidoku: открытый ридер манги для iOS
• Автоматизация ревью ресурсных картинок в iOS
• Реальное iOS собеседование в Яндекс
• Show Callers in Xcode 15
• Automerge for Swift
• Combine charts to create stunning designs with Swift Charts
• illescasDaniel/hacking-ios-alerts-with-swift-61aefce9736a">Hacking iOS Alerts in Swift
• Deliver reusable components without making them reusable
• SwiftUI Tutorial: Keyframe Animations for iOS 17
#ios
Автоматизация воспоминаний про Android
Воскресенье - самое время обозреть, что же там понаписали за неделю. Вот и новый еженедельный дайджест - 124 лучшие новости и статьи. Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Там, например, у меня была ссылка на статью "Пример системного дизайна: как GitHub индексирует код для молниеносного поиска и извлечения информации" - про поиска кода, самый большой кластер GitHub, состоящий из 5184 виртуальных процессоров, 40 ТБ оперативной памяти и 1.25 ПБ резервного хранилища, поддерживающий в среднем 200 запросов в секунду и индексирующий более 53 млрд исходных файлов.
💻 Прислать материал для дайджеста можно сюда. А поддержать канал здесь.
Перевел интересную статью про то, почему разработчики не любят тесты. Автор декларирует, что тесты вредны для разработчиков. Прежде чем кидаться помидорами - вот его обоснование. Если ошибка обнаружена в процессе спринта, разработчикам необходимо написать исправление, и это время засчитывается как «время разработки». Их обвиняют в срыве сроков. Их спрашивают, почему все так долго делается. Как ни странно, их обвиняют в том, что они создают качественный код. А при обнаружении ошибок в готовом приложении могут быть добавлены специальные спринты для их исправления. Если ошибка обнаружена в проде, то это происходит в будущем, когда времена могут быть более счастливыми, а не сейчас, когда на разработчика оказывается давление. Его выход из ситуации - сделать тесты элементом культуры. Правда, как именно это сделать автор не особо уточняет.
Разработка
• Тесты вредны для разработчиков
• Как разработать функциональное мобильное приложение за 2 месяца: кейс Kassir.ru
• 10 hard-to-swallow truths they won't tell you about software engineer job
• Don't disable buttons
Маркетинг
• Доходы X за год выросли на 829%
• Summer, which helps customers buy — and rent out — vacation homes, raises $18M
Кроссплатформа
• «Разгоняем» HashSet, HashMap и циклы на примере Dart
• 5 Best Under-The-Radar React Native Libraries in 2023: Dev Tested and Reviewed
• gemechis/10-tips-to-optimization-your-flutter-app-b04beb074d2c">10 Tips for Optimizing Your Flutter App
iOS
• Делаем первый App Shortcut
• Apple отложила работу над новыми ОС для исправления ошибок
• daviddvd19/xcodegen-first-steps-%EF%B8%8F-a2d4655ced86">Xcodegen — First Steps
• 10 tips to increase your iOS code quality
• B4k3R/mastering-swift-level-up-your-swift-enum-by-replacing-it-with-an-optionset-a8c3c46c6aca">Level up your Swift enum by… replacing it with an OptionSet?
• NSSpain XI Videos
• Swift Student Challenge 2024 is announced
• Visual effects in SwiftUI
• GeometryReader: Blessing or Curse?
#ios
Android
• Корутины против потоков: тест потребления памяти
• Вышла альфа-версия Telecom Jetpack
• Управление сложностью состояния
• Собеседование с Михаилом Левченко
• njorogegwanjiru/picture-perfect-code-uploading-images-to-the-server-with-kotlin-and-jetpack-compose-using-a-restful-c1d30e1ff968">Picture-Perfect Code: Uploading Images to the Server with Kotlin and Jetpack Compose using a RESTful API
• The Diffing Dilemma! All about diffing with LazyLists!
• kamal.lakhani56/flowon-kotlin-4f404b0ea682">FlowOn | Kotlin. The Importance of Thread Safety
• The Ultimate Guide to Android Splash Screen Animations – Splash API
• The problem with Coroutines stateIn operator and how to solve it
#android
📅 Date: November 8th
⏰ Time: 4:00 - 5:00 PM GMT+3
📝 Register now: https://www.socialpeta.com/webinars/cultivating-success-exploring-the-opportunities-and-challenges-in-hybrid-casual-games
🎙 Meet Our experts:
Ms. Renata Ravilova - PR and Community at UGC Ninja
Mr. Tunahan Oduncu - Business Development Manager at SocialPeta
Ms. Ganbayar Bayaraa - Senior Account Executive at Tenjin
Mr. Alex Kozachenko - CEO at HyperBeard
Mr. Türker Karahan - CEO at Udo Games
🔑 Key Discussion Points:
✨ Unlock tips to captivate players and skyrocket your user base.
✨ Reveal the secrets to the masterful publishing of hybrid-casual games.
✨ Explore the trends in hybrid-casual gaming, and what's sizzling in the market.
✨ Dive deep into the challenges in the era of AI takeover.
✨ Compare marketing strategies between hyper-casual games and hybrid-casual games.
Linkedin Event: https://www.linkedin.com/events/7126100370258362368/about/
OpenAI запускает создание собственных GPT и магазин для них
OpenAI объявил об открытии GPTs — способа, с помощью которого любой желающий может создать собственную версию популярной системы разговорного ИИ.
1. Компания представила GPTs — «пользовательские версии ChatGPT, которые можно создавать для конкретных целей». GPTs могут быть созданы без опыта программирования и могут быть сколь угодно простыми или сложными.
2. «Фактически вы можете запрограммировать GPT с помощью языка, просто разговаривая с ним», — говорит Альтман. «Легко настроить поведение, чтобы он делал то, что вы хотите — это делает создание новых моделей очень доступными и дает возможность управлять ими всем».
3. Местом публикации GPTs стал магазин GPT Store. Модель App Store оказалась невероятно прибыльной для Apple, поэтому нет ничего удивительного в том, что OpenAI пытается повторить ее с ИИ.
4. OpenAI собирается платить людям, создающим наиболее используемые и полезные GPTs, часть своих доходов. Как будет происходить отбор или выплаты пока непонятно, но на конференции уже продемонстрировали GPTs, созданные Code.org, TripAdvisor и Canva, так что, возможно, поначалу это будут скорее официальные приложения, а не эксперименты частных лиц с GPT.
И что: OpenAI явно хочет стать Apple новой ИИ-революции, создать платформу, независимую от существующих магазинов приложений и методов распространения. Как и в случае с App Store, первые разработчики очевидно получат все преимущества "дивного нового мира". Впрочем, даже если попасть в магазин пока не удастся, простое создание GPT на собственных данных - большой шаг вперед.
Видео и подкасты за неделю:
• (iOS Ru)
Кнопки красить — это вам не деревья вертеть
• (iOS En)
New SwiftUI Photo Picker - Single & Multiple Selection
• (iOS En)
SwiftData CRUD Operations
• (iOS En)
How to solve nested Observable Objects issue
• (iOS En)
Swift Connection 2023 Videos
• (iOS En)
Cleaner, Safer Code with Swift KeyPaths
• (iOS En)
A Tour of Xcode Cloud
• (iOS En)
An Easier Dev Life with Kaleidoscope
• (And Ru)
Собеседование с Михаилом Левченко
• (And Ru)
Управление сложностью состояния
• (And En)
Now in Android: 94 - #TheAndroidShow, Jetpack Glance, Google Play policy updates, and more
• (And En)
AndroidX, Gradle and Metalava - Android Developers Backstage
• (And En)
When Should You Migrate to Jetpack Compose?
• (And En)
3 Clean Code Hacks I Bet You Didn't Know
• (And En)
What's new in Kotlin 1.9.20
• (And En)
Making Threads for Android
• (And En)
Kotlin & Android Development Course: Build a Quiz Application
• (Crs En)
A Complete Guide on “Login with WhatsApp” in Flutter Apps (w/ backend)
• (Dev Ru)
Backend Driven… Аналитика!
• (Dev Ru)
Podlodka #341: рендеринг текста проклят
Поставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻
Android
• ComposeNumericRoller: анимация цифр на Compose
• Как сделать тесты на Espresso более читабельными и стабильными
• Kotlin 1.9.20 Released
• The Android Backstage of Mercado Libre Warehouses
• Hilt Version 1.1.0
• mukuljangir372/best-practises-for-writing-testable-code-in-kotlin-31761481ffd0">Best Practises For Writing Testable Code In Kotlin
#android
Самые скачиваемые и зарабатывающие приложения в России в октябре 2023
Маркетплейс Wildberries обогнал Telegram и стал самым скачиваемым приложением в октябре в России. OZON вырос на 6 позиций и занимает 3 место. Пятерочка так же выросла на 6 позиций, а игра «Crostic-Кроссворд Пазлы Дня» сразу дебютировала на 7 месте.
Четыре первые места в топе самых зарабатывающих остались неизменными — ВКонтакте, Телеграм, Royal Match и PUBG. В «хвосте» меняются местами Roblox, игры Playrix и Литрес.
1. VK: social network, messenger
2. Telegram
3. Royal Match
4. PUBG MOBILE
5. Roblox
6. Tanks Blitz PVP битвы
7. Gardenscapes
8. Homescapes
9. Litres: Books and audiobooks
10. FaceApp: Perfect Face Editor
Match (Tinder, Hinge, OKCupid, Match.com и другие) и Google заключили досудебное соглашение и теперь дейтинг-приложения первой компании смогут иметь альтернативные платежи даже распространяясь в магазине второй. На всех это по-прежнему не распространяется да и выгода очевидна для больших игроков, вроде Match. Google User Choice Billing позволит снизить комиссионные выплаты с 15% и 30% до 11% и 26% соответственно. То есть “налог Google” уменьшится на 4% (в Apple - на 3). В общем, ни шатко ни валко, но сторонние платежи внедряются. Как и прогнозировалось - для небольших разработчиков это абсолютно бессмысленно.
Разработка
• 10 уроков успеха от стартапов, созданных одним человеком
• Вопросы с собеседований: чем MVVM отличается от MVP
• Local AI Stack: создание локальных ИИ-приложений
• Открыта регистрация на олимпиаду по программированию для школьников «Технокубок»
• Poe от Quora запускает партнерскую программу для создателей чат-ботов
• Apple M3 Pro медленнее в работе с памятью, чем M1/M2 Pro
• Tech Interview Handbook
Маркетинг
• Google и Match Group достигли мирового соглашения по антимонопольному делу о магазине приложений
Кроссплатформа
• Как использовать нативный платежный сервис SberPay в кроссплатформенном приложении на Flutter
• 12 Image Tips and Best Practices for the Best UX Performance in Flutter
• Networking in Kotlin Multiplatform Mobile Using Ktor
• How to create a Flutter plugin step by step
• Flutter: State Management with pure MVVM
iOS
• Поваренная книга SwiftUI: тени для представлений
• Moya: сетевые абстракции для Swift
• drewalth/server-side-swift-why-not-b04de4251f32">Server-side Swift? Why not?
• omar.h.sebaa/builder-design-pattern-in-ios-73d23720ab76">Builder Design Pattern in iOS
• omar.h.sebaa/singleton-pattern-in-ios-2bf6969ec6c7">Singleton Design Pattern in iOS
• The Future of Accessing User Location in SwiftUI
• The curious case of ShareLink with plain text strings
• SwiftData CRUD Operations
#ios
Android
• FlorisBoard: открытая клавиатура для Android
• Google опубликовал новые данные по распространению версий Android
• A step-by-step tutorial in codelab format for Android UI testing
• Kotlin 101: Unit Tests Cheat Sheet for Paging Library and Room Database
• Finding the Right Balance in Gradle Dependency Strategy
• Avoid Primitive Obsession in Kotlin with zero-cost abstractions
• Simple and secure sign-in on Android with Credential Manager and passkeys
• Making Threads for Android
#android
Google опубликовал новые данные по распространению версий Android
Вот как изменился % устройств (GMS Android) с 30 мая 2023 г., когда статистика была обновлена в последний раз.
• Android 13: 15% -> 22.4%
• Android 12: 16.3% -> 15.8%
• Android 11: 23.1% -> 21.6%
• Android 10: 17.8% -> 16.1%
• Android 9: 11.9% -> 10.5%
• Android 8.1: 6.1% -> 5.4%
• Android 8: 2.2% -> 1.9%
• Android 7.1: 1.5% -> 1.3%
• Android 7: 1.5% -> 1.3%
• Android 6: 2.3% -> 1.9%
• Android 5.1: 1.5% -> 1.2%
• Android 5: 0.3% -> 0.2%
• Android 4.4: 0.5% -> 0.4%
Доля Android 13 в общем числе устройств выросла с 15% до 22.4%. Второй по количеству установок версией ОС Android стал Android 11 - 21.6%, за ним следует Android 10 - 16.1%. Android 12 установлен на 15.8% всех устройств.
Android
• Вопросы с собеседований: для чего нужен Data class в Kotlin
• Собеседование в Яндекс: платформа Android
• По ту сторону EditText. Программная клавиатура в Android
• Kodein в Android. Что за зверь и как его готовить
• Готовим конфигурацию Android-приложения с помощью Dynamic Proxy и рефлексии
• Twine: мультиплатформенный RSS-ридер на Kotlin и Compose
• Что будет если команда, не видавшая Compose, решила делать новую сложную фичу на нём?
• ActivityResult API и Compose
• CatGPT - or How to Position Elements on Overlays
• Building a Speedometer with Compose Canvas API
• Harmonizing Modifiers in Jetpack Compose: A Tale of Flexibility and Usability
• Material Design Components for Android 1.10.0
• Regional Preferences in Android 14
• cgaisl/beyond-mvvm-hierarchical-state-management-with-molecule-and-compose-660648eeb88e">Beyond MVVM: Hierarchical State Management with Molecule and Compose
• How to create list sections with animated shapes
#android
Community Day Mobius 2023 Autumn 🔥
Осенний Mobius совсем скоро, и у вас еще есть возможность купить билет со скидкой по промокоду APPTRACTOR
.
Но если вы не готовы купить билет на конференцию, то присоединяйтесь к бесплатному Community Day 2 ноября.
Этот день такой же насыщенный, как и другие дни конференции:
✔️ Доклады о UI/UX, трендах мобильной разработки, технологиях под капотом и не только.
✔️ Дискуссии со спикерами и участниками после докладов.
✔️ Чат с коллегами со всего мира.
➡️ Для участия достаточно зарегистрироваться — по 2 ноября включительно.
Увидимся на Community Day Mobius 2023 Autumn 💚
Реклама, ООО «Джуг Ру Груп», ИНН 7801341446, erid 2Ranym7fKvg
Видео и подкасты за неделю:
• (iOS Ru)
Автоматизация ревью ресурсных картинок в iOS
• (iOS Ru)
ChatGPT в мобильной разработке: как использовать, чтобы получить пользу
• (iOS Ru)
Реальное iOS собеседование в Яндекс
• (iOS En)
Mastering TipKit in iOS 17
• (iOS En)
SwiftUI: Building Notes App + SwiftData + CRUD
• (iOS En)
Build a Twitch-Like Live Streaming App With SwiftUI
• (iOS En)
Resizable Custom Tab Bar for macOS
• (iOS En)
Lock SwiftUI View With Biometric/Custom Number Lock - Local Authentication
• (And Ru)
Собеседование в Яндекс: платформа Android
• (And Ru)
Kodein в Android. Что за зверь и как его готовить
• (And Ru)
Готовим конфигурацию Android-приложения с помощью Dynamic Proxy и рефлексии
• (And En)
#TheAndroidShow: faster and easier to build excellent apps, across devices!
• (And En)
Play PolicyBytes
• (And En)
95% Don't Understand THIS About Coroutines (Main-Safety)
• (And En)
Which Compile Options Should You Choose? (Java & Kotlin Version)
• (Crs En)
Building a Spotify Music Player with Real-Time Lyrics using Flutter
• (Dev Ru)
Avito Platform engineering meetup #2
• (Dev Ru)
Ozon Tech Community ML&DS Meetup
• (Tst Ru)
Полный курс по QA. Как правильно писать тесты?
• (Tst Ru)
Как изменились подходы к автоматизированному тестированию в Тинькофф
• (Tst En)
Beginner Guide to Mutation Testing in Kotlin
Поставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻