Обозрел топ самых быстрорастущих (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
Android
• Инди-разработка Android-приложений: боли, идеи и заработок
• Как Google победил фрагментацию в Android
• Jetpack Compose Permissions: A Quick and Easy Guide
• Android Lint workflow using Github Actions
• Transforming UseCase: Embracing Fluent and Functional Approach
• Supercharging Continuous Integration with Gradle
• Google Shutting down Firebase Dynamic Links
#android
Чтение книг с переводом: разбор приложения
Разбираю приложение @x_TT_x - читалку книг со встроенным переводчиком.
TLDR: сделано хорошо, но продуктовой истории не видно. Может стоит изменить фокус и проработать пресловутую JTBD?
Статья: https://apptractor.ru/info/articles/chtenie-knig-s-perevodom-razbor-prilozheniya.html
Если хотите принять участие - пишите в комменты.
Мои коллеги делают приложение AdMobile, фронт для AdMob/AdSense, который показывает данные о заработке и прочую аналитику.
В приложении:
• подробные данные о заработке в каждом приложении
• данные за день, неделю или месяц с графиками
• по странам, рекламным юнитам,
• есть информация о выплатах
• виджет для домашнего экрана
• поддерживает несколько аккаунтов
• даже WearOS.
Если работаете с рекламной монетизацией - самое то: https://play.google.com/store/apps/details?id=io.stark.admob
С мест докладывают, что теперь в RuStore можно публиковать приложения для Smart TV на базе Android. Откуда RuStore на Smart TV? Хороший вопрос, говорят, что должны появится этим летом, так что аудитория их, наверное, пока исчезающе мала.
Разработка
• Самые высокооплачиваемые вакансии июля в области разработки приложений
• Наступает закат эпохи смартфонов
• Разработка мобильных приложений: ключевые принципы продуктового и проектного подходов
• Backend Driven…аналитика? Backend Driven аналитика
• IronZen: как мы решили боль тысяч тревожных людей, разработав собственное мобильное приложение
• A Realistic Day of a Product Manager’s Life at Microsoft
• Vertical vs. Horizontal Cards: Which Are Better?
• Tidal Cycles – Live coding music with Algorithmic patterns
Маркетинг
• «Мобильный опыт 2023» — отчет Embrace
• В RuStore появилась возможность загружать приложения для ТВ
• $100 млн: Inworld — ИИ для NPC
• Смарт-очки Ray-Ban почти не используются
Кроссплатформа
• Firebase Analytics in Flutter app
• Understanding Keys, Elements, RenderObjects and their interplay in Flutter
• The basics of Layout Animations in React Native Reanimated
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
Нашел интересную статью о том, что когда вы закончили проект, то это как бы не совсем конец. Как пишут, основной проект, может быть, и завершен, но впереди еще много работы. Да, очевидный результат достигнут (производительность улучшена, статья опубликована и т.п.), но дальше надо дать этому проект жизнь. Можно в оставшиеся 10% представить проект другим командам, выложить код для других, продумать смежные проекты и т.п. В общем - довольно занятный взгляд. Подумайте, как можно применить к вашей деятельности.
Разработка
• Не останавливайтесь на 90%
• Стартапы бесплатно получат ресурсы VK на сумму до 2 млн рублей
• Spotify представил новую платформу Confidence для A/B-тестирования
• Apple может тестировать Mac Mini на M3
• Мифы и легенды о безопасности мобильных приложений
• Avito Security Meetup
• Podlodka #329: с чего начинается Big Data
• AI Companion App: легкий стек для создания и размещения собственных ИИ-компаньонов
• Как конфигурировать функциональность мобильных приложений
• How to Build Toxic Software Teams
Маркетинг
• Чтение книг с переводом: разбор приложения
• WePlay ставит рекорды прибыли
• Сила Streak: повышение вовлеченности обучающих приложений
• Многолетнее падение загрузок WhatsApp остановилось
Кроссплатформа
• Как мы сделали онлайн-редактор кода на Flutter
• jonasuekoetter/understanding-and-building-a-replacement-for-firebase-dynamic-links-2dedd4ea5401">Understanding and Building a Replacement for Firebase Dynamic Links
• pluzhnikov137/boosting-flutter-integration-tests-execution-speed-in-pipeline-by-3x-fe20ddcc5af1">Boosting Flutter Integration tests execution speed in pipeline by 3x!
iOS
• App Store Connect Swift SDK: SDK для работы с App Store Connect
• Кто ты, SwiftData
• GC, ARC, RAM. Часть 3. iOS
• На сколько Swift удобен для DSL?
• Reducing JPEG UIImage RAM Usage by 50%
• Smart Open Xcode
• SwiftData Saving Changes
• Objective-C Internals
• SwiftData Basics Tutorial: How to Easily Persist Data in SwiftUI
• Running Automated Tests via CI Pipelines: GitHub Actions
• Migrating to the Observation framework in SwiftUI
• Notification action buttons with images in iOS
#ios
По ту сторону дефолтных аватаров
Новый еженедельный дайджест - 125 материалов! Прочитайте, поставьте 👍, сохраните в избранное и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное за пределом мобайла. Вот, например, там была интересная ссылка "Проектно-ориентированное обучение" - туториалы, с помощью которых начинающие разработчики научатся создавать приложения с нуля. Эти учебники разделены по основным языкам программирования, есть Dart, Kotlin и Swift.
💻 Прислать материал для дайджеста можно сюда
Видео и подкасты за неделю
• (iOS Ru)
Кто ты, SwiftData
• (iOS Ru)
GC, ARC, RAM. Часть 3. iOS
• (iOS Ru)
Поле для ввода кода доступа
• (iOS Ru)
Coffee&Code #9: Николай Трухин, молодой синьор-разработчик из Белграда
• (iOS En)
What I've learned implementing Swift Macros: 5 takeaways
• (iOS En)
SwiftUI Animated Tags View - Layout API
• (iOS En)
SwiftData Basics Tutorial: How to Easily Persist Data in SwiftUI
• (iOS En)
How to format physical units in Swift using MeasurementFormatter
• (iOS En)
SharePlay - Turn your app experience into a shared experience
• (iOS En)
SwiftUI: Scroll to Hide Tab Bar
• (And Ru)
Как Google победил фрагментацию в Android
• (And Ru)
Инди-разработка Android-приложений: боли, идеи и заработок
• (And En)
Fixing touch target size in PLR
• (And En)
Live Edit for Jetpack Compose
• (And En)
Android Studio Giraffe stable release, New Samsung foldables, and more dev news!
• (And En)
Top App Bar (Toolbar) - UX With Material3
• (And En)
Selection UI Components (Checkboxes, Switches, Radio Buttons) - UX With Material3
• (And En)
Android Worldwide July 2023
• (Crs Ru)
Как мы сделали онлайн-редактор кода на Flutter
• (Crs En)
Firebase Analytics in Flutter app
• (Crs En)
Scale McDonald’s with KMM
• (Dev Ru)
Мифы и легенды о безопасности мобильных приложений
• (Dev Ru)
Avito Security Meetup
• (Dev Ru)
Podlodka #329: с чего начинается Big Data
Посмотрели/выпустили какое-то другое интересное видео? Отправьте боту🧑🏻💻