Привет, на связи Podlodka iOS Crew!
Уже 27 февраля мы открываем новый сезон. Все сессии мы посвятили инфраструктуре, от которой зависит не только скорость и качество разработки приложения, но и как оно будет работать.
Разберём эту тему по косточкам вместе с опытными экспертами из Сбера, Мегафона, Яндекс, Тинькофф и других топовых компаний:
🌟 Научимся укрощать сложные пайплайны на Ruby.
🌟 Узнаем, что такое dependencies hell в iOS-монорепозитории и как справляться с его последствиями.
🌟 Выясним, как автоматизировать локализацию приложения на примере арабского цифрового банка.
🌟 Обсудим, как автоматизировать работу App Store Connect API.
Запускаемся 27 февраля: подробности и билеты — на сайте.
Онлайн-конференции Podlodka Crew родились из одноимённого IT-подкаста. Вместе с экспертами рассматриваем одну тему с разных сторон, чтобы узнать её как можно глубже.
Если ваш дизайнер по старинке на глаз ресайзит кнопочки и кружочки, чтобы они казались одинаковыми, то вот в первой статье интересные математически точные подходы к «оптическому выравниванию». Собственно, их там всего три - сравнение по площади, выпуклая оболочка и использование центров. Но выглядят интересно и правильно с любой точки зрения - математика лучше интуиции ◼️⚫️
Разработка
• Формулы для оптических настроек: как придать фигурам одинаковый визуальный вес
• Самые высокооплачиваемые вакансии февраля в области разработки приложений
• Более 30% приложений в App Store и Google Play заброшены
• На заметку маркетологу: 10 самых популярных вопросов по работе с mobile DSP и in-app инвентарем. Опыт агентства Rocket10.
• Уроки Duolingo: от стартапа до IPO
• Avito Analytics meetup #9
• Ozon Tech Community Mobile Meetup
• Как написать HashMap — пошаговая инструкция
• Podlodka #307: Darklang
• Feishu, китайский аналог Slack, достиг $100 млн ARR
• 9 Logging best practices
• Software accessibility for users with Attention Deficit Disorder (ADHD)
• I am a bad software developer and this is my life
iOS
• 72% всех iPhone работают на iOS 16
• В iOS и iPadOS 16.4 появятся веб пуш-уведомления
• SnapKit: простой Auto Layout для iOS
• Пишем типизированный DI-контейнер для iOS приложения. Часть 2. Жизненные циклы
• Gold and Silver metallic gradients in SwiftUI
• Consuming Compose for iOS in a SwiftUI application
• Introducing EditKit Pro
• Arbitrary Beautiful Colors
• What’s new in Xcode 14.3 and iOS 16.4
• XCode Tips : Collections of tips for Xcode
• Manage View State With Enums
Android
• RSS Parser: парсинг RSS на Kotlin
• The huge potential of Kotlin/Wasm
• Fun with State in Jetpack Compose
• Refactoring our Dependency Injection using Anvil
Кроссплатформа
• Что нового в Kotlin Multiplatform Mobile
• flutterqueen/flutter-road-map-guide-2023-9caac0279c7e">Flutter Road-Map Guide 2023
• Flutter OCR with the Google ML Kit
• Simplifying Multiple Returns in Dart 3.0 with Records
KMM и MDM в лабиринте Google
Новый большой еженедельный дайджест - и снова на 92 материала. Прочитайте, поговорите, поставьте 👍 или ❤️, поделитесь, подпишитесь, поддержите и все такое прочее на П, буду крайне благодарен.
Видео за неделю
• (iOS/And Ru)
Ozon Tech Community Mobile Meetup
• (iOS En)
How to Manage SwiftUI Updates with Swift If Available
• (iOS En)
SwiftUI Tutorial: How to work with ScrollView for Complex Layouts
• (iOS En)
SwiftUI Animated Sticky Header With Auto Scrollable Tabs
• (iOS En)
Don't Let AI to Steal iOS Dev Job, Use it to be 10X Programmer
• (And En)
Introduction to drawing in Compose
• (And En)
Constraints and modifier order
• (And En)
The ULTIMATE Permission Handling Guide (Showing rationale + Permanently Declined)
• (And En)
I Built a Note Android App With ChatGPT
• (And En)
Android app performance with Perfetto
• (And En)
Becoming an Android librarian with Jaewoong Eum
• (Crs Ru)
Что нового в Kotlin Multiplatform Mobile
• (Anl Ru)
Avito Analytics meetup #9
• (Dev Ru)
Как написать HashMap — пошаговая инструкция
• (Dev En)
Podlodka #307: Darklang
• (Grw En)
Уроки Duolingo: от стартапа до IPO
👩💻3/4 всех телефонов и умных устройств работают на базе Android. Количество приложений на Android постоянно растет, создаются новые магазины приложений, а Android-разработка остается одним из самых востребованных направлений в IT.
Начать осваивать это направление никогда не поздно! Создать с нуля первые мобильные приложения поможет специализация «Android Developer» в OTUS. Это онлайн-курс длительностью 10 месяцев, где вы освоите все тренды Android-разработки на Kotlin от экспертов известных компаний: https://otus.pw/UHDl/
👉Протестируйте учебный процесс заранее и приходите на бесплатные уроки курса:
— «Android-разработка с нуля»: https://otus.pw/VIDQ/
— «Создаём приложение для трекинга воды»: https://otus.pw/zKGx/
— «Создаём приложение таймер за 60 минут»: https://otus.pw/aXVT/
Реклама. Информация о рекламодателе на сайте www.otus.ru.
Google начал бета-тестирование своей Песочницы конфиденциальности (Privacy Sandbox), которая была анонсирована год назад. Это такой ответ на ATT в iOS - забота о конфиденциальности пользователей при сохранении возможности таргетинга рекламы. Работает песочница на отдельном SDK, который существует в Android 13. Бета-тестирование случайным образом отправляется пользователям, так что принять в нем участие намеренно пока не представляется возможным. Так или иначе, если ваша модель получения доходов основана на рекламе - уже пора внедрять Privacy Sandbox, скоро она будет готова.
Разработка
• Google начинает бета-тестирование песочницы конфиденциальности
• Темный режим — просто трата времени?
• Copilot for Business стал общедоступен
• Senior developers understand the fundamentals
iOS
• PythonKit: Python из Swift
• CoreData с использованием дженериков и шаблона проектирования Одиночка
• astulz/achieving-consistent-and-continuous-delivery-for-ios-part-1-fastlane-beac9f1becdd">Achieving consistent and continuous delivery for iOS
• Apple doesn’t want you developing hobby apps
• Adding Contacts on Apple Platforms without Entitlements
• The Art of Sequential Animations in SwiftUI: Tips, Tricks, and Examples
• Swift Regex Tutorial: Getting Started
Android
• Google улучшает работу Chrome в Android-приложениях
• Создание мобильного приложения для рисования на Android Studio
• rishvikvardhan/dynamic-feature-delivery-in-a-multi-module-project-7fe5445aada3">Dynamic Feature Delivery in a Multi-Module Project
• Gradle 8.0 Releases
• Handling back press in Android 13, the correct way
• Remove Ripple Effect from Clickable and Toggleable Widget In Jetpack Compose
Кроссплатформа
• daniele.monaca1/ci-for-your-flutter-app-with-github-actions-for-beginners-f0c57c83cf9a">CI For Your Flutter App With GitHub Actions For Beginners
• How to build a real-time multiplayer game with Flutter Flame
Copilot for Business стал общедоступен
GitHub объявил, что Copilot for Business стал общедоступен.
1. Copilot для бизнеса добавляет такие функции, как управление лицензиями, управление политиками в масштабах всей организации и дополнительные функции конфиденциальности.
2. Сам Copilot теперь поддерживает соединения через прокси. Инструмент дополнения кода теперь работает на основе улучшенной модели от OpenAI.
3. Команда постоянно совершенствует модели и добавляет новые функции. Например, появилось “дополнение-в-середине”, когда модель может добавлять операторы в середине строки. Авторы также постоянно работают над уменьшением задержки.
4. Гендир GitHub Томас Домке ожидает, что вскоре Copilot сможет генерировать 80% кода разработчика. Сегодня это около 46% для разных языков программирования и 61% для Java.
5. “Выпуск Copilot for Business фактически завершает нашу историю о Copilot версии 1”, — сказал он. “Мы объявили о preview версии в июне 2021 года — кажется, что это было много лет назад — а затем прошлым летом он стал общедоступным. Теперь мы готовы развернуть его для организаций, компаний, команд, предприятий — практически для всех».
Бум фотоприложений с искусственным интеллектом сошёл на нет
Данные компании Apptopia показывают, что интерес потребителей к фотоприложениям с искусственным интеллектом упал так же быстро, как и вырос.
1. На старте ажиотажа 11 ноября у группы фотоприложений с ИИ был самый низкий доход — 0.37 миллиона долларов. А через неделю, 19 ноября, они увидели самое низкое количество загрузок — 0.84 миллиона.
2. Потом случились «магические аватары» Lensa AI и на пике популярности загрузки превышали 4.3 миллиона в день и расходы пользователей на встроенные покупки составляли около 1.8 миллиона долларов в день.
3. По состоянию на вчерашний день в той же группе приложений было всего около 952,000 загрузок в совокупности и около 507,000 долларов потребительских расходов.
4. Рынок мгновенно перенасытился. В то же время рос интерес к другой форме технологии ИИ - ChatGPT. Чат-бот с искусственным интеллектом был выпущен 30 ноября 2022 года и вскоре привлек внимание потребителей. К январю App Store снова был наводнен приложениями с искусственным интеллектом. Совсем недавно мы увидели, что интерес потребителей к возможностям ChatGPT вывел Microsoft Bing на вершину App Store после того, как компания объявила об интеграции с новой технологией чат-ботов OpenAI.
И что: всплеск потребительского интереса к приложениям с ИИ для обработки фотографий, ChatGPT, а теперь и к Bing, указывает на то, что люди обращают внимание на технологию ИИ и действительно хотят опробовать новые идеи на собственном опыте.
Эволюция архитектуры приложения Facebook* для iOS
8 лет развития архитектуры приложения в одном обзоре. С 2014 года, когда были Core Data, MVC, Objective-C(++) и запуск до 30 секунд, до 2022, когда используются внутренние абстракции, динамические библиотеки, плагины и Swift. Пот, кровь и слезы пользователей и разработчиков в поиске лучшего опыта.
Статья: https://apptractor.ru/FBiOS8
Платформа: iOS
*Meta, в том числе ее продукты Facebook и Instagram, признана экстремистской организацией в России.
Telegram заработал $7 млн за полгода
По оценкам AppFigures, в период с июня по декабрь 2022 года Telegram заработал в общей сложности 7 миллионов долларов чистого дохода в App Store и Google Play. Это то, что Telegram получил после того, как отдал Apple и Google их долю.
1. Много это или мало? Больше, чем у Twitter. Но меньше, чем у, например, Snapchat, который тоже внедрил платную подписку в 2022.
2. Рост выручки замедлился с 67% в августе, третьем месяце, до всего 12% в декабре.
3. Продажа небольших функций, хотя и приятная, просто не может обеспечить такого роста, который можно было бы увидеть от Telegram с аудиторией в миллиарды человек. Это может сработать с более молодой аудиторией Snap, пишет AppFigures, но Telegram действительно нужно развернуть что-то полезное, чтобы увидеть значительный рост.
VK приглашает ML- и мобильных разработчиков на Weekend Offer.
Куда приглашают?
В своих командах вас ждет Дзен, Почта Mail.ru, Антиспам и Маруся. А еще в команде ML Дзена очень ждут Java-разработчиков, которые готовы развиваться в ML.
Как все пройдет?
• До 16 февраля оставляйте отклик, и с вами свяжутся, чтобы коротко рассказать о командах и выбрать слот для индивидуального интервью.
• 18 февраля вас ждет детальное знакомство с тимлидами команд: они подробно расскажут о задачах, которые вам предстоит решать, а также пройдут индивидуальные технические онлайн-собеседования.
• 19 февраля состоится финальное собеседование: вы сможете пообщаться с понравившимися командами, узнать больше о предстоящих вызовах и получить ответы на оставшиеся вопросы, а вечером определят лучших кандидатов и отправят им офферы.
Откликнуться можно тут
GitHub, принадлежащий Microsoft, сегодня объявил, что уволит 10% своих работников
1. Это примерно 300 из 3000 работающих в GitHub человек.
2. GitHub также продлит мораторий на найм новых сотрудников.
3. Для сокращения затрат GitHub переходит на Teams для удовлетворения своих запросов на видеоконференции.
4. Цикл обновления ноутбуков увеличен с 3 до 4 лет.
5. Глобальная цель - чтобы компания стала "developer-first инженерной системой для мира завтрашнего дня с особым вниманием к искусственному интеллекту".
В 2022 году в России упал спрос на разработчиков приложений под операционные системы iOS и Android
1. За 2022 год по данным hh.ru количество вакансий в РФ для iOS-разработчиков упало на 20%, до 15.6 тыс. В январе снижение составило уже 40%.
2. По данным «Хабр Карьеры», в январе количество вакансий под iOS-разработчиков уменьшилось на 19%.
3. За 2022 год по данным hh количество вакансий в РФ для Android-разработчиков упало на 19%, до 17.3 тыс., в январе — на 36%.
4. По данным «Хабр Карьеры», число вакансий для разработчиков на Android в январе, наоборот, выросло на 18%.
5. Но растет число вакансий для разработчиков под российские мобильные ОС. Так, для разработчиков под ОС «Аврора» количество вакансий в 2022 году выросло на 53%, до 359 (по итогам 2021 года было опубликовано 235 вакансий). Число вакансий для разработчиков на Kaspersky OS выросло на 9% год к году, до 6.1 тыс.
Magic, еще один аналог Copilot от GitHub, получил 23 миллиона в Серии А от фонда CapitalG (Alphabet) и ряда инвесторов. Любопытно, что работающей версии у стартапа нет и работает над ИИ всего 6 человек. Зато в планах сделать ИИ, который будет программировать в компаниях, понимать legacy код и учить новичков. Недавно закрывшийся Kite свой product-market fit так и не нашел. Его автор на момент прекращения работы говорил, что создание инструмента, способного синтезировать продакшен код, может стоить более 100 миллионов долларов. Так что получится ли у Magic - большой вопрос.
Разработка
• $23 млн в Серии А: Magic — ИИ-платформа написания кода
• Пять примечательных функций Postman, которые мы используем в тестировании банковских систем
• All You Need Is Love-able Products
iOS
• Как ускорить Swift, упорядочив соответствия
• Apple Fired Me as a Software Engineer
• A Beginner’s Guide to Styling Components in SwiftUI
• Mastering charts in SwiftUI. Interactions.
• swvl/automating-ios-releases-using-github-actions-59ae879220d4">Automating iOS releases using GitHub Actions
• Our 1 Mistake in iOS App Modularization That Slows our Xcode Build process
Android
• Google унифицирует вход в приложения с Credential Manager API
• Tracker Go: отслеживание бега
• RuStore завершил бета-тестирование
• Как адаптировать Android-приложение под Huawei
• The K2 Compiler is going stable in Kotlin 2.0
• Kotlin Flow for Android Development Crash Course
• How to build a custom Facebook login button using Firebase Auth in Jetpack Compose
Кроссплатформа
• neetishsingh97/flutter-using-magic-container-2313588d063">Flutter: Using Magic Container
• alxlion/how-i-created-an-open-source-bereal-clone-with-flutter-b994493e062f">How I created an open-source BeReal clone with Flutter
По неподтвержденным данным, увольнения в Google в значительной степени коснулись команды, работавшей на Fuchsia. Пишут, что общая численность персонала Google должна быть сокращена примерно на 6%, а команда Fuchsia пострадала гораздо больше - было уволено не менее 16% . По тем же источникам внутренний инкубатора Area 120 вообще практически прекратил свое существование, что очень жаль, мне всегда нравились его проекты. Возвращаясь к Fuchsia - да, 16% от 400 работников не так уж и много, но сокращения еще больше подчеркивают туманность будущего ОС, кому и где она будет нужна, как будет развиваться.
Разработка
• Fuchsia и Area 120 пострадали от увольнений в Google
• Чит-лист функционального тестирования, памятка тестировщику
• The Value of Code Versus The Value Of A Product
• Optimistic UI and How It Makes the Web Feel Faster
• 2023: The Future Of Ui/Ux Design (and How You Can Prepare)
iOS
• Custom Slider Control: слайдер для iOS
• How I Built an Emoji Picker Library for iOS
• How to Add OAuth in iOS in Half an Hour
• peterdestasio/understanding-automatic-reference-counting-arc-in-ios-development-59233f7ca847">Understanding Automatic Reference Counting (ARC) in iOS Development
• How Abstractions Help Us Solve Tight Coupling
Android
• Как в Dropbox сделали загрузку с камеры в Android быстрее и надежнее
• Android и предустановленное ПО на Galaxy S23 занимает до 60 Гб
• Speed Up Your Jetpack Compose Development With the Compose Helper IDE plugin
• asmaeziani47/how-to-protect-your-android-apk-and-implement-security-measures-4372578286a0">How to Protect Your Android APK and Implement Security Measures
• Pattern Matching in Kotlin is Awesome
• Introduction to Class Delegation
Кроссплатформа
• Supporting Multiple Modals in React Native: A New Approach
$12.6 млн в Серии А: AeroCloud — облачная платформа управления аэропортом
Вы знаете, какое ПО управляет аэропортами? И я нет, а ведь это рынок в 20 млрд долларов.
1. AeroCloud, стартап с облачным программным обеспечением для управления аэропортами, привлек 12.6 млн в Серии A.
2. Декларируемые преимущества AeroCloud - мгновенный доступ к данным и инсайтам для всех + ИИ + прогнозирование.
3. Ведь большинство крупных аэропортов полагаются на статичные системы конкурентов, изначально созданные в конце 80-х годов!
4. С новыми инвестициями AeroCloud готовится удвоить численность персонала до 80 человек в 2023 году, а также планирует увеличить свою клиентскую базу до более чем 100 компаний — по сравнению с сегодняшними 42.
И что: интересная область - управление аэропортом. Наверняка есть еще десятки подобный "скрытых" областей, до сих пор работающих на ПО 80-ых, которые можно улучшить.
Более 30% приложений в App Store и Google Play заброшены
В App Store и Google Play есть миллионы приложений и игр, но сколько из них активно разрабатываются и поддерживаются?
1. По данным AppFigures, в среднем для двух магазинов 34% приложений не обновлялись более двух лет.
2. В App Store 30% приложений и игр не обновлялись более 2 лет, а в Google Play эта цифра достигает колоссальных 37%.
3. По данным Pixalate, в абсолютных цифрах это 496,000 в App Store и 1.3 миллиона в Google Play.
4. Если посмотреть на разбивку по категориям заброшенных приложений (за исключением игр), в обоих магазинах выигрывают «Образование», «Утилиты» и «Бизнес».
5. При этом популярные из “заброшенных” все еще получают много новых загрузок и оценок, то есть они все еще используются сегодня.
И что: можно найти заброшенное приложение, которое все еще популярно, понять по каким релевантным ключевым словам оно ранжируется и создать лучшую версию, взяв все предложения фич и жалобы из отзывов.
Для работы в международной команде базового английского может не хватить. Держите 5 советов, которые помогут подготовиться к общению с иностранными коллегами.
Если хотите подтянуть язык для работы в IT — попробуйте Яндекс Практикум. Они запустили курсы специально для разработчиков, аналитиков и продакт-менеджеров.
В основе обучения — занятия с личным преподавателем, дополнительно вас ждёт разговорная практика с иностранными IT-специалистами. Они помогут освоить язык на примере собеседований, стендапов, ревью и других рабочих встреч. Будет проще пройти реальное англоязычное собеседование, если вы уже тренировали его на занятиях.
Записывайтесь на бесплатную консультацию к куратору. Он определит ваш уровень языка и расскажет о курсе.
Из вчерашнего еще про Android - кроме песочницы, Google улучшает работу Chrome с приложениями, сделав Partial Custom Tabs и Chrome Custom Tabs. Первое это вкладка, которая открывается не на весь экран, то есть за ним будет видно приложение. Высоту можно настраивать, основная идея - одновременная работа и в приложении и в вебе. Второе это обозначение, что все в Chrome безопасно и надежно, а значит пользователи смогут использовать, например, сохраненные пароли или автозаполнение. Таким образом, WebView, вероятно, станет уже не так актуален, а можно будет направлять пользователей в нормальный Chrome.
Разработка
• Лабиринт находится в мыши: чем болеет Google (и можно ли его вылечить)
• VK совместно с ИТМО и РТУ МИРЭА запускает образовательный курс по геймдизайну
• Snap добавил трассировку лучей в свои линзы
• Как «очеловечивали» дизайн-язык Алисы
• Transforming Healthcare with MEDIC Doctor App: A Case Study
iOS
• NSPredicate: старый API с новыми сюрпризами
• Что нового в Swift 5.7: Regex
• An Unexpected Behavior of Subclasses in Swift
• How to manage SwiftUI updates with Swift available
• Mastering charts in SwiftUI. Customizations.
• Using Lenses in Swift
Android
• Read You: RSS-ридер для Android
• sinasamaki/loading-images-using-coil-in-jetpack-compose-2f00bb08f573">Loading images using coil in Jetpack Compose
• Android App Development in 10 Hours Bootcamp | Android 13
• Constraints and modifier order
• Kotlin | Higher-Order Functions and Lambda Expressions
Кроссплатформа
• Почему анимированная погода – это код из конфигуратора или История одного грустного пакета
• Introducing Realm for Dart & Flutter
• bedirhanssaglam/flutter-advanced-dependency-injection-best-practice-2bcf6f48de72">Flutter - Advanced Dependency Injection (Best Practice)
• Building a Flutter-WebRTC App: A Complete Guide
Лабиринт находится в мыши: чем болеет Google (и можно ли его вылечить)
Удивительно, как Google умудрился наступить на те же грабли, что когда-то и Microsoft. Компания стала бюрократией, перестала поощрять инновации, а главным стало "не раскачивать лодку".
Прейвин Сешадри присоединился к Google незадолго до пандемии, когда компания AppSheet, соучредителем которой он был, была приобретена Google Cloud. Теперь, по истечении трехлетнего обязательного периода работы, он ушел из Google, и рассказывает как некогда великая компания постепенно перестала нормально функционировать.
Сможет ли Google достичь «мягкой посадки» — то есть постепенно трансформироваться и снова стать лидером, продолжая неуклонно расти? Большинство компаний не проходят этот тест. Либо они постепенно увядают, а затем остаются тенью самих себя (например, IBM), либо эффектно терпят неудачу (например, AT&T). Microsoft удалось изменить ситуацию, но для этого потребовалось исключительное лидерство и удача. У Google есть шанс, и я буду его поддерживать. Мир получит огромную выгоду, если Google заново откроет свои корни как амбициозной компании, которая «не будет делать зла» и будет стремиться сделать мир лучше. Мыши могут отучиться от своего лабиринта.
Статья: https://apptractor.ru/ggllabrnt
Я с интересной инфой для тех, кто хочет получать стабильный доход от показов рекламы в приложении.
Появился новый сервис от Яндекса: Простая монетизация. Если у вас есть собственное приложение, то это прям находка! Эксперты настроят рекламу самостоятельно без вашего участия, вам не придется вникать в сложные процессы и ломать голову над непростыми задачами.
То есть вы получаете выплаты одним платежом, а ребята проводят полный анализ рекламы, подключают оптимальный набор рекламных сетей, следят за их эффективностью и по необходимости корректируют. От вас нужно только само приложение!
Узнать больше и получить ответы на вопросы можно здесь.
Облака и их сервисы, вроде Firebase, стали настоящим спасением для большинства из нас (каждый раз с ужасом думаю, как мне надо было поднимать сетевую базу данных и сколько времени и денег на это ушло бы). Но для больших проектов что выгоднее - свой мощный сервер или облако? Автор первой статьи с интересом рассматривает эту тему и показывает, что свой сервер на хостинге в 5-25 РАЗ дешевле облака той же производительности. Да, возникает масса условия для выбора и своих проблем, но основной вывод - просто подумайте, нужна ли вам облачная производительность и функции, а потом просто посчитайте, что будет выгоднее.
Разработка
• Облако или свой большой сервер?
• Тренд фотоприложений с искусственным интеллектом сошёл на нет
• Себестоимость iPhone 14 Pro Max составляет 464 доллара
• Ktor: подключенные приложения на Kotlin
• Is dark mode simply a time sink?
• How does Spotify’s lyrics color selection work?
iOS
• Парсинг ответов на BLE-команды на языке Swift на примере GoPro
• Building a Neural Network from Scratch in SwiftUI
• gianlucaannina_34907/coredata-using-generics-and-the-singleton-design-pattern-afb3cd18c43f">CoreData using Generics and the Singleton design pattern
• How iOS Pro Access Assets and Config Files
• Adding a stretchable header to a SwiftUI ScrollView
• How to Create Configurable Widgets With Static Options?
Android
• Effective testing with Android Test Only Modules
• Android TV Leanback: Playback Controls
• KConMapper — How To Automate Mapping Function Creation With Kotlin’s KSP
• Migrating Sunflower to Jetpack Compose
• fierydinesh/basics-of-mediapipe-for-android-platform-61fdf79d33a2">Basics of Mediapipe for Android Platform
Кроссплатформа
• Как интегрировать Яндекс Карты в приложение на Flutter
• Using cache pods, React Native can speed up iOS builds by 4 times
• Patrol 1.0 - Powerful Flutter UI Testing Framework
Два интересных исследования о приложениях для здоровья. Европейцы потратили почти 300 миллионов долларов на приложения для здоровья и фитнеса в 2022 году, что привело к увеличению валового дохода на 5% по сравнению с позапрошлым годом. Однако загрузки падают третий год подряд и темпы роста после пандемийного взрыва в 2020 снижаются. С 2022 года подкатегория «Женское здоровье» является самой быстрорастущей подкатегорией в «Здоровье и фитнес». И Sensor Tower предполагает, что именно это направление может служить драйвером роста в категории.
Разработка
• Приложения для здоровья и фитнеса в Европе — отчет Sensor Tower
• Кто и как использует приложения для здоровья и хорошего самочувствия — исследование Airship
• Telegram заработал $7 млн за полгода
• Podlodka #306: observability и логирование
• Myst вышел на iOS
• GitHub уволит 10% сотрудников
• Лучшие библиотеки Java для тестирования в 2023 году
• Как Никита Биер дважды получил миллионы юзеров и продал один и тот же продукт за миллионы долларов
• Deployment is harder than coding
• Defying physics in UX
• The Change of Mobile Teams Topology for an Organization
iOS
• Эволюция архитектуры приложения Facebook для iOS
• SwiftGen: генератор кода для ассетов
• Превратности диспетчеризации в Swift
• Detached Tasks in Swift explained with code examples
• Breaking Down String Format Specifiers in Swift
• Build a Custom Sliding Keyboard in SwiftUI
Android
• Собеседование Junior Android-разработчика на оффер в реальном времени
• Flashlight: измерение производительности приложений на Android
• Автоматизации и инфраструктура вместо рутины и бойлерплейта
• Как стать разработчиком в Южной Корее — инсайдерский взгляд
• Android TV 13 наконец запустился
• Kotlin Generic Variance Modifiers
• How to Implement Continuous Deployment (CD) for Android With Azure
• Keep your app from failing in a 64-bit-only Android phone
• Do-It-Yourself Compose Multiplatform Navigation with Decompose
Кроссплатформа
• KMM глазами iOS-разработчика
• Control your Flutter app on the fly with Firebase Remote Config
• Material 3 in Flutter: Design Cross-Platform Applications Quickly
👩💻Создайте полноценное приложение на Kotlin с нуля!
Присоединяйтесь 15 февраля в 20:00 мск к открытому уроку онлайн-курса «Kotlin Backend Developer. Professional» OTUS.
Что мы сделаем на занятии?
✅Рассмотрим интересные технологии из сферы Kotlin, из-за чего язык становится мощным и удобным инструментом:
✅Создадим мультиплатформенный проект, на Kotlin/JVM и Kotlin/JS
✅Напишем фронтенд с помощью удобных DSL для React и CSS
✅ Воспользуемся корутинами для клиент-серверного взаимодействия.
Урок ориентирован на разработчиков, знакомых с объектно-ориентированным программированием и SQL.
🧑💻Экспертом на занятии выступит Кирилл Крылов, Kotlin Software Developer. Не упустите возможность протестировать формат обучения и пообщаться с преподавателем курса!
➡️Для регистрации на урок пройдите вступительный тест: https://otus.pw/iuBS/
Реклама. Информация о рекламодателе на сайте www.otus.ru.
Huawei и зомби как в MacOS
Новый большой еженедельный дайджест на 92 материала. Прочитайте, обсудите, поставьте 👍 или ❤️, поделитесь, подпишитесь и все такое прочее, буду крайне благодарен 😀
Видео за неделю
• (iOS Ру)
Все о Combine за 45 мин с примерами кода
• (iOS En)
SwiftUI Dynamic Tab Indicators
• (iOS En)
watchOS: Complications
• (iOS En)
Swift 5.8: what will be the new features?
• (And Ru)
Автоматизации и инфраструктура вместо рутины и бойлерплейта
• (And Ru)
Как стать разработчиком в Южной Корее — инсайдерский взгляд
• (And En)
From data to UI: Compose phases - MAD Skills
• (And En)
The BEST Way to Implement a Search In Jetpack Compose
• (And En)
Kotlin Flow for Android Development Crash Course
• (Crs Ru)
Flutter Dev Podcast #39: Flutter и PWA
• (Dev Ru)
Podlodka #306: observability и логирование
• (Dev En)
When To Properly Leave Jobs So Your Career Doesn’t Get Punished
Пользуясь тем, что про самое интересное уже рассказал днем, хочу напомнить, что скоро заканчивается новый опрос Developer Nation - ключевой опрос разработчиков. Пройти просто, можно выиграть призы, заодно внести вклад в общее понимание IT-мира.
Разработка
• Спрос на iOS и Android разработчиков в 2022 упал на 20%
• Вышла Developer Preview версия Android 14
• Godot 4: Getting Started
• Accessibility Handoff: a guide for product designers
iOS
• Animated Tab Bar: панель вкладок на SwiftUI
• greenSyntax/ssl-pinning-in-ios-f508b5860ead">SSL Pinning in iOS
• I Stopped Using Third-Party Frameworks For My Swift Projects. Here’s What Happened
• Conquer Data Races with Swift Actors
• How to write README file for the iOS project
• jamesthang1996/unleash-your-creativity-with-custom-shapes-in-swiftui-c3c260865667">Unleash Your Creativity with Custom Shapes in SwiftUI
Android
• Как защитить ваш Android APK и внедрить меры безопасности
• Какие параметры компьютера влияют на скорость сборки Gradle проекта
• yahyalmh/coroutines-cancellation-d844a8000f9f">Coroutines cancellation
• Branch by Abstraction in Android project
• Compose phases
• benlue/advanced-forms-in-android-with-compose-form-154ee0bff65b">Advanced forms in Android with Compose Form
• Kotlin Arrow KT Monad: A Beginner’s Guide
Кроссплатформа
• Flutter Shaders: An Introduction
• Control your Flutter app on the fly with Firebase Remote Config
Google выпустил первую Developer Preview версию Android 14
1. Главные особенности этого релиза:
- Работа на разных устройствах и форм-факторах
- Оптимизация фоновой работы
- Дальнейшая кастомизация UI и работа с языками (появится, например, возможность делать гендерно зависимые переводы, my ass!)
- Безопасность и защита данных
- Совместимость приложений (поддержка OpenJDK 17, упрощение тестирования и отладки изменений)
2. Бета-версия ОС появится весной, стабильная версия летом, а выпуск традиционно назначен на начало осени.
3. Developer Preview уже есть в эмуляторах и образ можно скачать на Pixel, начиная с 4.
❗️С какими проблемами можно столкнуться при локализации iOS-приложений и как их решать?
Приглашаем 16 февраля в 20:00 на бесплатный вебинар «Поддержка многоязычности в приложениях iOS» в OTUS.
📚На занятии вы узнаете:
— Как обстоят дела со стандартной локализацией строк в типовом проекте под iOS
— Какие проблемы встречаются при разработке и тестирования приложения
— Как эти проблемы решаются инструментами кодогенерации SwiftGen, R.swift
— Что такое плюрализм и как его использовать, чтобы перевод строк был менее топорным
— Как автоматизировать ревью строковых констант с помощью Localinter
— Какие есть способы и платформы для профессиональных переводов строк
В результате занятия мы запустим в XCode проект.
🔴 Регистрация на вебинар: https://otus.pw/Z8nK/
Занятие пройдет в рамках онлайн-курса «iOS Developer. Professional».
Как в Dropbox сделали загрузку с камеры в Android быстрее и надежнее
До недавнего времени загрузка с камеры была основана на библиотеке C++, совместно используемой приложениями для Android и iOS. В 2019 году мы решили, что переписать эту функцию — лучший способ обеспечить надежный и заслуживающий доверия пользовательский опыт на долгие годы. Реализации для Android и iOS стали отдельными, используют собственные языки платформы (Kotlin и Swift) и собственные библиотеки (такие как WorkManager и Room для Android).
В этой статье рассказывается о некоторых решениях по дизайну, проверке реализации и релизу, которые мы приняли при создании новой функции загрузки камеры для Android, которую мы выпустили для всех пользователей летом 2021 года. Проект был успешно запущен, без сбоев или серьезных проблем. Частота ошибок снизилась, а производительность загрузки значительно улучшилась.
Статья: https://apptractor.ru/drpbxphoto
Платформа: Android