iOS
• Как использовать URLSession с Async/Await для сетевых запросов в Swift
• Xcode становится все хуже и хуже — Обсуждение на Reddit
• Ultraviolence — декларативный Metal
• darrenthiores/automatic-dependency-injection-di-for-your-swift-application-to-make-your-code-clean-911a8b59cb8a">Automatic Dependency Injection (DI) for your Swift application to make your code clean
• Sparkling shiny things with Metal and SwiftUI
• Swift Format in Xcode
• Prevent screenshot capture of sensitive SwiftUI views
#ios
Xcode становится все хуже и хуже - Обсуждение на Reddit
Вечное обсуждение:
Мне кажется, или в последнее время Xcode превратился в сплошной кошмар? Я постоянно сталкиваюсь со сбоями, которые делают его практически непригодным для использования. Сегодня он упал, когда я просто набирал текст - никаких тяжелых задач, просто набирал текст! У меня также были случаи, когда текстовый редактор зависал. Я не мог изменить никакой контент, но я все еще могу щелкать по пользовательскому интерфейсу, что очень странно. Даже такие базовые функции, как копирование, работают неправильно: вместо того чтобы скопировать содержимое файла, он копирует путь к нему. Раньше все было не так плохо. С каждым выпуском опыт все ухудшается. И чтобы исключить это, скажу, что проблема не в моем MacBook - у меня M3 Max с 36 ГБ оперативной памяти.
Android
• Красота системы типов Kotlin
• Что такое Mainline в Android
• Android cookbook: готовим WebView правильно
• Kotlin Coroutines. Устройство и возможности использования
• Более частые выпуски Android SDK: более быстрые инновации и высокое качество
• Компьютерное зрение на С++: подключаем ML-библиотеки и обрабатываем результаты поиска объектов
• Как я писал суперкастомизированное Android-приложение в 2024 году
• Сравнение операторов RxJava 3 и Kotlin Coroutines Flow
• Диалог — часть навигации или нет?
• Compose Navigation The Old Way
• Widgets with Glance: Blending in
• Parameterized Android Tests with Burst 2.0
• jw/113427033356987061">Picasso is formally deprecated
#android
Открытый урок для разработчиков на Android, iOS, React Native, Ionic или Xamarin
📒Тема:
Используем GPU для создания настоящего 3D-движка в Flutter
📕Рассмотрим:
- Основы 3D-графики (вершинные и фрагментные шейдеры), определение шейдеров в impeller
- Создание собственных шейдеров для отображения 3D-объектов в Flutter-приложении
- Добавление света и теней, отображение 3D-изображения на экране
- Интеграция 3D в игровой движок Flame, создание несложной игры
📗Результат:
Создадим простой 3D-движок и разработаем простую игру в виртуальном 3D-мире.
📘Спикер:
Дмитрий Золотов — опытный Flutter+Kotlin Developer в Yandex, FullStack разработчик (Flutter/Python/Kotlin/GoLang/C++), преподаватель
Встречаемся 6 ноября в 20:00 мск. Всем участникам дадим скидку на основной курс.
👉 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://otus.pw/sOaJ/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Без теории к практике
Новая недельная подборка всего кода за неделю - ковка Metal и поиск регрессий в Compose, полностью переделанный React Native и форк Flutter, тактильный отклик в мобильных приложениях, сравнение размеров iOS и Android приложений, самые скачиваемые и зарабатывающие приложения в России в октябре и многое другое. Подключайтесь!
iOS-разработчикам, которые хотят прокачать свои навыки работы с многопоточностью – совсем скоро стартует Podlodka iOS Crew!
С 11 по 15 ноября лучшие эксперты разберут многопоточность, Swift Concurrency и алгоритмы в формате удобных онлайн-сессий.
В программе:
🔹 Александр Андрюхин проведёт нас через особенности Swift Concurrency, которых ты точно не знал
🔹 Swift 6 глазами Александра Априамашвили – как переход на новую версию поможет в повседневной работе.
🔹 Антон Марченко расскажет, как async в алгоритмах делает их быстрее.
🔹 Александр Сычев раскроет механизмы работы Thread и объяснит, как это важно для работы с многопоточностью.
Здесь только прикладная польза, реальные примеры и свежий опыт.
Присоединяйтесь 👉 https://podlodka.io/ioscrew
Вышел новый ежегодный отчет Octoverse, в котором GitHub рассматривает индустрию открытого программного обеспечения и свою роль в ней. Из интересного: впервые Python стал самым используемым языком на GitHub, поскольку глобальная активность open source разработчиков выходит за рамки традиционной разработки программного обеспечения; Топ-6 стран на GitHub — США, Индия, Китай. Бразилия, Великобритания и Россия; правда, России прочат падение на несколько мест в ближайшие годы; Топ проект - по количеству контрибюторов - VS Code; Flutter на 6 месте; Топ самых быстрорастущих языков - Python, TypeScript, Go, HCL, Kotlin, Dart.
Разработка
• Octoverse 2024: ежегодный отчет от GitHub
• Тактильный отклик в мобильных приложениях: что это такое, когда использовать и зачем?
• Decoupling Design From Engineering
• Why Pascal Deserves a Second Look
• Why sprints are taking the joy out of building software
Маркетинг и монетизация
• Рынок iOS-приложений в Европе — отчет Setapp
• VK Реклама упростила продвижение приложений из RuStore
• Nintendo выпустила стриминговое приложение с музыкой из своих игр
• How DreamPlus Games Makes $2M Per Month On Twilight Hype
Кроссплатформа
• Как начать создавать Flutter-приложения на Авроре: полная инструкция
• React Native, and "the native feel"
#mobile #dev
iOS
• Делаем в SwiftUI размытие экрана при переключении задачи
• Improving test coverage with parameterized tests in Swift testing
• How to automatically update build and version numbers in your app using Fastlane
• Preview Driven Development
#ios
Рынок iOS-приложений в Европе
Компания Setapp подготовила расширенный отчет о запросах, предпочтениях и поведении пользователей iPhone и iPad в Европе.
• 81.6 миллиона пользователей iPhone или iPad в ЕС
• 15 миллионов совершают покупки в приложениях
• Лучшие неигровые категории, за которые готовы платить пользователи - Продуктивность, Финансы, Здоровье и Фитнес
• 16-24-летние составляют самую большую возрастную группу пользователей iOS/iPadOS (26%), за ними следуют 25-34-летние (23%) - таким образом молодые пользователи моложе 35 лет составляют 49%
• 30% пользователей 16-24 платят за приложения
• Редакционные подборки и топы в App Store являются доминирующим источником информации о новых приложениях для iOS (49%), однако поиск в Google также эффективен (45%), а на третьем месте прямой поиск задачи/решения проблемы в App Store
Android
• Поиск регрессий в Compose
• Главный метод Android-приложения
• amarkumarprajapti/tips-to-improve-frame-rates-in-android-apps-67cecb6bb64e">Tips to Improve Frame Rates in Android Apps
• azizbek.rasulmetov2000/android-interview-questions-about-activity-component-68a7f4ffdb5b">Android interview questions about Activity component
#android
Более четверти нового кода в Google создается ИИ
Сегодня был отчет о квартальных прибылях и убытках Google. Все выросло, но самое интересное другое.
Более четверти всего нового кода в Google генерируется искусственным интеллектом, затем проверяется и принимается инженерами, — заявил генеральный директор Сундар Пичаи в ходе отчета.
Android
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 5
• Lawnchair — лаунчер для Android
• Как написать Android приложение, которое не будет стыдно положить в портфолио. Гайд для новичков в Android разработке
• 5th элемент корпоративной мобильности: разбираемся с Separated apps в KNOX Service Plugin (KSP)
• saadkhan.cdz/generating-code-coverage-report-with-jacoco-a-complete-guide-for-android-part-3-a7c57561bcda">Generating Code Coverage Report with JaCoCo: A Complete Guide for Android
• Mastering DisposableEffect in Jetpack Compose: Managing Side Effects Effectively
• Gradle Modularisation
#android
Flock - форк Flutter
Очевидно, что Flutter если не находится в упадке, то явно притормозил свое развитие. Команда минимальна, многие тикеты могут лежать в бэклоге годами, 3 из 6 поддерживаемых платформ находятся в "режиме обслуживания".
Тут появляется форк Flock. Его описывают как Flutter+, другими словами, авторы не хотят и не собираются форкать сообщество Flutter, а хотят просто добавлять важные исправления ошибок и популярные фичи от сообщества, которые команда Flutter либо не может, либо не хочет реализовать.
Форк даст следующие возможности:
• Позволит набрать гораздо большую команду PR рецензентов, чем в команде Flutter. Это означает более быстрое рассмотрение.
• За счет этого создаст поддержку более широкой аудитории контрибьюторов.
• Упростит и оптимизирует политику разработки.
• Позволит использовать успехи для социального поощрения еще большего количества контрибьюторов.
Первым шагом Flock станет зеркалирование Flutter и оно вроде как уже работает. Сейчас работа с Flock никак не отличается от работы с Flutter, а организаторы привлекают ревьюверов и лидов для работы над платформой.
Android
• Google работает над аналогом Dynamic Island для Android
• Android Compose Accessibility Techniques — лучшие практики доступности
• Кастомный Date and Time picker как в Telegram на Kotlin Jetpack Compose
• Gemini on Android, The story so far
• Compose Performace - Finding Regressions
• How To Create a Parallax Movie Pager In Jetpack Compose
• Koin Annotations 1.4 stable & First 2.0 beta version
• Droidcon Lisbon 2024
• binod.basnet777/automating-versioning-and-apk-naming-in-gradle-for-android-projects-c58e98298ef0">Automating Versioning and APK Naming in Gradle for Android Projects
#android
Крутить и не кусаться
Подборка всех статей и новостей за неделю - ключевые изменения в UIKit и восстановление удаленных сообщений в Telegram, самые весёлые TODO из Android-фреймворка и короткий путь с Senior-ами, инфляция званий, сравнение доходов App Store и Google Play, Yolo на пятирублёвой монете и многое другое. Подключайтесь!
🌐 Про "чаще кодь на салфетке" конечно совет не очень ☺️, но в целом у @Ikopiev, кажется, получилось лучше всего. Напиши в личку - дам код.
Читать полностью…Слушайте, а кто понимает - что с React Native происходит? Т акое впечатление, что у фреймворка открылось второе дыхание. Это его новая архитектура так торкнула? Вот Shopify докладывает, что полностью перешли на RN, Хабр пишет, какой он прекрасный… Объясните, может пора уже хоронить native?
Разработка
• Почему спринты отнимают радость от создания программного обеспечения
• Самые высокооплачиваемые вакансии октября в сфере разработки приложений
• Задачи с собеседований: Leetcode — Наибольший общий префикс
• От натива до SDUI через гибрид
• Карьера мобильного разработчика 2024
• Разработка в робототехнике — Автоматизация, Автопилоты
• Лучшие клавиатуры 2024
• If you need the money, don't take the job
• How to Say No
• Power Up Your Brain with Mental Models
Маркетинг и монетизация
• ИИ соберет главное из отзывов на приложения в RuStore
• Самые скачиваемые и зарабатывающие приложения в России в октябре 2024
• Apple купила Pixelmator
Кроссплатформа
• FilmSimulator — фильтры для изображений на KMM
• Антитренды в мобильной разработке на Flutter
• We've just finished migrating the Shopify mobile app to React Native
• Getting Started with Koin Annotations 1.4 in Compose Multiplatform
#mobile #dev #reactnative
iOS
• Как устроена библиотека AppMetrica
• Фреш на полке, фреш в стеке
• Здесь куют Metal
• Как iOS-разработчику выжить на проекте с KMP?
• Geometrize — изображения из примитивов
• How to Use URLSession with Async/Await for Network Requests in Swift
• Introducing Swift Testing. Traits.
• Getting started with LiteRT (Tensorflow Lite)
• SwiftUI Self-Sizing Flow Layouts
• New in SwiftUI: the macro @Entry
• Xcode’s Stability Is Going Downhill—Anyone Else Struggling?
#ios
Разыгрываю билет на Podlodka iOS Crew
Расскажи в комментариях - какой совет ты бы дал тем, кто только начинает разрабатывать мобильные приложения?
Из ответивших выберу победителя (по количеству лайков, а может случайно, как пойдет).
Видео и подкасты за неделю на @AppFiles
• (iOS Ru)
Как устроена библиотека AppMetrica
• (iOS Ru)
Здесь куют Metal
• (iOS Ru)
Как iOS-разработчику выжить на проекте с KMP?
• (iOS En)
Convert a SwiftUI view to an image
• (iOS En)
Translation API
• (iOS En)
Accessibility - The clock is ticking
• (iOS En)
SwiftUI Bottom Sheet like Apple Music App
• (And Ru)
Android cookbook: готовим WebView правильно
• (And Ru)
Kotlin Coroutines. Устройство и возможности использования
• (And Ru)
Фреш на полке, фреш в стеке
• (And En)
More frequent Android SDK releases, and a look into updates on Android
• (And En)
Navigation In Multi-Module Android Apps
• (And En)
The Ultimate Beginner's Roadmap to Android App Architecture
• (And En)
Dangerous Minds: How we're getting developer education wrong
• (Dev Ru)
От натива до SDUI через гибрид
• (Dev Ru)
Карьера мобильного разработчика 2024
• (Dev Ru)
Разработка в робототехнике — Автоматизация, Автопилоты
• (Dev En)
Google Cloud Digital Leader Certification Course 2024
#ios #android #mobile #video
🇸🇱 Более частые выпуски Android SDK
В будущем Android будет выпускать SDK чаще: в 2025 году запланировано два выпуска с новыми API для разработчиков. Эти релизы помогут быстрее внедрять инновации в приложения и устройства, а также повысят стабильность и качество работы для пользователей и разработчиков.
• В следующем году выпустят один крупный релиз во втором квартале и один минорный релиз в четвертом квартале, оба будут включать новые API для разработчиков.
• Основной релиз Q2 будет единственным релизом в 2025 году, который будет включать изменения поведения, которые могут повлиять на приложения.
• Google планирует выпустить основной релиз во втором, а не в третьем квартале, чтобы лучше согласовать его с графиком выпуска устройств в экосистеме, чтобы больше устройств могли получить основной релиз Android раньше.
• Минорный релиз Q4 будет содержать обновления функций, оптимизации и исправления ошибок с момента выхода основного релиза. Он также будет включать новые API для разработчиков, но не будет содержать никаких изменений в поведении приложений.
• Помимо основных и второстепенных релизов Android, релизы Q1 и Q3 будут содержать инкрементные обновления для обеспечения постоянного качества.
• Чтобы отличить крупные релизы (которые могут содержать запланированные изменения поведения) от минорных, минорные релизы не будут увеличивать уровень API. Вместо этого они будут увеличивать новое значение минорного уровня API, доступ к которому будет осуществляться с помощью константы, которая определяет как основной, так и минорный уровни API. Новый атрибут манифеста позволит вам указать минорный уровень API в качестве минимально необходимой версии SDK для вашего приложения. Начальная версия поддержки минорных уровней API будет представлена в предстоящей предварительной версии Q2.
И что: поскольку крупный релиз выходит во втором квартале, вам нужно будет провести ежегодное тестирование совместимости на несколько месяцев раньше, чем в предыдущие годы, чтобы убедиться, что ваши приложения готовы. В дополнение к тестированию совместимости со следующим крупным релизом вам нужно будет протестировать свои сборки и системы CI с SDK, поддерживающими мажорный и минорный уровни API - некоторые системы сборки (включая сборку Android Gradle) могут потребовать адаптации.
Android
• Compose Unstyled — UI-компоненты Compose Multiplatform
• The beauty of Kotlin Type System
• mkaomwakuni/elevate-your-dependency-injection-game-koin-4-0-unveiled-for-kotlin-developers-468ac1d91862">Elevate Your Dependency Injection Game: Koin 4.0 Unveiled for Kotlin Developers
• Google confirms the Android 16 dessert code-name is Baklava
• More frequent Android SDK releases: faster innovation, higher quality and more polish
#android
💥 2LEADS приглашает тебя на «Баерские посиделки» 💥
Эй, перформанс-маркетинг спецы, User Acquisition гуру, трафик-менеджеры и медиабаеры!
В программе:
💚 Альтернатива для безальтернативных: Вадим Жарновецкий, тимлид медиабаинга агентства 2LEADS, расскажет про различные варианты и возможности закупки трафика в уже ставших привычными источниками по-новому (APK, альт.сторы и т.п.).
💚Фрод в перформанс-маркетинге с точки зрения клиента: Алексей Фомин, Head of Performance marketing Бургер Кинг, расскажет, на что влияет фрод и как с ним работать, исходя из клиентского опыта "Бургер Кинг".
💚Отключить нельзя оставить: Даня Вершинин, Buying Team Lead агентства Go Mobile, расскажет, как работать с трафиком с кастомных клавиатур.
Наши спикеры, представляющие как агентства, так и компании-клиенты, поделятся уникальными перспективами и опытом.
🗓Дата: 7 ноября
🕚Время: 19:00
📍Место: Шмитовский пр., 3, стр. 1
Регистрация 😮
erid: LjN8KWVvx
Реклама ООО"ТУЛИДС" ИНН 6317122270
"Были же люди, как люди и вдруг все сразу стали ИИ. Парадокс” (С) App Store вслед за Google Play планирует внедрить ИИ-суммаризацию в страницы приложений. Докладывают, что Apple разработала новую систему, которая будет использовать все отзывы пользователей в App Store для создания сводки, выделяющей «наиболее распространенные характеристики». Идея заключается в том, чтобы пользователям было проще определить, когда приложение не соответствует тому, что оно обещает в App Store. Поскольку резюме будут генерироваться автоматически, разработчики, по словам Apple, смогут сообщать, когда они считают резюме «неточным». Подробностей о том, когда именно заработает новая функция, пока нет, но, учитывая, что ее уже можно найти в API App Store, предположительно это произойдет очень скоро.
Разработка
• GitHub обновляет Copilot
• Более четверти нового кода в Google создается ИИ
• Using an 8K TV as a monitor
• On One-on-Ones - Insights From 1,500 Meetings
Маркетинг и монетизация
• App Store будет показывать сводку отзывов, сделанную ИИ
Кроссплатформа
• Kotlin Multiplatform Development Roadmap for 2025
• Using Vertex AI in a Compose/Kotlin Multiplatform project
• I built a web app with Flutter and this is how I feel about it
• Yellowtoast/breaking-up-with-getx-know-the-facts-before-you-judge-f298d32cdfe7">Breaking Up with GetX: Know the Facts Before You Judge
#mobile #dev
iOS
• Paralayout — пиксельно идеальная верстка в iOS
• Installing and Using Copilot in Xcode: AI Code Completion
• The Strategy Pattern
• Problematic Swift Concurrency Patterns
• Introducing Swift Testing. Lifecycle.
• Implement blurring when multitasking in SwiftUI
#ios
🔨 + 🧑✈️ Copilot от GitHub наконец-то добрался до Xcode. Сегодня на конференции Universe анонсировали ряд крупных новинок, включая проект Spark для написания приложений полностью ИИ, а также поддержку нескольких моделей для Copilot. Но для нас самое интересное - интеграция в главную IDE. Пока основное внимание уделяется завершению кода, но Copilot Chat и другие его функции, вероятно, со временем появятся в Xcode. Конечно, хотя сам Copilot никогда не поддерживал Xcode, мы видели несколько проектов, таких как расширение CopilotForXcode, которые использовали API GitHub, чтобы принести завершение кода Copilot в Xcode. Кроме того, сама Apple говорит о собственных ИИ-инструментах для разработчиков. Так что скоро у нас будет конкуренция и в этой области.
Разработка
• How to build the perfect mobile release train
• Amphion: OS audio, music & speech generation toolkit
Маркетинг и монетизация
• Маркетологи в мобайле: Любовь Бондарева (Rostic’s)
• My 9 Favorite Growth Framework
Кроссплатформа
• Создан Flock — форк Flutter
• Пробуем Flutter в Telegram Mini Apps: Насколько хорошее решение для разработки?
• React Native полностью переделан
• How to Migrate from Dagger 2 / Hilt to Koin for KMP
• Architect Your React Native app to handle Millions of Users and Large Development Teams
• koreshreyash/inspektor-multiplatform-http-inspection-library-for-ktor-6c78ae5e5661">Inspektor — Multiplatform HTTP inspection library for KTOR
iOS
• Copilot появился в Apple Xcode
• Реализуем Face ID аутентификацию в iOS-приложении
• Swift TaskGroup на примерах
• Making illegal states unrepresentable
• Measuring View Visibility Percentage in SwiftUI Using PreferenceKeys
• Using the #require macro for Swift Testing
• batrakov.vitaly/coordinators-swiftui-569a7f9a22c6">Coordinators & SwiftUI
#ios
Ребята из Emerge Tool разобрались в том, как и почему отличаются размеры приложений для Android и iOS. Действительно, на первый взгляд, например, Gmail в Google Play весит 34 Мб, а в App Store 547. Резонный вопрос - что за фигня? Но все не так просто. Начиная с того, что Play указывает размер скачиваемого пакета, а App Store - установленного. Заканчивая разницей в языках, платформах, слайсинге и некоторых других технологиях. В общем, если вам интересно - прочитайте разбор от Emerge и больше не жалуйтесь ☺️
Разработка
• Правда ли, что приложения для Android намного меньше, чем для iOS?
• Обзор Lenovo ThinkBook Plus Gen 5 Hybrid: больше безумных ноутбуков!
• Backend vs Frontend: сравниваем опыт разработчиков — что сложнее, перспективнее и кому больше платят
• Grafana: инструкция по применению
• Тесты с душком
• Как писать библиотеки: проектирование API, обратная совместимость
• ИИ Anthropic теперь может писать и выполнять код
• Write code that is easy to delete, not easy to extend
• Investigation of a Workbench UI Latency Issue
Маркетинг и монетизация
• Как я использовал Keynote для создания скриншотов и роликов для App Store
• Приложение Screenable превращает любой iPhone в стартовый телефон для детей
Кроссплатформа
• Шеринг файлов локализации между несколькими пакетами в Flutter
• sys.int64/flutter-raii-simplifying-resource-management-in-your-apps-8d7cc5e46f8b">Flutter RAII: Simplifying Resource Management in Your Apps
iOS
Обратите внимание - Apple обновила TestFlight несколькими новыми фичами.
• Apple обновляет TestFlight
• CoreDataEvolution — безопасная многопоточность для Core Data
• Избавляемся от Context в бизнес логике — как ответить на собеседовании
• Apple открывает исследование безопасности Private Cloud Compute
• App development on iPad
• Why is xcodebuild slower than the Xcode GUI?
• Understanding actors in Swift
• Implement Face ID Authentication in the iOS App
• Simplify Your iOS CI with Makefiles
#ios
Видео и подкасты за неделю на @AppFiles
• (iOS En)
CocoaHeadsNL Meetup
• (iOS En)
Google Engineer Teaches Us How to Set Up Firebase in Your iOS Project
• (iOS En)
App-Wide Overlays | SwiftUI
• (iOS En)
MockData, PreviewModifiers and PreviewTraits in SwiftUI
• (And Ru)
Избавляемся от Context в бизнес логике — как ответить на собеседовании
• (And En)
Studio Jewelry - Android Developers Backstage
• (And En)
How to Migrate Your App to Support the NEW Predictive Back Gestures On Android
• (And En)
How to Implement Image Compression On Android
• (And En)
Practical Tips and Tricks to Improve Your Compose Previews
• (Dev Ru)
Backend vs Frontend: сравниваем опыт разработчиков — что сложнее, перспективнее и кому больше платят
• (Dev Ru)
Grafana: инструкция по применению
• (Dev Ru)
Тесты с душком
• (Dev Ru)
Как писать библиотеки: проектирование API, обратная совместимость
• (Dev En)
Learn Claude AI – Build Text Summarizers, Image Describers, and More with the Anthropic API
• (Dev En)
Gemma Developer Day Tokyo
#ios #android #mobile #video