Императивная оптимизация воображаемых проблем
Новый еженедельный дайджест - 114 материалов. Обязательно прочитайте, поставьте 👍 или 🖤, поделитесь или поддержите. И присоединяйтесь к IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Вот, например, у меня там был материал "Курс Программирование на GPU: Когда, зачем и как?" - будущее систем высокопроизводительных вычислений, скорее всего, будет обеспечено GPU или другими типами ускорителей, поэтому их программирование имеет решающее значение для разработчиков.
Android
• Сервисы Google и Huawei в единой кодовой базе Android-приложения
• Эволюция уязвимостей в приложениях для Android
• A few shorthands for Jetpack Compose
• Android Data Repository — Simple pattern that we misunderstand
• Jetpack Compose Custom Layout Made Easy
• Negative Padding For Jetpack Compose Made Possible
#android
А вот я вам новое “покушать” принес - Warp, приложение терминала (дада, терминал, это “черный экран с зеленым текстом, который хакеры используют в фильмах, чтобы обезвредить бомбы”) на Rust. C автодополнением, темами, и, конечно, ИИ. Без доходов, но получил $50 млн в Серии Б (сколько в А неизвестно)... Терминал, my ass 🙈. Планируют Warp Drive для совместного использования и вообще идти по предприятия. Деньги, конечно, удивительные, но мораль как всегда в конце - “Warp показывает, как много еще можно сделать даже с очевидными вещами, если взглянуть по-новому на важную часть технологии”.
Разработка
• $50 млн в Серии В: Warp — терминал с ИИ
• Яндекс в 2.5 раза увеличил годовой фонд программы «Охота за ошибками» — до 100 млн рублей
• Про тестирование мобильных приложений. Часть 4. Интеграционное тестирование
• A 20-year-experienced CTO’s Advice “Don’t Be a Humble Developer”
• How to fail basic refactor using Clean Architecture
• 4 mistakes to avoid to build a better 1-person business
Маркетинг
• Bumble тестирует приложение для поиска друзей
Кроссплатформа
• Some useful linter rules for React Native
• Revolutionizing Focus Management in TV Applications with React Native
• How to Add Themes to Your Flutter Apps with Adaptive Chameleon Theme
Хотите освоить разработку 3D-игр на Flutter для iOS, Android и Web с использованием Impeller и WebGL?
🟠Приходите 28 июня в 20:00 мск на открытый урок «Введение в разработку 3D-игр на Flutter для iOS/Android и Web с использованием Impeller и WebGL» онлайн-курса Flutter Mobile Developer от OTUS.
📝На открытом уроке мы разберем:
— новые возможности Flutter 3.10 и Dart 3 и используем их для создания простой интерактивной трехмерной игры с фоновой музыкой и звуковыми эффектами;
— попробуем подключиться к внешним устройствам через механизмы вызова нативного кода.
Урок подходит для всех, кто имеет опыт в программировании и хочет научиться писать мультиплатформенные мобильные приложения, использующие одну и ту же кодовую базу для iOS и Android. Продолжить обучение вы сможете на курсе Flutter Mobile Developer, который можно приобрести в рассрочку.
➡️ Регистрация на открытый урок: https://otus.pw/CiYR/
Нативная интеграция. Информация о продукте www.otus.ru
Android
• Clock of Clocks: часы на Jetpack Compose
• Фантастический Compose и его побочные эффекты
• Какого цвета Ripple?
• sam-cooper/5-pro-kotlin-dev-hacks-for-more-assertive-code-26cd2db4d7d7">5 Pro Kotlin Dev Hacks For More Assertive Code
• theapache64/adb-say-bye-to-multi-device-error-240ba10777a2">ADB - Say bye to “more than one device/emulator” error
• I want to run any number of Android UI tests on each PR. Your actions?
• Android Mastering the Integration: Coexisting Google and Huawei Mobile Services in a Single Codebase
#android
Перевел статью про воображаемые проблемы в разработке. Под конец автор свалился с какой-то манифест против корпоративного кумовства и бюрократии, но в начале, конечно, во многом прав. Решать воображаемые проблемы интереснее, а растянутые линии коммуникаций и неправильного понимания приводят к появлению софтверных монстров. Решения автор не дает, но тут уже во многом понятно - ТЗ, общение напрямую с разработкой, поэтапный контроль. А так рекомендую, автор пишет забавно и со вкусом.
Разработка
• Воображаемые проблемы — корень плохого программного обеспечения
• OpenAI планирует открыть свой магазин приложений
• $4.4 млн: Hyperline — платформа биллинга для SaaS
Маркетинг
• A practical guide to Google app campaigns
• Реклама в App Store на вкладке «Сегодня» станет компактной
Кроссплатформа
• Алгоритм создания бесшовного списка данных
• Kotlin Multiplatform, Compose Multiplatform: Apple’s Strategic Failure
• abhinavkumarsintoo/image-push-notification-advanced-in-flutter-ios-android-f2b8eefaa7f4">Image Push Notification(Advanced) in Flutter using Firebase(iOS & Android)
• bajajfinservhealth_/revolutionise-your-workflow-cut-react-native-build-time-by-67-68a47dbf993b">Revolutionise Your Workflow: Cut React Native Build Time by 67%
Android
• Библиотека MockWebServer-DSL в open-source: делаем конфетку из сетевых запросов в UI-тестах
• joseph.1hach/increase-the-performance-in-jetpack-compose-a238f881b0ad">Increase the Performance in Jetpack Compose
• Accessibility & Testing in Jetpack Compose
• shobhith/difference-between-and-in-kotlin-9edc281ba27c">Difference between == and === in Kotlin
• Kotlin Delegates: The Secret Ingredient for Decorator Pattern!
• User stack animation in Jetpack Compose
#android
У Unity вышел 2023 Mobile Growth and Monetization Report. Об играх, но в целом, наверное, картинка и в приложениях похожа. Так вот, 77% игроков, когда-либо сделавших покупку, сделали это в течение первых двух недель. Есть из этого два очевидных вывода. Первый - дальше уже мало кто покупает и надо окучивать другими методами, в первую очередь рекламой. А второй - все силы надо бросить на то, чтобы человек купил что-либо на старте. Звучит как советы КО, но повторение - мать учения. Так что стоит посмотреть на свой продукт еще раз и подумать, где и что можно продать новичку.
Разработка
• Вышел 2023 Mobile Growth and Monetization Report от Unity
• Что влияет на опыт разработчиков — исследование GitHub
• Microsoft анонсировала Fluent 2
• Эффективное сокращение времени выполнения автоматизированных UI тестов
• Inside StarCoder: The New Open Source LLM that Can Generative Code in Over 80 Programming Languages
• 15 Must-Have Figma Plugins for UX/UI Designers in 2023
• tsecretdeveloper/programmers-are-in-demand-here-is-why-you-cant-get-a-job-e56ace737529">Programmers Are in Demandtsecretdeveloper/programmers-are-in-demand-here-is-why-you-cant-get-a-job-e56ace737529">💥tsecretdeveloper/programmers-are-in-demand-here-is-why-you-cant-get-a-job-e56ace737529">. Here Is Why You Can’t Get a Job.
• Linking Modular Architecture to Development Teams
Маркетинг
• 5 reasons why apps fail in some African countries
Кроссплатформа
• Дружим Flutter с С# и С++
• Native Apps Are Dead
Что влияет на Developer Experience
GitHub совместно с компанией Wakefield Research провели опрос 500 американских разработчиков в корпоративных компаниях.
Один из вопросов - какие вещи положительно влияют на рабочие дни разработчиков.
1. На первом месте - профессиональное развитие и изучение нового.
2. На втором месте - работа с отзывами реальных пользователей.
3. На третьем - получение автоматических ответов от инструментов проверки.
4. Дальше - создание решений для новых проблем, асинхронные коммуникации с командой, написание нового кода.
5. Интересно, что почти все это вошло и в топ ответов "Что негативно влияет на рабочие дни".
И что: разработчика, сука, сложный, DevEx еще более занятная вещь.
iOS
• SwiftSyntax: парсинг Swift кода
• Vision OS сессии WWDC2023: введение в пространственные вычисления Apple
• Little big improvements in Xcode 15
• Inspectors in SwiftUI
• How to Handle Empty States Using UIContentUnavailableConfiguration
• The @Environment && @EnvironmentProperty SwiftUI Property Wrappers
#ios
Время ограничений
Новый еженедельный дайджест - 90 материалов. Прочитайте, поговорите, поставьте 👍 или 🤯, поделитесь, подпишитесь, поддержите. И присоединяйтесь к IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Вот, например, у меня там была ссылка "Кто в ИТ служил, тот в цирке не смеётся" - иногда из-за «черных лебедей» проект начинает жить настолько бредовым и непредсказуемым образом, что ты ощущаешь себя героем трагикомедии.
Видео и подкасты за неделю
• (iOS En)
Spatial computing!
• (iOS En)
How to use Refreshable modifier in SwiftUI
• (iOS En)
Xcode 15 - What's New
• (iOS En)
Transition Animations w/ ScrollViews in SwiftUI
• (And Ru)
История ограничений фоновой работы в Android для разработчиков
• (And Ru)
Генерируем файлы с кодом по шаблону в Android Studio LiveTemplates
• (And En)
Now in Android: 85 - Platform and Quality at I/O, Android 14 Beta 3, Jetpack releases
• (And En)
Top 3 things to know in Multi-device for Android at Google I/O '23
• (And En)
Tasks, Back Stack & Launch Modes - Android Basics 2023
• (And En)
Activities & the Activity Lifecycle - Android Basics 2023
• (Crs Ru)
Почему KMM — не кроссплатформа?
• (Dev Ru)
Специфика и эффективное управление разработкой мобильных приложений
• (Dev Ru)
Data driven’ность — как командам аналитики фокусироваться на важных вещах
• (Dev Ru)
Видео Techdoc Meetup
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
Android
• Card Game Animation: анимация карт на Jetpack Compose
• Как тестировать Android-приложения без использования эмуляторов? Знакомство с фермами мобильных устройств
• Кто и в каких задачах быстрее? Coroutines, RxJava, Executor?
• Где и как можно ускорить приложение на Android
• Permissions в Android: как не допустить ошибок при разработке
• Jetpack Compose Tutorial: Replicating the Water Level Widget
• Jetpack Compose List Sticky Header
• Dynamic Kotlin with Zipline
• mohammadjoumani/paging-with-clean-architecture-in-jetpack-compose-775fbf589256">Paging With Clean Architecture In Jetpack Compose
• How to create Expandable List in Jetpack Compose
#android
Относительно временно в Дубае 🏦 Если есть кто - давайте встретимся потрындим за жизнь и приложения, а то относительно давно не.
Разработка
• Canva выпускает SDK и новые API для своей платформы
• 4 из 5 работодателей в IT и телекоме повышали зарплаты в течение последнего года
• $4 млн: Pollen — профессиональная сеть для фрилансеров
• Результаты опроса разработчиков Stack Overflow 2023
• О том, почему так важно участвовать в жизни профессионального комьюнити
• Case Study: Kaiten. Brand Identity and Product Design for Food Marketplace
• The Stupid Programmer Manifesto
• Grokking the Coding Interview: Mastering the 20 Coding Patterns
Кроссплатформа
• From Android to Multiplatform: Real 100% Jetpack Compose App
• alexandersnotes/flutter-custom-theme-with-themeextension-792034106abc">Flutter Custom Theme with ThemeExtension + Templates
Stack Overflow опубликовал результаты ежегодного опроса разработчиков
В нем приняло участие около 90,000 человек со всего мира.
1. В самых популярных языках как обычно лидирует JavaScript. Kotlin и Dart ожидаемо обгоняют Swift.
2. GitHub Copilot стал самым популярным ИИ инструментом для разработчиков: в прошлом году им пользовались (из тех, кто пользовались) 55% респондентов, что в четыре раза больше, чем у второго лидера — Tabnine — 13%.
3. Самые оплачиваемые технологии и языки - Zig, Erlang и F#. Objective-C стандартно опережает Swift, оба они намного обгоняют Kotlin.
Видео и подкасты за неделю
• (iOS Ru)
SwiftUI vs UIKit. Что выбрать новичку?
• (iOS En)
visionOS Fundamentals
• (iOS En)
SwiftUI Menu and Context Menu: How to Show Buttons with Dropdown Lists
• (iOS En)
SwiftUI Presentations with Modals, Bottom Sheets, and FullScreen cover in iOS
• (iOS En)
MatchedGeometryEffect in SwiftUI
• (And Ru)
Android TextView freezesText — замораживаем текст в Android-приложении
• (And Ru)
Что внутри Android SDK
• (And En)
Top 3 things to know from Google Play at Google I/O '2
• (And En)
Technical quality on Google Play
• (And En)
What is the Context? - Android Basics 2023
• (And En)
ViewModels & Configuration Changes - Android Basics 2023
• (And En)
The Art of App Modularization
• (Dev Ru)
Podlodka #323: выбираем язык конфигураций — YAML, TOML или Dhall
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
iOS
• Apple выпустила visionOS SDK
• Quick: behavior-driven тестирование
• Внедряем MapKit Яндекс Карт в iOS приложение
• ganeshrajugalla/1000-ios-interview-questions-and-answers-your-path-to-success-89d7ccf67b5d">2000+ iOS Interview Questions And Answers: Your Path to Success
• Slow architecture in Swift
• Animate SF Symbols with symbolEffect
#ios
Мечтали о космосе, а работаете в опенспейсе?
Мы тоже… Но мечты же должны сбываться! Поэтому мы создали свои мультивселенные и решили провести там настоящие соревнования по спортивному хакингу IT’s Tinkoff CTF.
Путешественников ждут 30 порталов в новые измерения. Там предстоит пройти миссии, набрать максимальное количество баллов и, конечно, разгадать все пасхалки.
Задания будут интересны разработчикам, SRE- и QA-инженерам, аналитикам и другим ИТ-специалистам. А еще вы сможете потренироваться на тестовых заданиях и выбрать лигу по своим скиллам.
Лучшим командам — вселенский почет и денежные призы до 360 000 рублей!
Покорять мультивселенные отправимся 15 и 16 июля. Участвовать можно онлайн и очно в 14 ИТ-хабах Тинькофф по всей России. Офлайн-участников ждут квизы, настолки, крутой мерч и нетворкинг с экспертами.
🚀Переходите на IT’s Tinkoff CTF, читайте подробности и регистрируйтесь!
Да пребудут с вами силы мультивселенной капибары!
(Упс… кажется, мы спалили первую пасхалку, Хьюстон)
Ерид: LdtCKZmzw
Apple выпустила visionOS SDK
Apple объявила о выпуске visionOS SDK и всех инструментов разработки для Vision Pro.
1. visionOS SDK включен в новый релиз Xcode 15 beta 2.
2. Там же есть Reality Composer Pro для 3D моделирования и симулятор ОС.
3. В следующем месяце откроет лаборатории в Купертино, Лондоне, Мюнхене, Шанхае, Сингапуре и Токио. В этих лабораториях разработчики смогут получить практическое время работы с Vision Pro для тестирования своих приложений. Инженеры Apple также будут готовы оказать поддержку на месте.
4. Также в следующем месяце Apple откроет прием заявок для разработчиков, желающих получить комплект разработчиков Vision Pro.
И что: все по плану, если планировали начинать, то самое время.
iOS
• Многопоточность в iOS-разработке
• Немного о перечислениях в Swift
• Императивный UIKit vs Декларативный SwiftUI
• Agile Architecture in Swift
• A Deep Dive Into Observation: A New Way to Boost SwiftUI Performance
• Run iOS tests with Marathon Cloud
• Building Your Own Swift Code Generator Using Swift Script
• Meet StoreKit SubscriptionStoreView in iOS 17
#ios
🔥🔝 Готовы прокачать навыки андроид-разработки?
➡️ Успейте попасть в группу онлайн-курса «Android Developer. Professional» OTUS!
Чтобы проверить достаточно ли у вас навыков для обучения на курсе
👉 Пройдите тест
5️⃣ За 5 месяцев обучения вы научитесь ускорять свои приложения с помощью Android SDK, организовывать инфраструктуру, выбирать архитектурные паттерны, тестировать приложения и использовать современные библиотеки и фреймворки.
❌📊Все это на живых вебинарах и практике с разработчиками крупнейших компаний.
В конце курса в качестве проекта для портфолио вы создадите тонкий клиент к какому-либо сервису с публичным API.
📌Старт занятий 30 июня.
👉 Изучайте программу курса и проходите тест для записи в группу: https://otus.pw/ALmz/
Нативная интеграция. Информация о продукте www.otus.ru
iOS
• Как использовать UIContentUnavailableConfiguration для управления пустыми состояниями
• Swift Macros: лучшие макросы Swift
• На смену CoreData пришёл новый фреймворк SwiftData. Разбираемся, как он упрощает хранение данных
• Mastering SwiftUI’s onChange
• Deep Dive into the New Features of ScrollView in SwiftUI 5
• Xcode Previews with UIKit and AppKit in Xcode 15
• Facade Design Pattern in Swift for Beginners (with async/await)
• A Deep Dive Into Observation: A New Way to Boost SwiftUI Performance
• Embracing MVVM: Empowering iOS Development with a Robust Architecture
• bahalek/storing-wkwebview-content-for-offline-access-in-your-ios-app-b61daf528df2">Storing WKWebView content for offline access in your iOS app
• Xcode Bookmarks: Save code landmarks & organize tasks
#ios
Alfa Mobile Meetup в Технопарке аттракционов 📲
23 июня в офисе Альфа-Банка в Москве пройдет митап для iOS и Android разработчиков.
Как всегда, будет два отдельных трека: для iOS и Android. И на каждом треке будут свои доклады от разработчиков из Альфы, Ozon и Яндекс.
На треке Android спикеры обсудят с участниками, зачем объединять код от разных команд в одну библиотеку и как создать Android-монорепозиторий, как работают альтернативные маркетплейсы для приложений и устроен процесс релизов у Альфа-Банка.
На треке iOS будет доклад про дебаггинг приложения без Xcode и дискуссия с коллегами из Яндекса и Ozon Tech.
А помимо докладов гости смогут поучаствовать в розыгрыше мерча от Альфы, попробовать хот-доги и сладкую вату.
Когда: 23 июня в 18:30
Где: в офисе Альфа-Банка в Москве или онлайн
Зарегистрироваться на митап и посмотреть программу
Android
• Compose Sensors: работа с сенсорами устройства в Compose
• История ограничений фоновой работы в Android для разработчиков
• Генерируем файлы с кодом по шаблону в Android Studio LiveTemplates
• App Size Metrics - Continuous monitoring of App Size
• Creating a Split Flap Display in Compose
• Builder Design Pattern in Kotlin
• Jetpack Compose — Making Composable lifecycle-aware
• patilshreyas/mastering-android-app-performance-analyzing-bottlenecks-with-perfetto-3176b59f26d2">Mastering Android App Performance: Analyzing Bottlenecks with Perfetto
#android
Подъехала тут любопытная статистика о релизе “фирменного” приложения ChatGPT. Выяснилось, что оно по заработкам сильно отстает от лидера Ask AI и примерно делит второе место с Genies. Выводов из этого можно сделать два. Первый - даже релиз официального приложения не всегда означает конец всех остальных. Второе - это удивительная технология, но большинство людей, кажется, до сих пор не знают, как использовать ChatGPT. Революция будет в инструментах, которые сделаны на основе ChatGPT. А значит место на рынке еще есть.
Разработка
• Приложение ChatGPT отстает от сторонних приложений
• Раскрытие возможностей шаблона Декоратор
• Специфика и эффективное управление разработкой мобильных приложений
• Data driven’ность — как командам аналитики фокусироваться на важных вещах
• Видео Techdoc Meetup
• В четверти российских компаний есть удаленные IT сотрудники
• Top 10 Best Open Source Projects on GitHub 2023
• Imaginary Problems Are the Root of Bad Software
• Metis: Building Airbnb’s Next Generation Data Management Platform
Маркетинг
• Стартап Wargraphs, состоящий из одного человека, продан за $54 млн
• 3 тренда, которые помогут возродить мобильные приложения в 2023 году
Кроссплатформа
• Почему KMM — не кроссплатформа?
• hussainabbas365/mvvm-with-clean-architecture-in-react-native-a-detailed-guide-3ff387944692">MVVM with Clean Architecture in React Native: A Detailed Guide
• alexandersnotes/flutter-custom-theme-with-themeextension-792034106abc">Flutter Custom Theme with ThemeExtension + Templates
❗️Успешно разрабатывать проекты на Kotlin с высокими рисками — это реально.
📣 Приглашаем 21 июня в 19:00 мск на бесплатный вебинар «Архитектура бэкенд-приложения в рисковом проекте» в OTUS!
📚 На вебинаре узнаете:
— Архитектурные и организационные меры для снижения рисков при разработке
— Инструменты PMBoK и TDD/MDD
— Элементы чистой архитектуры: модульная разработка, DI, DDD, шаблоны разработки
— Практические аспекты работы в условиях ограниченных ресурсов
➡️ Регистрация на вебинар: https://otus.pw/Chow/
🎁 Занятие является бесплатной пробной частью онлайн-курса OTUS «Kotlin Backend Developer».
Реклама. Информация о рекламодателе на сайте www.otus.ru
Стартап Wargraphs, состоящий из одного человека, продан за $54 млн
Главный продукт Wargraphs - популярное приложение-компаньон для League of Legends под названием Porofessor, которое помогает игрокам отслеживать и улучшать свои игровые показатели.
1. В настоящее время Wargraphs также ведет аналитику для Legends of Runeterra и Teamfight Tactics, но бизнес League of Legends стал для него самым крупным.
2. У Porofessor около 10 миллионов загрузок и более 1.25 миллиона ежедневных активных пользователей.
3. Компания, как таковая, существует уже около 10 лет и практически всегда была прибыльной, а ее доход за последний финансовый год составил 12.3 миллиона евро.
4. Занятно, что "стартап" в данном случае вольное толкование термина. В компании работает всего один сотрудник Жан-Николас и он полностью ведет бизнес на свои средства.
И что: в наши дни игровой бизнес - это огромные деньги. И это касается не только самих игр. Они также являются центром более крупных экосистем продуктов и услуг, которые сами также могут стать значительными областями генерации ценности.
iOS
• AudioKit: обработка аудио на Swift
• Новенькое с WWDC23: Отчёты о тестировании и аудит доступности
• WWDC 2023:Discover Observation in SwiftUI
• shiny.shubham/unlocking-the-power-of-the-decorator-pattern-f25594bc9ed5">Unlocking the Power of the Decorator Pattern
• Swift Actors — Common Problems and Tips
• mike.moiseienko/swiftui-how-to-implement-scheduled-view-updates-bf5de0405ee2">SwiftUI: How to Implement Scheduled View Updates
#ios
24 июня Яндекс и Яндекс Маркет проведут Yandex BDUI Conf — конференцию для iOS- и Android-разработчиков, которым интересен Backend-Driven UI.
Yandex BDUI Conf — это день докладов и отдыха в пространствах офиса Яндекса. А для онлайн-участников – трансляция всего происходящего и специальный доклад.
За день послушаем 7 докладов от Супераппа Яндекса и Яндекс Маркета, AliExpress Russia, Alfa и Авито. Спикеры расскажут о нашем опенсорс-фреймворке DivKit, архитектуре BDUI, раскатке приложений для Android с помощью Jetpack Compose.
Когда: 24 июня, 11:00
Формат: офлайн (будет премодерация) и онлайн в ВК и на YouTube
Программа и регистрация
Android
• Круговое раскрытие как в WhatsApp с помощью Jetpack Compose
• Platform Samples: примеры платформенных API Android
• Compose-recompose: почему происходят рекомпозиции и как уменьшить их количество
• Kotlin Coroutines Tutorial for Android: Getting Started
• theAndroidDeveloper/super-charge-your-android-developer-workflow-with-chat-gpt-2235c232f8c2">Super-charge your Android Developer Workflow with Chat-GPT
• anders-dev/how-to-avoid-multiple-onclick-events-on-your-jetpack-compose-buttons-4c0319142a59">How to Avoid Multiple onClick Events on Jetpack Compose Buttons
#android