ИТ + научпоп + музыка = большой ИТ-пикник в Москве 💛
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
Посмотрели/выпустили какое-то другое интересное видео? Отправьте боту🧑🏻💻
Android
• Debugging Google Maps App Issue on Android
• Debugging the recomposition in Jetpack Compose
• Clok: The math behind the clock
#android
Мобильный опыт 2023
Компания Embrace выпустила отчет The State of Mobile Experience 2023. В нем исследуются основные проблемы пользователей мобильных приложений и их разработчиков.
Например, традиционный предмет исследования — по какой причине пользователи готовы удалить приложение.
1. На первом месте сбои - 32% (точно удалю) + 28% (скорее всего удалю).
2. На втором неотзывчивые кнопки (22% + 29%).
3. На третьем фризы (28% + 23%).
4. Далее невозможность заполнить формы, медленный запуск приложения, долгая загрузка видео и изображений.
5. При этом фризы хотя бы раз в день встречает 44% пользователей, а креши 45%. Как они живут с такими приложениями - большой вопрос.
И что: в мире мгновенного удовлетворения потребностей и постоянно совершенствующихся технологий пользователи приучены ожидать от своих устройств все более быстрого ответа и безошибочной работы. Так что тестированию и отслеживанию быстродействия/сбоев надо уделять особое внимание.
Android
• Stable Diffusion AI: свой генератор изображений для Android
• Оптимизация анимации на Compose: крутим лоадеры, ищем неочевидные функции
• williamrai13/how-i-became-an-android-developer-4b4dfa230fcf">How I became an Android Developer
• Android 13 Runtime Notification Permission: XML & Jetpack Compose Guide
• Debugging Alarms with ADB
• margin555/using-string-resources-in-a-viewmodel-e334611b73da">Using String Resources in a ViewModel
#android
В Xcode наконец-то можно попробовать TipKit - новый фреймворк для показа всплывающих подсказок. Работает пока не до конца, но судя по описанию выглядит довольно функционально и полезно. А еще Kotlin Multiplatform Mobile (KMM) всех задолбал и превращается просто в Kotlin Multiplatform (KMP) - чтобы не путать всех с мобильными платформами (ибо сейчас он поддерживает еще веб и десктопы).
Разработка
• Kotlin Multiplatform Mobile (KMM) превращается в Kotlin Multiplatform (KMP)
• Об одном подходе к исследованию вероятностных характеристик на примере реального продукта
• Explaining Vector Databases in 3 Levels of Difficulty
• 5 UX Secrets Behind the Success of Threads App by Meta
Маркетинг
• Самые скачиваемые и зарабатывающие приложения в России в июле 2023
• Bloom учит Поколение Z инвестициям
Кроссплатформа
• Intercepting Ktor Network Responses in Kotlin Multiplatform
• A Deep Look Into Flutter Databases
• How we reduced bundle size by 15% with patching package
iOS
• Добавляем обучающие моменты в приложения с помощью TipKit
• iTorrent: торрент-клиент для iOS
• jacobmartinbartlett/unit-testing-with-async-await-123c6c4a6fbd">Unit Testing with async/await
• iOS Interview Guide: Custom higher-order functions in Swift
• Modularised Navigation in SwiftUI — An Enum-based Approach
• The Large Title UINavigationBar Glitches and How to Fix Them
• Localization testing in Xcode
• SwiftUI Tutorial: Navigation
#ios
Сейчас в App Store и Google Play представлено 746 тыс. мобильных игр. 70% мобильных игр находятся в Google Play, а остальные 30% — в App Store. В AppFigures провели исследование - в каких странах больше всего выпускают (издают) мобильные игры (как это сделать по описанию в магазине не совсем понятно, но пусть). США лидируют с огромным отрывом - там сделано 32.6% всех игр. На втором месте Китай с “всего” 5.1%. Россия с 3% на 5 месте, между Германией и Индией. Самая хорошая цифра в другом - в июне в двух магазинах было опубликовано 17 тысяч новых игр, что является самым высоким показателем по количеству новых релизов за месяц в этом году. А вы сколько новых игр скачали в прошлом месяце? 🙂
Разработка
• Какие страны выпускают больше всего мобильных игр?
• Исследование State of Databases 2023
• Что такое магистральная разработка
• Алгоритмическое собеседование в Яндекс в прямом эфире
• Постоянные отказы на собеседованиях: что мне делать
• На шаг ближе к метавселенной, или Как мы оживили аватары пользователей в VK Звонках
• Как сделать аналог Firebase App Distribution
• Ozon Tech Intro Meetup: как работают системы поиска, рекомендаций и рекламы
• Iosevka: шрифт для кода
• Эвристики Нильсена на примере реальных приложений
• Что порой кроется за «успехом»
• A WWDC Design Lab Made My App So Much Better
• Before you try to do something, make sure you can do nothing
Маркетинг
• DSP: различия и преимущества lookalike и предиктивных моделей. Часть #2
• Pokemon Sleep набрал 2 млн установок
• Rewind выпустил приложение для iPhone, которое поможет вам запомнить всё
• $18.2 млн в Серии B: Airvet — телемедицина для домашних животных
Кроссплатформа
• Кодогенерация для Flutter: что, как и зачем
• Будущее iOS-разработки на Flutter
• jacobras/popular-apps-using-kotlin-multiplatform-kmp-in-2023-and-what-you-can-learn-from-them-1f94d86489b7">Popular apps using Kotlin Multiplatform (KMP) in 2023 — and what you can learn from them
• Scale McDonald's with KMM
Тинькофф проведет большой мобильный митап в Воронеже 📲
Встречу соберут 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
iOS
• Создаем дефолтные аватары пользователей в SwiftUI
• visionOS 30 Days: уроки разработки для visionOS
• How to use type erasure in Swift with a real example
• Advanced async testing: Unstructured concurrency
• Animate background with color gradient in SwiftUI
• Understanding iOS Memory Management With Toy Analogies
#ios
На iOS вышла The Composable Architecture 1.0 от Point Free. Она призвана решить основные архитектурные проблемы и сделать код тестируемым, простым, композитным. Правда, в примере показывают, как делать простой кликер. На это нужно раз в 10 больше кода, чем на “ванильном SwiftUI”. Так что кто его знает, на больших проектах может и пригодится, а так… 👨💻
Разработка
• Snapchat запустил новую программу вознаграждения создателей AR-линз
• Как маленькая нейроязыковая модель в Клавиатуре победила серверные подсказки
• Модерируемое юзабилити-тестирование: от идеи до задачи в таск-трекере
• How DoorDash Migrated from StatsD to Prometheus
• omarmahin0/oride-ux-case-study-bbcfe4d03ef4">ORIDE — UX Case Study
Маркетинг
• Какая конверсия в платящего пользователя хорошая?
• Amazon Clinic заработал во всех штатах
Кроссплатформа
• Мобильная мультиплатформенная разработка в McDonald’s
• How To Use Lints In Flutter
• Storing data from the Flutter app → Google Sheets
• muralitharan0002/enhance-your-react-native-application-performance-27bfe3578ac4">Enhance your React Native Application Performance
iOS
• The Composable Architecture достигла версии 1.0: что это такое
• Elevate User Experience: Create Default Avatars in SwiftUI
• Streamlining Similar View Controllers: A Swift Tutorial to Embrace the Refactor Mindset
• Mastering StoreKit 2
• How to automate taking screenshots with fastlane for iOS
#ios
Android
• Лучший спутник в вашем творческом процессе: Android Studio Bot VS ChatGPT для разработчиков
• How to create a chatbot with Firebase Firestore and PaLM on Android
• Try the K2 compiler in your Android projects
• Android Worldwide July 2023
• Gradle Cache: Your build’s best friend
• Firebase Dynamic Links Depricated! Migrate to Android App Links
• Passing events from Composable functions to MVI ViewModels
#android
Самые скачиваемые и зарабатывающие приложения в России в июле 2023
Установки
Неудивительно, что при всем ажиотаже Threads от Instagram* занял в установках первое место. По оценке AppMagic, новая социальная сеть получил в России более 3 миллионов установок.
1. Threads, an Instagram app
2. Telegram
3. Wildberries
4. Yandex with Alice
5. drivee
6. TikTok
7. OZON: товары, продукты, билеты
8. Free VPN Proxy by Planet VPN
9. WhatsApp Messenger
10. Авито: квартиры, авто, работа
Заработок
Лидер ВКонтакте заработал за месяц более $1 миллиона. Телеграм на третьем месте около $850,000.
1. VK: social network, messenger
2. Royal Match
3. Telegram
4. PUBG MOBILE
5. Roblox
6. Gardenscapes
7. FaceApp: Perfect Face Editor
8. Homescapes
9. Litres: Books and audiobooks
10. Tanks Blitz PVP битвы
Интересный запуск
В Google Play вышло приложение "Яндекс Смена: поиск подработки", новое приложение для поиска дополнительного заработка, местный аналог When I Work. За три недели приложение набрало в России уже около 15,000 установок и постоянно растет. Мог ли кто-нибудь кроме Яндекса такое запустить? Это интересный вопрос.
Поставьте 👍, если интересен такой формат.
Android
• Compose Adaptive Scaffold: простая поддержка больших экранов
• Секретная фича в Android Studio: логируем, пока дебажим, не меняя сам код
• Прикладное adb (Android Debug Bridge) для зумеров
• Designing a Functional Library
• Jetpack Compose for Maps
• Deep dive into Live Edit for Jetpack Compose UI
• Modelling the domain layer using composable use cases
• Lazy Grids for Android TV using Jetpack Compose
• Fluent and Fun Clean Architecture using Kotlin
#android