iOS
• Dot Globe: глобус из точек
• Упрощаем разработку на React Native: чем полезен CocoaPods?
• Presenting Content In Pages Using SwiftUI
• The Ultimate iOS Interview Guide: 16 Comprehensive Questions from Beginner to Senior Level
• avijeetpandey25/loading-lottie-animations-remotely-in-ios-using-swift-4dcce99298af">How to load Lottie animations remotely in iOS using Swift?
• amanj203/how-to-find-memory-leaks-in-your-ios-app-3-pro-techniques-b3b2dbb4fb23">How to Find Memory Leaks in Your iOS App: 3 PRO Techniques
#ios
🔍 Предложите идеи по улучшению безопасности и инклюзивности ride-hailing-сервисов на хакатоне inCode
inDrive организует международное соревнование для инженеров, у которых есть идеи, как сделать поездки ещё безопаснее и доступнее для пользователей.
Приглашаем технических специалистов со всего мира поучаствовать в хакатоне inCode. Соберите команду от 1 до 6 человек, бросьте вызов несправедливости и разделите призовой фонд в размере €16,000.
Выберите одно из трёх направлений:
• Улучшение безопасности поездок для пассажиров и водителей;
• Повышение доступности для людей с ограниченными возможностями;
• Создание своего идеального ride-hailing-сервиса.
➡️ Зарегистрируйтесь на inCode 2023
UpCodes запускает Copilot, ИИ-помощника для строительных норм и правил
ИИ это не только веселые картинки или написание сочинений, но и тупой осознанный перебор всех документов.
1. UpCodes - база данных строительных правил и норм для США.
2. В ней 5 миллионов (!) разделов, 160,000 местных поправок, около 7,000 обновлений каждый месяц.
3. Все это компания оцифровывает и индексирует.
4. Плюс сейчас на все это натравили ChatGPT и получили очередной Copilot, правда для строительных кодексов.
5. ИИ ограничивают в “галлюцинациях”, постоянно обновляют данные, учитывают юрисдикцию, дают в ответах ссылки на разделы правил.
И что: в результате получился “ИИ здорового человека”, который решает конкретные вопросы строителей и помогает им в соблюдении правил. А что оцифровать и "ИИзировать" можете вы в своей области?
iOS
• Лучший способ структурировать iOS-проект
• Современные паттерны навигации в iOS-приложениях
• Нельзя просто взять и сделать нормальную адресную систему в приложении
• Share Swift Code between Swift On Server Vapor and Client App
• Why is Swift so slow (timeout) in compiling this code?
• How to send Remote Push Notifications to an iOS Simulator with Xcode 14
• How to Instantly Track a Variable's Value Changes with Xcode Watchpoints
#ios
Попасть в Яндекс за выходные
17–18 июня пройдёт Weekend Offer Mobile. Решите несколько задач в Контесте, 17 июня пройдите все технические секции, 18 июня пообщайтесь с нанимающими командами и получите офер в интересный проект.
Ждём мобильных разработчиков на iOS, Android и Flutter с опытом от 3 лет. Предлагаем работу в любом офисе в России и Беларуси. Приглашаем в наши международные хабы в Армении, Казахстане и Сербии.
Заявки принимаем до 12 июня.
Подробности ищите здесь
iOS
• Async/await против GCD
• Highlightr: подсветка синтаксиса на Swift
• Музыка в iOS приложениях: подводные камни при разработке
• Using Layout protocol to align explicitly positioned views in SwiftUI
• Swift Concurrency Continuations: Getting Started
• Basic Physics in RealityKit: Roll-A-Ball game
#iOS
Поиск в магазинах, поиск обычный и сарафанное радио
Как пользователи открывают для себя новые приложения? В новом опросе 11,000 потребителей Airship говорит:
1. На первом месте в среднем просмотр магазинов приложений (46%).
2. На втором поисковые движки (40%).
3. На третьем знакомые - друзья, семья и коллеги (35%).
4. Реклама лишь на четвертом месте (25%).
5. Впрочем, все достаточно сильно разнится по странам. Например, в США сарафанное радио на 2 месте с 36%, а в UK оно делит первое место с магазинами приложений, а в Германии магазины почти вдвое опережают поиск обычный.
И что: ASO/SEO остаются важнейшими каналами открытия приложений. И при этом не требующих особых затрат. Ну а виральность это извечный король, правда, наверное, управлять этим довольно сложно.
Видео и подкасты за неделю:
• (iOS Ru)
Музыка в iOS приложениях: подводные камни при разработке
• (iOS En)
CocoaHeadsNL Meetup: 25 May 2023
• (iOS En)
Result Builders in Action: Simplifying HTML Generation in Swift
• (iOS En)
SwiftUI PreferenceKeys
• (iOS En)
Basic Physics in RealityKit: Roll-A-Ball game
• (iOS En)
3 tips to write BETTER Swift code
• (And Ru)
Ускоряем написание кода
• (And En)
Studio Bot - Android Developers Backstage
• (And En)
New Jetpack Compose BasicTextField2
• (And En)
Full Guide to Nested Navigation Graphs in Jetpack Compose
• (And En)
How to Build a Home Screen Widget in Jetpack Compose with Glance
• (Mlt En)
Create a game with libGDX
• (Mlt En)
Multiplatform Secrets with Philipp Lackner
• (Mlt En)
Самоучитель программирования Dart для абсолютных новичков
• (Dev Ru)
Состояние дел в Fuchsia
• (Dev Ru)
Доступность для всех
• (Dev Ru)
It is fine или как эффективно выгореть
• (Dev Ru)
Podlodka #321: SQL
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
iOS
• Проектируем быстрые действия в iOS: 58 гайдлайнов
• A breakdown of HBO Max's new iOS app
• Realtime UIAppearance refresh
• Conditional Compilation for Apple’s Yearly Updates
• Build a 3D Bar Chart in SceneKit With SwiftUI
• Speed up pods & gem install in Github Action
#ios
🆘 Что делать Android-разработчику, если приложение тормозит?
Разберем этот вопрос 2 июня в 20:00 на открытом уроке «Профайлинг ui» в OTUS.
Вебинар пройдет в рамках онлайн-курса «Android Developer. Professional» в OTUS.
📢📢 На занятии мы:
🟠 Рассмотрим, что значит "тормозящее приложение", и каковы основные причины такого поведения
🟠 Познакомимся с инструментами, которые помогут найти и исправить эту проблему.
🟠 Посмотрим несколько сервисов, позволяющих измерить производительность в бою — на телефонах ваших пользователей.
После пробного вебинара вы сможете приобрести курс любым удобным для вас способом.
➡️ Пройдите вступительное тестирование, чтобы записаться на урок: https://otus.pw/3sWJ/Нативная интеграция. Информация о продукте www.otus.ru
#iOS
• AWS Amplify: API для облака (Amazon)
• Объявлены финалисты премии Apple Design Awards
• Handling WebP Images When Using PHPickerViewController
• Achieving higher test coverage: Our approach to UI testing on iOS
• timo.eichelmann.dev/pop-to-root-view-using-tab-bar-in-swiftui-5802a456b057">Pop to root view using Tab Bar in SwiftUI
• 10 Tips to Get Your App Featured on the App Store
Объявлены финалисты премии Apple Design Awards
Инклюзивность
• Anne
• Universe — Website Builder
• Passenger Assistance
• stitch.
• Ancient Board Game Collection
• Finding Hannah
Восторг и веселье
• Duolingo
• CREME
• Chantlings
• Pocket Card Jockey: Ride On!
• Knotwords
• Afterplace
Взаимодействие
• Shuffles by Pinterest
• Tide Guide: Charts & Tables
• Flighty
• Automatoys
• Railbound
• Kimono Cats
Социальное влияние
• Duolingo
• Sago Mini First Words
• Headspace
• Hindsight
• Endling
• Beecarbonize
Визуальные и графические эффекты
• Any Distance
• Gentler Streak Health Fitness
• Riveo
• Diablo Immortal
• Resident Evil Village
• Endling
Инновации
• SwingVision: A.I. Tennis App
• Camo Studio
• Rise: Energy & Sleep Tracker
• Resident Evil Village
• stitch.
• MARVEL SNAP
#iOS
• О многообразии форм однонаправленных архитектур в Swift
• Top iOS and Swift Developer Interview Questions for 2023
• The Best Way To Structure Your iOS Project
• #file behavior change in Swift 5.8
• File importing and exporting in SwiftUI
• Stop Wasting Time on Unit Testing: How Tokopedia Achieved 8X Faster Results
Как быстро последняя тысяча пролетела… 😊 10,000 подписчиков это прямо хорошо - спасибо, что читаете. Если хотите что-то сказать, предложить, поругать или похвалить - самое время это сделать.
Ну и пользуясь случаем:
• https://apptractor.ru/ - сайт
• /channel/applib - еще канал с библиотеками и статьями
• /channel/code_insight - еще канал, просто интересное из ИТ и технологий
Android
• ViewModels in CustomViews: как за пару секунд поменять функционал приложения
• @Stable vs @Immutable и анимации на Compose
• Gradle Review Show
• Purr: просмотр и поиск в логах на Android
• Google I/O 2023: Takeaways for Android Developers
• Kotlin development boost with the release of Koin 3.4 and Koin Annotations 1.2 cheat sheet
• Proven Prepping for Easy Android Interviews in 2023
• How to create Responsive Layouts in Jetpack Compose
• ViewCompositionStrategy Demystified
• FunCorp/how-to-integrate-top-jetpack-compose-features-into-a-functioning-app-b835dc78da43">How to Integrate Top Jetpack Compose Features into a Functioning App
• PermissionFlow: A Reactive API for knowing the status of Android app permissions
• Jetpack Compose Tutorial: Animated Navigation Bar
#android
В Lyft написали, как они проектировали Live Activity для новой iOS. Особых откровений не ждите, но в целом интересно, как все устроено в таких больших компаниях. Сколько проектирования и разработки проходит такая казалось бы простая вещь, как кружок в 36 пикселей.
Разработка
• «Этот маленький остров меняет все» — опыт проектирования Live Activity в Lyft
• UpCodes запускает Copilot, ИИ-помощника для строительных норм и правил
• Microsoft улучшает Dev Box-ы и готовится к запуску
• What I’ve Learned About the Pitfalls of Hiring After Holding 1000 Interviews
• mfreije31/my-journey-with-google-ux-course-creating-a-remarkable-dog-nutrition-tracking-app-d7de903cfde3">Case Study: My Journey with Google UX Course — Creating a Remarkable Dog Nutrition Tracking App
Маркетинг
• Supercell запускает тестирование новой игры Flood Rush
Кроссплатформа
• Аутсорс-разработчики и эдтех: какие шишки мы набили, сделав курс по Flutter, и к каким выводам пришли
• mahmoudsaal7/exploring-flutters-dynamic-ui-with-animatedcontainer-785a7bdd5229">Exploring Flutter’s Dynamic UI with AnimatedContainer
#dev
👩💻 Тест на знание языка
— Ответьте на 20 вопросов и проверьте, насколько хорошо вы знаете язык Kotlin. Сможете сдать — пройдёте на продвинутый онлайн-курс "Android developer. Professional" со скидкой!
👉 ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА "Android developer. Professional"
Курс доступен в рассрочку.
🎁 Пройдете успешно тест, получите доступ к открытым урокам курса.Нативная интеграция. Информация о продукте www.otus.ru
Android
• Mina Box: ленивая загрузка в Jetpack Compose
• Начинаем работу с Detekt, статическим анализатором кода для Android
• summitkumar/functional-programming-in-kotlin-exploring-monads-and-their-real-world-use-cases-5a8b23be1268">Functional Programming in Kotlin: Exploring Monads and their Real-World Use Cases
• siddharthrawat/efficient-concurrent-programming-with-kotlin-coroutines-c829c256d124">Efficient concurrent programming with Kotlin coroutines
• k.ibrushi/jetpack-compose-horizontalpager-with-pagerindicator-infinity-scroll-32f6e9357974">Jetpack Compose: HorizontalPager with PagerIndicator & Infinity scroll
• Unlocking the Potential of MVVM in Android Development with Kotlin
#android
Нашел небольшую статью про ShareIt, приложение, которое позволяет делиться файлами без сети. Пишут, что 2.4 миллиарда загрузок - в основном в Азии, Африке и Латинской Америке, где кидаться файлами по WhatsApp или Telegram накладно в силу дороговизны сотового трафика. Правда, теперь, с удешевлением связи, проникновением Wi-Fi, баном в Индии и распространением всяких AirDrop и Nearby Share, у приложения начинаются проблемы. К тому же ShareIt задолбал всех рекламой, так пользователи уже от него не в восторге. К чему это все - во-первых, занятно, как можно найти нишу даже на беднейших рынках. Во-вторых, отличный повод еще раз задать себе вопрос как ваше приложение работает оффлайн.
Разработка
• Как китайский ShareIt стал самым популярным в мире приложением для передачи файлов
• FlowMapp/%D1%81lean-ui-guide-10-examples-of-hierarchy-and-balance-in-ui-design-4d033903a16">Сlean UI Guide: 10 Examples of Hierarchy and Balance in UI Design
Маркетинг
• 5 reasons why apps fail in some African countries
Кроссплатформа
• The most important Flutter 3.10 feature that nobody talks about
Android
• Ускоряем написание кода
• Приложение для Android начало тайно записывать пользователей через год после появления в Google Play
• OpenAI API client for Kotlin: мультиплатформенный клиент с корутинами
• Blossoming love for Compose animation
• How to architect Android apps: a deep dive into principles
• Why Zepeto Chose Jetpack Compose for Their Android App UI
• Kotlin Lateinit vs by Lazy
#Android
В Microsoft объявили победителя Imagine Cup 2023 года. В студенческом конкурсе победил проект из Кении, помогающий детям с нарушением слухового восприятия. Примечательно, что все 3 финалиста конкурса в этом году решали проблемы со здоровьем - второй борется с туберкулезом, а третий диагностирует проблемы с сердцем - и использовали магическую аббревиатуру “ИИ”. В общем, раз уж студенты начали задействовать, до коммодитизации искусственного интеллекта рукой подать. А что ты сделал с ИИ, %username%?
Разработка
• Победители Imagine Cup 2023
• Samsung выпускает новую модель холодильника с 32″ планшетом
• 7 ежедневных практик лучших разработчиков
• Состояние дел в Fuchsia
• Доступность для всех
• It is fine или как эффективно выгореть
• Podlodka #321: SQL
• Халяльный дизайн: как делать приложения на арабском
• System Design Master Template: How to Answer Any System Design Interview Question
• 25 Awesome Open Source, End User Apps
Маркетинг
• Простота использования, упрощение жизни и экономия времени — почему пользователи используют приложения брендов
• Giphy в упадке — загрузки сократились на 70%
• Google увеличивает размещение рекламы в Play Store
Кроссплатформа
• Demystifying Flutter's Local Database Options: A Comprehensive Summary
#dev
Измерение ошибок лучших разработчиков
Новый еженедельный дайджест - 112 материалов. Прочитайте, поговорите, поставьте 👍 или 🤯, поделитесь, подпишитесь, поддержите. И присоединяйтесь к IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Вот, например, у меня там был Kanboard, бесплатный веб-сервис с открытым исходным кодом для управления Kanban-проектами.
Android
• Как не писать сетевой слой в Android-приложениях с помощью автоматической генерации OpenAPI
• callmeryan/modern-android-development-single-activity-architecture-7e42b9e26c28">Modern Android Development = Single-Activity Architecture
• dheerubhadoria/building-an-expandable-credit-card-information-card-in-jetpack-compose-53df3089e360">Building an Expandable Credit Card Information Card in Jetpack Compose
• Validate Fields Like a Pro With Kotlin Annotation Classes
• Creating Touch Held Down Modifier with Jetpack Compose
• How to Test the Navigation Component in Jetpack Compose?
#Android
Разработка
• My Journey to Becoming a Chief Technology Officer (CTO)
• You Don't Always Need Indexes
• 7 daily practices of top developers
Маркетинг
• RuStore анонсировал новые возможности для пользователей и разработчиков
Кроссплатформа
• Reader: мультиплатформенный RSS-ридер на Kotlin и Compose
• Dart Course For Beginners
• The future of iOS development with Flutter
#dev
#Android
• Google запускает программу вознаграждения за поиск ошибок в приложениях для Android
• Как ускорить написание кода: AI, генерация кода, плагины
• Google Play забанил браузер за то, что с его помощью можно открыть пиратский сайт
• Интеграция рекламы в Android-приложение: Yandex Mobile Ads Vs. Google AdMob
• Mastering State Hoisting for Cleaner and More Testable Code in Jetpack Compose
• DisposableEffect: Side-Effect API In Jetpack Compose
• Android Speech To Text — The missing guide
• emrekoc/detekt-static-code-analyzer-for-android-c4c9bfd42a8c">Detekt — Static Code Analyzer for Android
• ibrahimethemsen/android-server-driven-ui-xml-vs-compose-example-benchmark-827a71d6605b">Android Server Driven UI-XML VS Compose Example & Benchmark
Microsoft впереди планеты всей демонстрирует будущее магазинов приложений. В Microsoft Store сделали резюме пользовательских отзывов с помощью ИИ - будет показываться прямо в карточке. Отписаться разработчикам нельзя, как работать будет неизвестно, будет ли бороться с накруткой непонятно, но надо же везде технологии братского OpenAI воткнуть. Нетрудно предположить, что названия, описания, ключевые слова и скриншоты тоже будет генерировать ИИ, что в сочетании генерации кода приложений и модерацией замкнет круг (как работает последнее нетрудно посмотреть на примере Google Play - там вот браузер забанили за то, что с его помощью можно посмотреть пиратский сайт). Ничего не будет, один сплошной ИИ (С)
Разработка
• В Microsoft Store добавили резюме отзывов на основе ИИ
• Azure AI Studio предлагает компаниям создание собственных чатботов на основе моделей OpenAI
• Короче, Proxyman: краткий обзор самого яблочного сниффера
• Case Study: Glup. Brand Identity and UX Design for Delivery App
• The Ultimate Guide to Moodboarding
• 7 Key UX insights
Маркетинг
• Лучшие пэйволы для приложений с подписками
Кроссплатформа
• Compose Multiplatform — first impression… is not good
• mariana.ristovska/how-to-boost-your-switch-to-flutter-guidelines-from-an-ios-developer-a19bc15c599f">How to boost your switch to Flutter? Guidelines from an iOS developer
#dev
#Android
• Coffee Drop: кофейный UI на Kotlin и Jetpack Compose
• maydin/android-gradle-build-speed-optimizations-explained-e0e2568ab959">Android Gradle Build Speed Optimizations Explained
• daniel.atitienei/how-to-use-place-autocomplete-api-using-ktor-and-jetpack-compose-9ac82a8aafb0">Mastering Place Autocomplete API with Ktor and Jetpack Compose
• A Glimpse at Constants in Kotlin
• Integrating the PreviewCard with Jetpack Compose on Android TV
• mirzemehdi/achieving-platform-specific-implementations-with-koin-in-kmm-5cb029ba4f3b">Achieving Platform-Specific Implementations with Koin in KMM
• From Idea to Implementation: Developing an Animated Carousel with Jetpack Compose
В Uber написали занятную статью о том, как они меряют время старта iOS-приложений. Казалось бы, что там мерить - на старте задал отсчет, после отрисовки закрыл. Но в iOS 15 появился прогрев приложения, в котором ОС сама предварительно запускает приложение без отрисовки первого экрана, и, соответственно, вся аналитика пошла по ***. Ок, но есть наверное MetricKit, спросит прошареный Дмитрий? Есть, но выдает для пользователя только суммарные данные за 24 часа, так что понять как на самом деле ведет себя приложения в перспективе каждой сессии затруднительно. О том, как они все агрегировали и дополняли своими данными в этой статье и пишется.
Разработка #dev
• Измерение задержки старта iOS-приложений в масштабе Uber
• $35 млн в Серии А: FlowX.ai — цифровая трансформация с помощью ИИ
• Как спроектировать хороший таббар: 67 гайдлайнов
• Architecture Principles: An approach to effective decision making in software architecture
Маркетинг
• Аниме зарабатывает большие деньги в App Store
• Доход от подписок в AppMetrica
• 8 annoying A/B testing mistakes every engineer should know
Кроссплатформа
• Паттерны проектирования на Dart с примерами кода. Часть 2
• Выбираем между кросс-платформенной и нативной разработкой
• shiny.shubham/unlock-your-flutter-mastery-a-strategic-learning-plan-for-success-beyond-tutorials-eff2f1586fef">Unlock Your Flutter Mastery: A Strategic Learning Plan for Success, Beyond Tutorials
Аниме зарабатывает большие деньги в App Store
Когда мы говорим о стриминге, то подразумеваем большие корпорации, вроде Netflix или Disney. Но нишевые стриминги тоже живут неплохо.
1. Crunchyroll, если вы еще не знакомы, - это приложение для просмотра аниме. Только аниме. Ничего другого.
2. Приложение было запущено еще в 2009 году, а в 2021 году его приобрела компания Sony.
3. Только в этом году ежемесячный чистый доход Crunchyroll в App Store вырос на 17%, с $14.9 млн. в январе до $17.8 млн. в апреле. И это чистый доход, то есть то, что Sony получает после того, как отдаст Apple свою долю.
4. По данным AppFigures, Crunchyroll уже заработал $74 млн. чистого дохода только от App Store в этом году. А за все время от всех платформ, по данным AppMagic, уже более $388 миллионов.
И что: можно ожидать, что число нишевых стримеров будет только расти, поскольку стриминг становится самым популярным способом потребления контента.
iOS
• В App Store 1.78 млн приложений и 37 млн разработчиков
• Squirrel: нормальный скрол в симуляторах Xcode
• Построение графа зависимостей Objective-C файлов
• Проектируем уведомления в iOS: 104 гайдлайна
• Measuring Performance for iOS Apps at Uber Scale
• 365 Days of iOS Accessibility
• Instant Pan Gesture Interactions
• How to Define Custom URL Actions for SwiftUI Text Views
• 10 More Deadly SwiftUI Mistakes and How to Avoid Them
• Managing Navigation Between Multiple Modules in an iOS App Using Dependency Injection Containers
• Unit Test Gesture Recognizers in Swift
• API availability in Swift
#ios