Видео и подкасты за неделю:
• (iOS En)
Animated Custom Button - Keyframes API
• (iOS En)
Tips, Tricks, and Lessons Learned implementing SampleBuilder Macro
• (iOS En)
See How To Store An Image In SwiftData
• (iOS En)
Xcode Structured Logging
• (iOS En)
Parallax Carousel Scroll - SwiftUI
• (And Ru)
Аналитика многомодульных проектов
• (And Ru)
Organic Maps — открытые оффлайн карты
• (And En)
WebGPU - Android Developers Backstage
• (And En)
Navigation Drawer - UX With Material3
• (And En)
Navigation Rail - UX With Material3
• (Crs Ru)
Flutter Dev Podcast #41: FlutterFlow
• (Crs Ru)
Ой, всё! Или как мы ошибаемся в Dart и Flutter
• (Crs Ru)
Как заставить Flutter глитчевать?
• (Dev Ru)
Developer Speaking Club #0: как правильно обучаться, загрузка файлов и как войти в IT
• (Dev Ru)
Как выйти из IT: опасный бизнес
• (Dev Ru)
Podlodka #333: делаем бизнес на опенсорсе
Посмотрели/выпустили какое-то другое интересное видео? Отправьте боту🧑🏻💻
Android
• Clean Architecture for Android Sample Project: чистая архитектура для Android
• ekta.dass01/androids-most-commonly-asked-interview-questions-3e9448cff7fc">Android’s most commonly asked interview questions
• ekta.dass01/most-commonly-discussed-interview-questions-about-android-part-ii-f8ff01d29b5c">Most commonly discussed interview questions about Android— Part II
• Mastering JSON Serialization and Deserialization with Moshi in Kotlin
#android
“Поваренная книга SwiftUI” от Kodeco
Вышел SwiftUI Cookbook - гигантский справочник с общим шаблонам создания пользовательских интерфейсов в SwiftUI, к которым можно быстро обращаться в процессе разработки. Автор - команда Kodeco (бывший RayWenderlich).
И что: кайф, круто сделано и полезно всем iOSерам.
Поставьте 👍, если хотите такой же на русском 😊
Android
• Android-Hidden Users for Specific Account
• Stop Calling Kotlin Flows Hot and Cold
• Kotlin’s Supercharged Flow API — Combining and Merging Flows for Reactive Programming
• Enrich stylus and mouse experiences with hover
• rahmicemreunal/navigating-the-complexities-multi-module-navigation-with-navigation-component-6a35ed79a273">Navigating the Complexities: Multi-Module Navigation with Navigation Component
• Recreating UseCase: Embracing a Fluent and Fun Approach
#android
Какие инструменты нужны начинающему iOS-разработчику?
SwiftUI — современный фреймворк для быстрого создания приложений от Apple. Он позволяет создать красивый, функциональный и эффективный UI без Autolayout, Xib и сторибордов.
📆 Приглашаем на вебинар 17 августа, 20:00 мск: Введение в SwiftUI
На занятии разберем основные элементы: View, Модификаторы, Контейнеры и Параметры. Узнаем, где и как их применяют в SwiftUI. Закрепим наш теоретический разбор практическим примером, написав первое простое приложение на SwiftUi.
➡️ Для участия зарегистрируйтесь на урок: https://otus.pw/5ZP2/
Продолжить осваивать iOS-разработку вы сможете на специализации «iOS Developer» — онлайн-курсе с живыми вебинарами и практикой под руководством опытных разработчиков.Нативная интеграция. Информация о продукте www.otus.ru
Android
• Jetpack Compose UI Architecture Plugin: шаблоны для быстрой разработки
• А это можно запустить в фоне?
• Ракету пустил и забыл. Или как заставить DI работать
• What Are the Top 7 Android App Development Trends in 2023?
• Drag to Reorder RecyclerView Items with Kotlin
• Seamless Play of D&D — Implementing Drag and Drop Across Multiple Screens
• How to use cubic Bézier curves in Jetpack Compose
• Choosing the right storage experience
• Introducing Jetpack Emoji Picker: A New Way to Add Emojis to Your Android App
#android
iOS Такой - канал про разработку для платформ Apple
Рекомендую новый канал про iOS-разработку. В нем различные подкасты, технические доклады на самые разные темы и круглые столы в прямом эфире.
Например:
- Тестирование и почему это важнее, чем вы думаете
- ChatGPT в Swift на практике
- Git, командная работа
Скоро у них выходит "Своя игра" по iOS. Это отличная возможность проверить свои знания и навыки в области мобильной разработки, так что подписывайтесь. А если вы хотите стать участником доклада по одной из тем, то обязательно пишите в контакты авторам.
Этот канал будет полезен не только для начинающих разработчиков, но и для профессионалов, которые хотят расширить свои знания и умения в этой области. Следите за обновлениями и будьте в курсе самых последних тенденций в мобильной разработке iOS: @ios_prog
На Reddit появился интересный пост. Руководитель из FAANG уволился, основал свой первый стартап с SaaS, нашел пресловутый PMF, собрал небольшую команду и все у него поперло - клиенты, семизначные доходы и т.п. Тут на беду пришли VC, дали инвестиций и стали требовать “роста”, да не простого, а максимального. И чувак забросил свой продукт и начал заниматься ростом. Клиенты разбежались, судя по названию компания закрылась. Вывод - у всего есть своя цена, в том числе и у инвестиций, роста, потери фокуса.
Разработка
• Моя история: $0->$100 млн->$0 за 5 лет
• Как разработчику готовиться к собеседованиям
• C++ Zero Cost Conf 2023 Москва
• Podlodka #332: что скрывают системы бронирования авиабилетов
• Simple APIs are elegant APIs
• Junior to senior: An action plan for engineering career success
• A Flexible Framework for Effective Pair Programming
• Moving faster
• 5 common code patterns slowing down your app
Маркетинг
• Самые зарабатывающие приложения в июле 2023
• Bumble for Friends: решение для несуществующей проблемы?
• Верховный суд постановил, что Apple может не открывать стороннюю оплату в App Store
Кроссплатформа
• Create an AI Image Generator In Flutter
iOS
• Swift Transformers: языковые модели на iPhone
• Apple Watch X станут серьезным обновлением
• Как жить с двумя провайдерами карт в крупном проекте
• Декларативная навигация в iOS-приложении
• В iOS/iPadOS включается системный экран помощи при проблемах с оплатой
• Applying metal shader to text in SwiftUI
• AppKit vs SwiftUI: Stable vs Shiny
• Adaptative Views That Fit Anywhere in SwiftUI
• Augmented Reality’s RoomPlan for iOS: Getting Started
• How to Create a Flexible View With SwiftUI Layou
#ios
• Unified Swift/SwiftUI Library Deployment
RuStore добавил рекламные инструменты для разработчиков и бизнеса
Теперь продвигать приложения внутри магазина и находить новых пользователей можно благодаря VK Рекламе: алгоритмы платформы автоматически предложат тексты объявлений и адаптируют изображения под формат рекламы в магазине. Рекламу увидит аудитория, которая вероятнее скачает мобильное приложение на смартфон. Меньше денег — больше установок.
Еще одно обновление в отечественном магазине приложений — персональные рекомендации. Благодаря им пользователи RuStore будут видеть новые и подходящие им приложения.
О новых инструментах — на сайте.
ИТ + научпоп + музыка = большой ИТ-пикник в Москве 💛
2 сентября Тинькофф, CodeFest и Мельница собирают большой благотворительный ИТ-фестиваль. Встречаемся в Коломенском на максимально летнем вайбе.
В программе: ИТ- и научпоп-лектории, выступления топовых спикеров, воркшопы, интерактивные зоны и вишенка на торте — музыкальные перформансы от Антохи MC, Zoloto, Therr Maitz, The Hatters, «Сироткина», а также секретного хедлайнера. Как думаете, кто им может быть?
Для участия нужно выбрать благотворительный фонд из списка и сделать донат от 1000 рублей. Подробности и регистрация — тут.
Реклама. АО "Тинькофф Банк"
Перевел вторую, практическую часть про современную архитектуру Android-приложений (первую можно прочитать здесь). Собственно, все изложено в начале - изучайте принципы, а не слепо следуйте правилам. Но в целом автор все излагает весело и задорно. Так что рекомендую.
Разработка
• Гибкая и современная архитектура приложений для Android: пошаговое руководство
• Stability AI запускает StableCode, большую языковую модель для генерации кода
• Google запустил Project IDX — облачную среду разработки c ИИ
• 18 Sites to Host Your Backend Code for Free
• Llama from scratch (or how to implement a paper without crying)
Маркетинг
• В RuStore появились рекламные инструменты для разработчиков и бизнеса
• A Simple Framework for Identifying Real User Problems
Кроссплатформа
• flutterwtf/top-famous-apps-built-with-flutter-framework-8aa5f0474520">Top Famous Apps Built with Flutter Framework
iOS
• Как мы улучшаем курс по iOS-разработке — и зачем вносить изменения сразу после запуска
• SwiftData: быстрый старт
• 5 iOS App Development Trends that Simplify Your Tech Journey
• mateuszsiatrak/automating-build-number-increments-in-xcode-with-custom-format-a-practical-guide-bcc90a19f716">Automating Build Number Increments in Xcode with Custom Format: A Practical Guide
• 10 signs you are a shit iOS developer
• My First VisionOS Application
• Xcode Debug Console Tour: Exploring All Options
#ios
Google запустил Project IDX — облачную среду разработки c ИИ
Google объявил о запуске Project IDX - браузерной среды разработки с поддержкой искусственного интеллекта.
1. В настоящее время она поддерживает такие фреймворки, как Angular, Flutter, Next.js, React, Svelte и Vue, и такие языки, как JavaScript и Dart, а поддержка Python, Go и других языков находится в стадии разработки.
2. В скором времени будут встроенные симуляторы Android и iOS прямо в браузере.
3. В качестве, собственно, IDE используется открытая Visual Studio Code.
4. В качестве ИИ используется Codey — базовая модель Google PaLM 2 для задач программирования. Благодаря Codey IDX поддерживает интеллектуальное завершение кода, чат-бот типа ChatGPT/Bard, который может помочь разработчикам как с общими вопросами, так и с вопросами, связанными конкретно с кодом, а также возможность добавления контекстных действий с кодом, таких как «добавить комментарии».
И что: проект IDX — это хорошая «песочница», в которой Google демонстрирует возможности искусственного интеллекта для разработчиков, но превратится ли он в полноценную IDE, которую разработчики захотят использовать в своих проектах, пока неясно.
Android
• Kotlin: взгляд изнутри — преимущества, недостатки и особенности
• andkemal/common-mistakes-to-avoid-in-jetpack-compose-d5093fb1169e">Common Mistakes to Avoid in Jetpack Compose
• Date & Time Picker with Compose
• callmeryan/a-developers-approach-to-identifying-jetpack-compose-usage-in-apps-978601e36de2">A Developer’s Approach to Identifying Jetpack Compose Usage in Apps
• Effortlessly Toggle Between LazyColumn and LazyVerticalStaggeredGrid
#android
Roblox все больше становится полноценной системой, на которой разработчики могут зарабатывать деньги. Сейчас открывают возможность продавать «полные тела аватаров и отдельные головы» (каждый раз эта фраза кажется странной, но все же). Учитывая, как популярны всякие дизайнерские фигни в прочих игра, не трудно представить большой спрос на “головы и аватары” со стороны пользователей ака детей. Еще в 2020 году Roblox ожидал, что его сообщество разработчиков заработает более 250 миллионов долларов за год. Так что экономика совсем уже не детская.
Разработка
• Roblox разрешает продавать сделанные тела и головы аватаров
• RT-2 — новая модель переводит видение и язык в действия роботов
• Getting a job at Apple without going to college or doing LeetCode
• How To Create Compound Efficiencies In Engineering
• What I learned after managing a small team for 2 years
Маркетинг
• Skich, приложение для обнаружения мобильных игр, теперь позволяет запускать и управлять играми
Кроссплатформа
• Dart 3.1 & a retrospective on functional style programming in Dart 3
• What’s new in Flutter 3.13
iOS
• Автоматизация увеличения номера сборки Xcode в кастомном формате
• “Поваренная книга SwiftUI” от Kodeco
• iOS Architecture: Separating logic from effects
• The DI crashers
• mihail_salari/1-20-the-singleton-chronicles-the-one-ring-of-ios-design-patterns-22941a3e5cc6">The Singleton Chronicles: The “One Ring” of iOS Design Patterns
#ios
Похоже, что альтернативным магазинам на iOS все-таки быть. Хоть и ограниченно. В Европе в следующем году вступает в действие закон о цифровых рынках и к нему уже как минимум 3 компании заявили о намерении запустить свой магазин. Раньше уже были Epic и Microsoft, сейчас вот подтянулась Setapp, которая занимается распространением приложений по подписке. Вроде как обещают 70% разработчикам используемых приложений и 20% тому, кто привел клиента. Так что если у вас есть желание - можно пока подать заявку и записаться в лист ожидания. Как только Apple разрешит - сразу все и завертится.
Разработка
• Setapp планиурет запустить магазин приложений на iOS в Европе
• В защиту простых архитектур
• $3 млн: Configu — платформа configuration-as-code
• Рынок вакансий мобильных разработчиков упал на 24%. Объясняем почему так случилось
• Глава Минцифры оценил дефицит разработчиков в России в 500-700 тысяч человек
• Scaling the Instagram Explore recommendations system
• How we reduced the cost of building Twitter at Twitter-scale by 100x
• What is offline-first architecture?
Маркетинг
• Catchup — простое приложение для напоминания о необходимости связаться с друзьями и близкими
• josvisser/no-you-dont-want-an-app-fed11706db5c">No, you don’t want an app
Кроссплатформа
• Dioxus: Fullstack GUI-библиотека
• Creating Ultra gradients with flutter
• prince.kumar_41881/niyos-journey-with-the-flutter-mobile-app-a64f0a50693b">Niyo’s journey with the Flutter mobile app
iOS
• Apple’s Animation APIs: Through the Ages
• Unveiling the Future: Apple VisionOS Explained with Use Cases
• SwiftUI Cookbook
• Building a searchable map with SwiftUI and MapKit
• Build a Reactive Screen Flow in Swift With Workflow
#ios
Обозрел топ самых быстрорастущих (Top Trending) приложений за август в России (спасибо AppMagic). Вы таки будете смеяться, но на первом месте “Справочник по программированию” - iOS-приложение с учебниками по разным языкам программирования. Я так и не понял, как автор хакнул систему (если вы понимаете - напишите в комменты), но он заработал на нем уже больше 15К долларов, причем 12К из них в России, причем большую часть за последнюю неделю. Вполне могу допустить, что это глюк аналитики, но я до сих пор в состоянии сильной озадаченности 🤔
Разработка
• Как программировать и двигаться вперед быстрее
• AI Town: стартовый набор для создания и настройки собственного ИИ-города
• VK Education открывает набор на бесплатные курсы по Go, Python и технической поддержке
• Speech and Natural Language Input for Your Mobile App Using LLMs
• In defense of simple architectures
• Amazon Prime Video reduced costs by 90% by ditching Microservices
Маркетинг
• Топ быстрорастущих приложений в России в августе
• Slack уступает Teams и Discord
Кроссплатформа
• KivyMD на «кухне»
• Generative Art in Flutter
• MVI in Kotlin Multiplatform
• flaviubuura/enhancing-scalability-and-structure-in-flutter-app-architecture-651be03077e6"> Enhancing Scalability and Structure in Flutter App Architecture
iOS
• iOS Interview Guide: Escaping and Non-Escaping Closures in Swift
• How to Create a Flexible View With SwiftUI Layout
• Discover MeasurementForma
• Mistakes to Avoid When Implementing Quick Tips with SwiftUI’s TipKit
• Mastering Thread Safety in Swift With One Runtime Trick
• Round Specific Corners in iOS 17 & SwiftUI 5
#ios
Slack уступает Teams и Discord
Slack меняет дизайн своего интерфейса, но не слишком ли поздно?
1. На прошлой неделе Slack объявил о крупнейшем редизайне, и, глядя на скриншоты, можно сделать вывод, что новый дизайн больше похож на Discord. Почему? Ответ станет понятен, если посмотреть на рост.
2. С 2018 года ежеквартальные загрузки мобильных приложений Slack выросли на 66%. Загрузки Discord выросли на 120%. Кажется не такая и большая разница, но, согласно данным AppFigures, во втором квартале этого года Discord получил 21.8 млн новых загрузок, в то время как Slack - всего 3 млн. Да, это в 7 раз больше. В период с 2018 по июль этого года Slack получил 56 млн загрузок, а Discord - 507 млн. Уже почти в 10 раз больше.
3. Можно с уверенностью сказать, что Discord теперь не только для геймеров, и это большая проблема для Slack. Та проблема, которую новый дизайн может решить, но, скорее всего, нет.
4. Однако у Slack есть еще более серьезный конкурент, чем Discord - Microsoft Teams. Еще в 2019 году Microsoft Teams обогнал Slack по количеству пользователей, количество загрузок Team выросло на 3,385% с 2018 года, и, по оценкам компании, во втором квартале он лидирует с 24.4 млн установок.
И что: кажется, что Slack, оставаясь мессенджером для компаний, проспал свой момент выхода на большие сообщества и редизайн уже не поможет догнать конкурентов.
Android
• Девушка джун: войти в айти в 2023 без Java и диплома ВУЗа
• Эмпатичное проектирование
• Декларативная архитектура и навигация с Decompose
• Google Play Billing Samples: примеры использования Play Billing
• Android Generic Kernel Image — как Google может (теоретически) заменить ядро Linux
• Публикуем Android приложения автоматически с помощью Gitlab CI
• A glimpse of K2 in Now In Android
• State Holders in Jetpack Compose
• Tabbed Navigation for Android TV using Jetpack Compose
• Add Shake Animations to your Composable
• theAndroidDeveloper/the-most-important-aspect-of-the-kotlin-flow-operator-combine-e59b2e38fcb2">The most important aspect of the Kotlin flow operator — combine()
#android
Гибкая и современная архитектура для собственного удовольствия
Новый еженедельный дайджест - 103 статьи и новости. Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Вот, например, Oscilloscope Music - чумовая аудиовизуальная музыка.
💻 Прислать материал для дайджеста можно сюда.
Видео и подкасты за неделю
• (iOS Ru)
Как жить с двумя провайдерами карт в крупном проекте
• (iOS Ru)
Декларативная навигация в iOS-приложении
• (iOS En)
SwiftUI Dynamic Sheet Height - iOS 17
• (iOS En)
I converted a Core Data to SwiftData
• (iOS En)
What's New in Xcode 15
• (And Ru)
Эмпатичное проектирование
• (And Ru)
Девушка джун: войти в айти в 2023 без Java и диплома ВУЗа
• (And En)
Now in Android: 88 - Android Studio Giraffe, K2 compiler, and Jetpack Compose Live Edit
• (And En)
Fixing touch target size in PLR
• (And En)
Bottom Navigation Bar With Badges - UX With Material3
• (And En)
Bottom App Bars - UX With Material3
• (Crs En)
Compose Multiplatform on iOS in Production at Instabee
• (Crs En)
FlutterCon’23 Videos
• (Dev Ru)
Podlodka #332: что скрывают системы бронирования авиабилетов
• (Dev Ru)
C++ Zero Cost Conf 2023 Москва
Посмотрели/выпустили какое-то другое интересное видео? Отправьте боту🧑🏻💻
Тинькофф проведет большой мобильный митап в Воронеже 📲
Встречу соберут 19 августа на «Винзаводе». В программе докладов — четыре кейса:
— про то, как мы отказались от ручного тестирования;
— про безопасность приложений;
— и про ускорение сборки проектов.
А после — общение и нетворкинг. Кажется, лучше плана на субботу и не придумаешь!
📆 19 августа, «Винзавод», IT’s Tinkoff Mobile Meetup. Зарегистрироваться можно тут: https://o.tinkoff.ru/its_tinkoff_mobile_meetup.vrn
Android
• CloudStream: стриминг и скачивание медиа
• Jetpack WindowManager 1.1 is stable
• OTP/Pin Input Made Easy in Jetpack Compose
• How to avoid asking for Android Context in Kotlin Multiplatform libraries API
• binayshaw7777/exploring-material-design-3-creating-stunning-visuals-for-your-app-d3f10a72d1ac">Exploring Material Design 3: Creating Stunning Visuals for Your App
• rishikesh-shede/5-easy-steps-to-wireless-android-debugging-2218e41a9797">5 Easy Steps to Wireless Android Debugging
#android
❗️ Все еще используете устаревший Core Data?
🔥 Приглашаем 15 августа в 20:00 по Москве, на открытый вебинар “Знакомимся c SwiftData” онлайн-курса "iOS Developer. Professional".
SwiftData - новый фреймворк от Apple для работы с данными на WWDC 2023. Он заменит устаревший CoreData и предлагает более удобный, и простой подход к созданию схемы данных, настройке хранилища и работе в целом.
Переход на SwiftData может принести вам ряд преимуществ. Новый фреймворк предоставляет более гибкий и простой подход к работе с данными, а также обладает лучшей производительностью и надежностью. Кроме того, Apple активно поддерживает SwiftData и предоставляет обновления и исправления ошибок, что гарантирует его долгосрочную поддержку.
❗️Записывайтесь на вебинар, чтобы узнать больше о новом решении для работы с данными от Apple, как его использовать и как перейти на него с CoreData.
➡️Записаться на вебинар: https://otus.pw/HxnR/
— После вебинара вы сможете продолжить обучение на курсе "iOS Developer. Professional" по специальной цене.
Нативная интеграция. Информация о продукте www.otus.ru
Примерно в раз месяц выходят статьи о том, как люди делают свои рекомендации фильмов (наверное, вторая по популярности тема после поиска туалетов). И от всех проектов веет какой-то безысходностью. А вот известный разработчик Кейс Лисс взял просто и сделал “свой IMDb”, но без рекламы, азартных игр и барышень. По сути, Callsheet — это «кастомная» версия IMDb, которая понравится тем, кто предпочитает чистый, современный и хорошо продуманный дизайн, и готов заплатить небольшую сумму за улучшение. Получится у него или нет непонятно (проверим месяца через 3), но вот сама идея - не выебываться, а просто сделать нормально то, что погрязло в проблемах, вообще отличная. С такой на хакатоне не победишь, но бизнес вполне построишь.
Разработка
• Callsheet для iOS — лучшая версия IMDb
• Скрытые затраты на разработку мобильных игр
• Язык Julia впервые вошел в Топ-20 индекса TIOBE
• Дорогая, что-то пошло не так. Гид по пустым состояниям и ошибкам + шаблоны на все случаи
• Should I change job?
• How we built the Canva Apps SDK
• How TikTok’s UX Keeps Users Hooked According to Psychology
• Why We Are Stuck With So Many Incompetent Programmers
• How we designed one of Faire’s most requested features
Маркетинг
• Как мы запустили свой трекер финансов: кейс Moneon
• In-depth: A/B testing examples from Airbnb and YC's top companies
Кроссплатформа
• FeedFlow: кроссплатформенный RSS-ридер
• Flutter DevTools: анализируем и улучшаем Flutter-приложения на примере «Росбанк Инвест»
• FlutterCon'23 Videos
• jacobras/flutter-versus-kotlin-multiplatform-for-existing-codebases-19ff5e53ccbf">Flutter versus Kotlin Multiplatform for existing codebases
• syaifakmal/debouncing-and-throttling-on-flutter-265d42eee8d9">Debouncing and Throttling on Flutter
iOS
• Одна наша ошибка в модуляризации iOS-приложения, которая замедлила процесс сборки в Xcode
• Using De Casteljau’s Algorithm/Bezier Curves in SwiftUI
• jacobmartinbartlett/access-control-in-swift-like-a-boss-6b6da94d9d5a">Access control in Swift like a boss
• Why Use Cases are useless
• How moving from SPM to CocoaPods improved our developer productivity
• Getting Started with Xcode Server: A Practical Guide for Simplifying CI/CD for iOS Apps
• Share data across devices without internet access. iOS Multipeer Connectivity
#ios