Как управлять советами для начинающих
Собрал новый еженедельный дайджест. Если вам понравилось, поставьте 👍 и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное, возможно и за пределом мобайла. Вот, например, 40 лет назад Netscape Navigator 1.0 положил начало тому Интернету, который мы знаем сегодня.
⚡️25 декабря стартует новый легендарный онлайн-курс Kotlin Backend Developer Professional
Успейте поступить в группу в этом году.
✅Новогодний SALE
✅Обновленная программа курса
✅Преподаватели - ведущие эксперты международных компаний
Обучение на курсе позволит:
• освоить разработку на Kotlin и профессиональную бэкенд-разработку;
• научиться использовать Kotlin для разработки серверных приложений;
• применять асинхронное и многопоточное программирование с корутинами;
• использовать Kotlin совместно с различными фреймворками;
• строить хранилища на базе SQL, NoSQL и NewSQL;
• писать приложения с монолитной, микросервисной и бессерверной архитектурами.
🎄ПРОЙТИ ТЕСТ и получить новогодний бонус: https://otus.pw/xHeY/?erid=LjN8KWwi1
Легендой курса является разработка стартапа – экстремального проекта, в котором сочетаются высокая неопределенность и жесткие ограничения по времени и ресурсам.
При поступлении в группу возможны разные способы оплаты и рассрочка платежаРеклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963
Android
• Подключение сканера к Android или как почувствовать себя кассиром
• Do You Have to Learn Clean Architecture as a Beginner?
• Demystifying Kotlin: Understanding the Inner Workings of Inline Functions
• marco-cattaneo/how-to-handle-single-event-in-jetpack-compose-f90b6220e8c8">How to handle single-event in Jetpack Compose
• Android Launch Modes Explained
#android
Что нового в 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
• Вопросы с собеседований: коллекции в 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
• kodekarim/xcode-15s-hidden-treasure-logging-like-a-pro-2024-6fc993d65ccb">Xcode 15’s Hidden Treasure: Logging Like a Pro 2024
• tunahanbekdas/swift-singleton-pattern-1ab19b53b79d">Swift: Singleton Pattern
• The Case Against [unowned self]
• emndeniz/ios-ui-testing-with-deep-links-7c33e9f9b7f1">iOS UI Testing with Deep Links
#ios
Случилось забавное - в 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
iOS
• Google AI SDK for Swift: генеративный ИИ для ваших приложений
• Apple останавливает продажи Apple Watch Series 9/Ultra 2 из-за нарушений патентов
• redhotbits/from-swiftui-vanilla-to-mvvm-like-a-pro-470b22f304c9">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
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
Apple представила "условное ценообразование" для подписок
Можно снижать цену в зависимости от подписок на k.s,t другие другие продукты.
1. Условное ценообразование для подписок в App Store позволяет предоставлять клиентам скидку на подписку до тех пор, пока они активно подписаны на другую подписку.
2. Такое ценообразование может использоваться как для подписок на собственные продукты, так и между двумя разными разработчиками.
3. Покупатели смогут обнаруживать эти ценовые скидки в приложении, во внеплатформенных маркетинговых каналах и в App Store.
4. Apple поможет вам управлять реализацией, обеспечивая клиентам беспрепятственный процесс оформления и покупки на основе предоставленного вами условного ценового предложения.
И что: на заре Интернета были партнерские ссылки, теперь будут партнерские подписки. Но в целом, конечно, удобно 🌐
Служба Безупречных Помощников Деда Мороза расскажет, почему она такая быстрая 🎅
🌐 Онлайн-митап
🗓 19 декабря в 17:00 (МСК, GMT+3)
Посмотрим, как устроена Система быстрых платежей и что помогает ей выдержать повышенную нагрузку новогодних хлопот — когда миллионы людей покупают подарки.
Разработчики СБП расскажут, как в СБП обеспечивается скорость, надежность и отказоустойчивость и почему им пришлось ускорять транзакционные отчеты в несколько тысяч раз. А еще, в чем особая магия платежных ссылок — фундамента множества сценариев оплаты.
Авторы лучших вопросов к докладам получат подарки от организаторов — наборы мерча Мир Plat.Form.
Подробности и регистрация по ссылке.Реклама. АО "НСПК". ИНН 7706812159
Перевел статью про символизацию логов сбоев в Xcode. Зачем так делать так до конца и не понял (нет, в целом то конечно идея здравая, но ведь Xcode все сам делает?), но зато хоть разобрался с самим термином. Символизация - перевод лога/дампа сбоя из машинного кода в читаемый. Для этого есть, собственно, сам лог и отладочный символьный файл, который содержит все данные о коде. Сопоставляем и понимаем, в каком именно месте произошла ошибка. Так что если у вас где-нибудь спросят - тоже будете знать.
Разработка
• Мой опыт прохождения собеседования в Google
• MedLM: генеративный ИИ для индустрии здравоохранения
• Разметить всё: как мы настроили систему логирования в приложении каршеринга
• Migrating Netflix to GraphQL Safely
• Lessons from building GitHub code search
Маркетинг
• Gaming Upfronts 2023: The Power of Audio Advertising Unveiled
• Email marketing for mobile apps: A comprehensive guide
Кроссплатформа
• Flutter Tutorial: building an offline-first chat app with Supabase and PowerSync
• Platform Channels are Dead! Objective-C/Swift Interop is Here!
iOS
• Символизация логов сбоев с помощью Xcode + Что такое символизация логов сбоев
• andres.carort/ios-developer-roadmap-2023-330fd5cb7479">iOS Developer Roadmap 2023
• Stretching an audio file using Swift
• Selecting multiple items with a two-finger pan gesture
• Mastering the ‘Final’ Keyword in Swift: A Comprehensive Guide for Optimized Coding
• Symbolicating SwiftUI (and any Apple Framework)
#ios
Не Гуглом одним, Microsoft тоже выпустил свою “малую” языковую модель Phi-2. Она тоже может работать на ноутбуке или смартфоне, при этом, как пишет Microsoft, гораздо более способная, чем остальные. В Phi-2 2.7 млрд параметров, в Llama 2 и Mistral по 7 млрд, при этом новая модель обгоняет их. Правда, пока Phi-2 доступна только для “академических” целей и коммерческое ее использование запрещено. Но будущее в виде способных моделей, работающих локально на смартфонах, уже, очевидно, совсем близко.
Разработка
• Microsoft выпустила модель Phi-2, которая «может работать на мобильном устройстве»
• Вопросы с собеседований: что такое Потокобезопасность (Thread-Safe)
• Адвент-календарь MonkeyUser на 2023 год
• Доктор Bazel: как я научился не волноваться и полюбил сборки
• How Plane, an open-source alternative to Jira, got to the #1 in project management on GitHub in less than a year
Маркетинг
• Маркетологи в мобайле: Александр Багринцев (Sunlight)
• DistroKid запустил приложение для Android
Кроссплатформа
• State of React Native survey
• How to store key-values in KMP in the secure way
• Flutter Firebase Festival
• ximya/modularizing-flutter-ui-with-factory-constructors-f13907b6f5d4">Modularizing Flutter UI with Factory Constructors
iOS
• Aespa: фото и видео в 2 строчки кода
• SwiftUI: Разбираемся с identity на примере переходов
• Как добавить drag and drop в ваше приложение
• Modern iOS Navigation Patterns
• knoo/whats-new-in-uikit-bc8a98090cfc">What’s new in UIKit
• Mastering MapKit in SwiftUI. Camera.
• Implementing Drag Gestures In Xcode 15 (SwiftUI)
#ios
🚀 Мои друзья из Appbooster приглашают на вебинар «Продвижение приложений в мобильных сторах в 2024 году»
🙌 Будет все самое интересное:
• Как подготовить приложение к продвижению с точки зрения ASO
• Работа с репутацией в App Store и Google Play
• Как подобрать запросы для продвижения
• Стратегии продвижения в App Store и Google Play
• Как настроить кампании в платформе Appbooster
• Что нового в платформе Appbooster
• Разбор успешных кейсов
• Полезные инструменты для продвижения
• Есть ли жизнь в альтернативных сторах
🎁 Для всех зарегистрировавшихся на вебинар будет доступна акция «Новогодний кэшбэк». Все подробности — на вебинаре.
Дата и время проведения: 20 декабря в 17:00 (мск)
Длительность: 1 час
Спикер: Анна Назарова, аккаунт-менеджер платформы Appbooster
👉 Зарегистрироваться на вебинар!Реклама. ООО "ДЖУСИСОФТ". ИНН 6312098419. erid: LjN8JufEF
Видео и подкасты за неделю:
• (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?
С вас традиционный 👍 и поделиться подборкой с коллегами!
В 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
iOS
• BadgeIcon: системные иконки для SwiftUI
• tahabebek/scalable-and-modular-system-design-for-the-simplest-ios-app-7a1a3873992b">Scalable and Modular System Design for the simplest iOS App
• bhuravaneprathamesh/creating-a-scrolling-parallax-effect-with-swiftui-037029863eb8">Creating a Scrolling Parallax Effect with SwiftUI
• SwiftUI View Models: Lifecycle Quirks
• kodekarim/become-more-senior-ios-developer-with-these-4-xcode-tips-tricks-d470d8e5878d">Become More Senior iOS Developer with these 4 Xcode Tips & Tricks
• ❸☻- Simulation Emojimix on Xcode
#ios
Вчера у нас маркетологи начали подводить итоги года (кстати, заодно уж хочу обратить внимание на предыдущее огненное интервью Александра Багринцева из 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
• shubya8451/flutter-and-sqlite-a-deep-dive-into-local-data-persistence-5bb8098b8346">Flutter and SQLite: A Deep Dive into Local Data Persistence
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
• raya.wahyu.anggara/android-thread-43b30b61dee6">Android Thread & Relation With Coroutine
#android
Android
• Создаем пассивный UI в Jetpack Compose
• Google выплатит $700 млн в еще одном споре о Play Store
• Stone. Квалификаторы и идентификаторы
• dugguRK/unleashing-websocket-in-android-b82c887b0a27">Unleashing WebSocket in Android?
• Effect Handlers in Jetpack Compose: A Complete Guide
• Kotlin under the hood: how to get rid of recursion
• merkost/foreground-services-in-android-14-whats-changing-dcd56ad72788">Foreground Services in Android 14: What’s Changing?
• Multi-Module with Clean Architecture
#android
Если вы, как и я, интересовались, как 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
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
Рекурсия становится сложнее
Собрал новый еженедельный дайджест - с тако на обложке 🌮 Традиционно поставьте 👍 и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное, возможно и за пределом мобайла. Вот, например, 4 простые привычки в разработке ПО, которые изменили мою производительность.
Видео и подкасты за неделю:
• (iOS Ru)
xcconfig: интеграция в проект, валидация и подключение к Tuist
• (iOS Ru)
Объединяем Combine и Swift Concurrency
• (iOS Ru)
SwiftData как замена CoreData: глубокое погружение
• (iOS Ru)
Маслины и грабли: все, что вам нужно знать о разработке продукта полностью на SwiftUI
• (iOS En)
Implementing Drag Gestures In Xcode 15
• (iOS En)
How to Answer iOS Interview Questions Like a Pro
• (iOS En)
App Localizations
• (And Ru)
Android SDK Extensions — новые фичи на старых Android
• (And Ru)
Разработка для нестандартных устройств
• (And Ru)
Мок-собеседование по Android System Design
• (And En)
Now in Android: 97 - Gemini, AICore, ML Kit, Android Studio Hedgehog, and more!
• (And En)
Detecting faces and landmarks - ML on Android with MediaPipe
• (And En)
Should You Use a Navigation Library in Jetpack Compose?
• (And En)
Full Guide to Multiple Back Stacks in Jetpack Compose - Android Studio Tutorial
• (Crs Ru)
Многомодульность на Flutter или как не выстрелить себе в ногу
• (Dev Ru)
Как формировать топовые команды
• (Dev Ru)
Ozon Tech Community Techdoc MeetupКак обычно - поставьте 👍 и поделитесь подборкой!
Android
• Google Generative AI Sample: пример работы с Gemini
• ThrowInDB — Разбираю домашний хлам или сам себе склад
• Detekt: как статический анализ помогает улучшить код автотестов
• Multitasking Intrusion and Preventing Screenshots in Android Apps
• Crash Course on the Android UI Layer
• Navigating Multiple Technical Migrations in Our Domain: Motivation and Strategy
#android
😮 Привет, читатели! На связи PROMOBILE
Если вы ищете способы оптимизировать свое мобильное приложение, вывести в топ позиции и привлечь больше органических пользователей, то наша команда готова в этом помочь!
🔎 Какие услуги предоставляем?
🅰 App Store Optimization (аудит, конкурентный анализ, полное сопровождение);
📱 Услуги с гарантией и оплатой за результат (позиции ключевых запросов, репутация, индексация приложения, топ категории и пр. KPI);
🔍 Продвижение ключевых запросов в App Store (iPhone/iPad) и Google Play;
⭐ Работа с репутацией.
🤔 Почему стоит обратиться?
🔝Доступ к качественному источнику мотивированного трафика;
🔝Покрытие всех стран, дополнительных локализаций, неограниченные объемы;
🔝Сопровождение на каждом этапе и обмен опытом, экспертиза в нишах любой сложности;
🔝Продвинутые возможности работы (управление конверсией показов по запросу, RR, индексирование запроса)
Свяжитесь с нами для получения бесплатной и индивидуальной стратегии по оптимизации вашего проекта!
@Ilya_login
https://promobile.app
Android
• Используйте Gemini в своих приложениях для Android
• Kotlin под капотом: как избавится от рекурсии
• MVI Architecture with Jetpack Compose
• Leverage Gemini in your Android apps
• Optimizing Mobile App Performance
• dugguRK/kotlin-mutex-a-comprehensive-guide-5771a3f59713">Kotlin Mutex: A Comprehensive Guide
#android
Google открыл доступ к Gemini Pro
На прошлой неделе Google представил свою самую функциональную ИИ-модель - Gemini. Gemini является мультимодальной - она может принимать как текстовые, так и графические данные. Компания представила разработчикам Android возможность использовать самую маленькую модель Gemini Nano на устройствах через AICore. А сегодня Google представил разработчикам Android новые возможности доступа к модели Gemini Pro, которая работает вне устройства, в центрах обработки данных Google.
1. Gemini Pro доступна через Gemini AP. Чтобы упростить интеграцию Gemini Pro, вы можете использовать Google AI SDK, клиентский SDK для Android.
2. Google AI Studio предоставляет разработчикам упрощенный способ интеграции модели Gemini Pro, создания промптов, ключей API и легкого превращения идей в приложения с искусственным интеллектом. осле разработки подсказки в Google AI Studio вы можете просто нажать на действие "Получить код", чтобы сгенерировать фрагмент кода на языке Kotlin, и начать интеграцию Gemini уже сегодня, используя Google AI SDK для Android.
3. В Android Studio есть новый шаблон проекта для разработчиков, чтобы они могли сразу же начать работу с Google AI SDK для Android.
И что: крайне просто и приятно, ждем решения от Apple.
Адвент-календарь MonkeyUser на 2023 год
Все в пост не влезло, поэтому отдельными картинками тут.