Видео и подкасты за неделю @AppFiles
• (iOS Ru)
iOS-приложения под защитой Apple! Или нет?
• (iOS En)
Explore Swift performance
• (iOS En)
Xcode 16 Navigation Shortcuts in 12 Minutes
• (iOS En)
SwiftUI Scroll To Hide Header View - iOS 18
• (iOS En)
Dark mode icons in iOS 18 and Xcode 16
• (iOS En)
Mesh Gradient & Floating Tab bar (iPadOS)
• (iOS En)
iOS 18 Control Center Widget - SwiftUI
• (iOS En)
Image Carousel in SwiftUI
• (And Ru)
Как избавиться от рекурсии, или Как мой код попал в Google
• (And Ru)
Микширование аудиопотоков в Android
• (And Ru)
Опыт внедрения Kotlin и Compose Multiplatform в продакшн-решение
• (And Ru)
Как мы победили техдолг в проекте Android RuStore
• (And En)
AI development assistance - Android Developers Backstage
• (And En)
Simplifying Kotlin Build Configuration with Amper
• (And En)
Why we can't have nice things in Kotlin
• (And En)
Kotlin Language Features in 2.0 and Beyond
• (And En)
Mastering WebRTC for Large Conference Calls on Android
• (And En)
Записи докладов KotlinConf'24
• (Crs En)
What Is Kotlin Multiplatform And How Does It Work?
• (Crs En)
Building Your First Compose Multiplatform Hello World App
• (Crs En)
10 Takeaways for React Native Devs from the App.js conference
• (Dev Ru)
Как решать задачи на Leetcode
• (Dev Ru)
ИИ в работе: как упростить жизнь мобильного разработчика
• (Dev Ru)
Дали менторить джуна… Все пропало?
• (Dev Ru)
Как устроен сетевой код в играх
Посоветуйте в комментариях интересные каналы по мобильной или не очень разработке?
#ios #android #mobile #video
Android
• Kaml — YAML для kotlinx.serialization
• Как я исследовал приложение Zomato, чтобы создать свою собственную систему уведомлений
• App Architecture: Deeplinks
• mohit2656422/top-10-coroutines-questions-2024-11233141634a">Top 10 Coroutines Questions 2024
• What is faster and in which tasks? Coroutines, RxJava, Executor?
#android
erid:LjN8KXEY5
Баерские посиделки: инсайты, нетворкинг и панорамные виды Москвы🎺
Эй, перформанс-маркетинг спецы, User Acquisition гуру, трафик-менеджеры и медиабаеры!
Приглашаем вас на митап, где секреты закупки трафика будут литься рекой, а море нетворкинга не будет знать берегов.
В программе:
🟢Дмитрий Матюшин, 2LEADS: "VTA всему голова?": все про работу с ин-апп трафиком, VTA-атрибуцию, борьбу с каннибализацией.
🟢 Алексей Федин, Magnetto.Pro: "Mini apps в Telegram: новый источник рекламного инвентаря": кейсы и цифры запусков рекламы в мини-аппах.
🟢Полина Кушнир, 2LEADS: "Антифродовая аналитика: как это работает": кейсы работы с антифродом, нюансы его работы.
Не упустите шанс прокачать свои навыки, расширить связи и зарядиться!
🔪Когда: 27 июня, 19:00
🗾Где: Шмитовский пр., 3, стр. 1
Регистрация
Реклама ООО"ТУЛИДС" ИНН 6317122270
Разработка
• JetBrains интегрирует Gemini в AI Assistant
• How SMS Fraud Works and How to Guard Against It
Маркетинг
• Что значит хорошая сессия в приложении — разбираемся в деталях
• Butterflies — новая социальная сеть для ИИ и людей
Кроссплатформа
• pomis172/mastering-shapes-and-clipping-in-flutter-7c7caee5bcba">Mastering Shapes and Clipping in Flutter
• How to Get the Height and Padding of the AppBar in Flutter
iOS
На WWDC 2024 одним из самых интересных инструментов был Swift Testing, который делает тестирование Swift-кода более мощным, чем когда-либо. С его помощью разработчики могут уверенно создавать высококачественные продукты с минимальным количеством кода 👇
• Введение в Swift Testing
• Apple отложила разработку второй Vision Pro ради более дешевой модели
• Coobjc — корутины для Objective-C и Swift
• rajster.miha/10-cheap-desk-upgrades-every-programmer-needs-f89d92d16de4">Create Node Modules in Swift
• Free, on-device translations with the Swift Translation API
• Creating Stunning Dynamic Text Effects with TextRender
• A preview of our upcoming UIKitNavigation library
#ios
Butterflies — новая социальная сеть для ИИ (и людей)
Butterflies - это социальная сеть, в которой люди и искусственный интеллект взаимодействуют друг с другом через посты, комментарии и сообщения. После пяти месяцев бета-тестирования приложение выходит на iOS и Android.
Любой желающий может за несколько минут создать в приложении ИИ-личность, называемую Бабочкой. После этого бабочка будет автоматически создавать посты в социальной сети, с которыми затем могут взаимодействовать другие ИИ и люди. У каждой бабочки есть история, мнение и эмоции.
Например, вы можете увидеть бабочку, которая занимается деревообработкой, выкладывающую свои последние творения. Или вы можете наткнуться на бабочку-генерального директора Costco в альтернативной вселенной, которая чертовски заинтересована в том, чтобы хот-доги стоили 1.50 доллара.
Компания Butterflies была основана Ву Траном, бывшим руководителем инженерного отдела в Snap.
«Удивительно, для чего люди используют Butterflies», - говорит Ву. «В Snap я много занимался исследованиями пользователей, но поведение в Butterflies - это что-то новое».
Ву говорит, что один человек тратил по пять часов в день на создание 300 персонажей. Он также обнаружил, что некоторые люди общаются с другими людьми на платформе, потому что они резонируют с тем, что те создали.
В одном случае два друга одновременно создали двух бабочек и дали им свои истории, чтобы те взаимодействовали от их имени. Видимо, они хотят понять, к чему они придут в итоге. Другой человек создал версию себя, живущую на вымышленном континенте Вестерос в «Игре престолов», а кто-то переделал себя в персонажа Dungeons&Dragons.
Когда я рос, я проводил много времени в онлайн-сообществах и общался с людьми на игровых форумах, - говорит Ву. - Оглядываясь назад, я понимаю, что эти люди могли быть просто ИИ, но я все равно завел несколько значимых связей. Я думаю, что есть люди, которые боятся этого и говорят: «ИИ не настоящий, иди и встречайся с настоящими друзьями». Но я думаю, что это действительно непростая вещь - «заводить друзей». У людей может быть социальная тревожность или им трудно находиться в социальных ситуациях.
Android
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 4
• Записи докладов KotlinConf'24
• husayn.fakher/choosing-between-sealed-classes-and-enum-classes-in-kotlin-60b71948264c">Choosing Between Sealed Classes and Enum Classes in Kotlin
• michalankiersztajn/data-mapping-in-kotlin-explained-94238b914dac">Data Mapping In Kotlin Explained
#android
Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 4
Это четвертая статья из серии «Осваиваем ViewModel в Android». Мы обсудили советы по улучшению производительности и качества кода во ViewModel, которые в настоящее время являются основным компонентом приложений для Android.
В предыдущих (1, 2, 3) частях мы уже обсуждали:
1. Избегайте инициализации состояния в блоке init{}.
2. Избегайте раскрытия мутабельных состояний.
3. Используйте update{} при использовании MutableStateFlows.
4. Старайтесь не импортировать зависимости Android во ViewModel
5. Лениво внедряйте зависимости в конструктор.
В этой части мы обсудим 6-8 пункты из списка:
6. Примите более реактивное и менее императивное программирование.
7. Избегайте инициализации ViewModel из внешнего кода.
8. Избегайте передачи параметров из внешнего кода.
Лайк, если хочешь следующие 7 😀
Если вы, как и я, любитель дурацких, но технологических устройств, то вот вам принтер из Lego. Пишут, что внутри у него неонка ИИ, но кажется, что нет - просто переводит изображение в пиксель-арт, затем разбивает на блоки и печатает. В общем - робот, бессмысленно, Lego. Все, как мы любим
Разработка
• Принтер печатает картинки из блоков Lego
• BDUI как стратегия мобильного приложения
• Ошибки и исключения под капотом — Прерывания, try-catch, монады
• Pair Programming Antipatterns
• Mocking is an Anti-Pattern
Маркетинг
• Исследование приложений, которые могут стать ненужными в iOS 18
Кроссплатформа
• Step-by-Step Guide to Dockerizing Dart and Flutter Web for Deployment
• How to Mock HTTP Clients in Flutter Tests
iOS
• Поваренная книга SwiftUI: изображения и иконки — Часть 4
• Apple дает разработчикам возможность номинировать свои приложения на фичеринг в App Store
• CodableWrapper — улучшения для Codable
• Что такое Codable в Swift
• iOS под санкциями
• Как сократить вес приложения: переносим картинки и строки локализации на сервер
• Highlights of new technologies introduced at WWDC24
• New GitHub Organization for the Swift Project
• A New Direction for Testing in Swift
• Advanced Core Image
#ios
Рынок мобильных приложений в 1 квартале 2024 года
Продолжаем черпать интересные данные из квартального отчета Sensor Tower.
• Ведущие рынки по доходам — США, Китай, Япония, Южная Корея и Великобритания. Япония упала на 17%, все остальные с ростом. Причем Соединенные Штаты стали главным драйвером роста потребительских расходов, увеличив их более чем на $1.7 млрд по сравнению с первым кварталом 2023 года. Это составило более половины общемирового роста.
• То стран по абсолютному росту - США, Великобритания, Китай, Германия и Канада.
• Топ рынков по установкам — Индия, США, Бразилия, Индонезия, Китай. Ведущие мобильные рынки демонстрируют признаки насыщения на фоне стагнации роста загрузки.
• Топ категорий по тратам пользователей — Развлечения, Социальные сети, Фото и Видео, Продуктивность, Музыка, Стиль жизни, Здоровье и Фитнес. Самый большой относительный рост у Продуктивности. Топ в ней - Google One.
• Топ категорий по загрузкам - Утилиты, Развлечения, Финансы, Продуктивность и Фото и Видео. Больше всего выросла Продуктивность - на 10%.
Видео и подкасты за неделю @AppFiles
• (iOS Ru)
iOS под санкциями
• (iOS Ru)
Как сократить вес приложения: переносим картинки и строки локализации на сервер
• (iOS En)
Главное выступление WWDC 2024
• (iOS En)
Выступление Platforms State of the Union
• (iOS En)
What’s new in Xcode 16
• (iOS En)
New Text Renderer API in SwiftUI - Xcode 16
• (iOS En)
What’s New in SwiftUI
• (iOS En)
I rebuilt the visionOS from scratch
• (And En)
Now in Android: 107 - KotlinConf, Android Studio updates, I/O recaps, AndroidX updates, and more
• (And En)
Top 3 updates around Compose across form factors at Google I/O ‘24
• (And En)
Why I Stopped Using popBackStack() to Navigate Back
• (And En)
Add Real-Time Features to your Mobile App with Darryn Campbell
• (And En)
Reified Type Parameters
• (Crs En)
KMP vs. Flutter - Who Will Win The Cross-Platform Battle?
• (Dev Ru)
Ошибки и исключения под капотом — Прерывания, try-catch, монады
• (Dev Ru)
BDUI как стратегия мобильного приложения
• (Dev En)
Learn High-Level System Design by Coding YouTube – Full Course
Посоветуйте в комментариях интересные каналы по мобильной или не очень разработке?
#ios #android #mobile #video
Android
• Дэйв Бёрк уходит с должности вице-президента по разработке Android
• Будущее ChromeOS — это использование Android
• Android: Проблема отрисовки в Jetpack Compose
• Creating Custom PDFViewer in Jetpack Compose Android
• Debugging dependencies in Gradle
• Creating Custom Annotations
• Dynamic Layouts with ContextualFlowRow and ContextualFlowColumn
• Reified Type Parameters
#android
Как улучшать архитектурные навыки в ежедневных задачах по программированию
Есть много способов расти как разработчику, но все они требуют большого времени и усилий. Я предлагаю практические упражнения, которые могут быть частью ваших повседневных задач, без необходимости начинать собственный проект или проходить курсы.
Статья: https://apptractor.ru/info/articles/kak-uluchshat-arhitekturnye-navyki-v-ezhednevnyh-zadachah-po-programmirovaniyu.html
—
#самоповтор из 2021 года. Разработка - вечное самосовершенствование. Даже не знаю, хорошо это или плохо 😵💫
⚡️Руководитель команд разработки и один из разработчиков мобильного приложения Яндекс Карт рассказали, как они росли вместе с проектом.
Хотите так же? Это возможно 💯
Команда мобильной разработки Карт и Навигатора расширяется, и мы ищем:
➡️ iOS-разработчика
#Москва #Белград #iOS
Что вы будете делать: участвовать в разработке мобильного приложения для iOS, глубоко прорабатывать задачи команды, совершенствовать процессы и инфраструктуру разработки.
➡️ Android-разработчика
#Москва #Android
Что вы будете делать: участвовать в разработке мобильного приложения для Android, помогать расширять возможности существующих сценариев и создавать новые.
Приходите, будем расти вместе💪
Реклама. ООО "Яндекс", ИНН 7736207543.
Интересная статья по “усталость” (Fatigue) Senior-разработчиков. Термин “усталость” тут , конечно, слегка неправильный, но в позиции автора с ростом карьеры разработчики накапливают мудрость и усталость. Усталость в данном случае - от освоения новых технология и переход на осозннанную разработку. Переход к более утонченной стратегической роли в инженерной карьере. Когда вы делаете не меньше, а по-другому, и, что самое важное, вы делаете то, что имеет значение. Так что замедлитесь и устаньте от бесконечного кода. Начните думать
Разработка
• Усталость Senior-разработчиков
• WebView: быстрый релиз, никаких ревью в сторах, а минусы есть?
• Let’s write a video game from scratch like it’s 1987
Маркетинг
• Varioqub: за Mann-Whitney замолвите слово
Кроссплатформа
• 10 Takeaways for React Native Devs from the App.js conference
• The Ultimate Guide to React Native Optimization (2024 edition)
iOS
• У Apple «очень серьезные» проблемы с DMA
• Эти айфоны ещё будут жить: пишем и деплоим свои приложения из XCode на старые iPhone
• Preparing your App Icon for dark and tinted appearance
• Swift Testing: Getting Started
• iOS CI/CD With Azure DevOps: Automate Your Release Process
#ios
Как я исследовал приложение Zomato, чтобы создать свою собственную систему уведомлений
Если вам в приложении не хватает каких-либо функций - можно сделать их самому! Например, в приложении Zomato для Android нет нормального уведомления для отслеживания статуса заказа. Заходить постоянно в приложение лень? Лень. Разработчик взял снифер, отследил конечные точки, взял из них информацию и написал собственное подобие Live Activity с данными о доставке практически в реальном времени.
И что: будь как автор! Не нравится - сделай сам 🥗
Android
• Android Device Streaming на базе Firebase в бета-версии
• Dive into Object-Oriented Programming with Kotlin
• stefanoq21/jetpack-glance-86a2fc30dd5d">Jetpack Glance
• Creating flexible components in Compose
#android
Большинство разработчиков стремится повысить свой грейд, но как и куда расти, если ты амбициозный мидл или уже синьор? Откуда брать насмотренность и опыт, если ты ограничен задачами своей компании, а одними статьями на Хабре проблему не решить?
Чтобы расти в профессии и получать крутые офферы, разработчик может прокачать навык построения архитектуры. Он может собрать библиотеку из каналов, статей и видео или пройти полноценный курс.
Курс «Архитектор ПО» от Практикума поможет развить навык решения архитектурных задач. Техлиды Яндекса и других компаний покажут противоположные архитектурные подходы. Благодаря этому разработчику не придётся учиться на своих ошибках — он научится на опыте коллег. За 6 месяцев курса он разработает и добавит в портфолио 5 архитектур.
Курс подойдёт бэкенд-разработчикам, которые:
— работают 2+ лет;
— хотят развиваться на текущей позиции и повышать свой грейд;
— хотят получить должность лида или архитектора ПО.
Успейте записаться на ближайший поток по ссылке ←
С мест докладывают, что Apple остановила работу над Vision Pro 2. По слухам, продажи первой гарнитуры не то чтобы восхитительны. Впрочем, вряд ли можно было ожидать большего от пока еще нишевого устройства стоимостью $3500. Как пишет The Information, вместо новой Pro версии, компания будет работать над более дешёвой моделью, которая будет выпущена в 2025 году 🥽 Так что пока можно тренироваться делать приложения на дорогой версии, а когда выйдет "народная" версия быстро перейти на нее.
Разработка
• Как в 2024 выложить приложение в Apple Store и Google Play
• Senior Engineer Fatigue
Маркетинг
• Топ быстрорастущих приложений в России в июне
Кроссплатформа
• Connectivity — мониторинг сети для Kotlin Multiplatform
• От ручной работы к автоматизации: наш путь к идеальной доставке сборок Flutter
• Flutter Add-to-App: как добавить Flutter в приложение
• sparkleotech/flutter-best-practices-for-2024-build-better-apps-faster-3330243d119a">Flutter Best Practices for 2024: Build Better Apps Faster
• santimattius/kmp-essential-tools-and-plugins-for-kotlin-multiplatform-application-development-6ffcccdef6a8">KMP: Essential Tools and Plugins for Kotlin Multiplatform Application Development
• 9dan_/introducing-solidart-a-simplified-approach-to-flutter-state-management-inspired-by-solidjs-009d6558e4d4">Introducing Solidart: A Simplified Approach to Flutter State Management Inspired by SolidJS
iOS
• Zoom navigation transition in SwiftUI
• Enhanced replace transition for SF Symbols in iOS 18
• Introduction to Swift Testing Framework
• Bringing native AI to your mobile apps with ExecuTorch
#ios
Вы не Google
Разработчики сходят с ума от самых нелепых вещей. Нам нравится думать, что мы гиперрациональны, но когда нам нужно выбрать технологию, мы в некоторой степени становимся безумными — мы прыгаем от комментария одного человека на Hacker News к посту другого в блоге до тех пор, пока не сдаемся и не дрейфуем в ступоре к самому яркому световому пятну, на самом деле забыв о том, что мы искали в самом начале.
Рациональные люди принимают решения не так, но так разработчики принимают решение использовать MapReduce.
—
#самоповтор из 2020 года. Ничего не изменилось, только вместо MapReduce теперь можно подставить ИИ.
Android
• Simple Time Tracker — простое приложение для отслеживания времени
• kerry.bisset/modernizing-application-settings-in-kotlin-multiplatform-with-datastore-and-koin-b1156229fd57">Modernizing Application Settings in Kotlin Multiplatform with DataStore and Koin
• Building Jetcaster on all Form Factors
• Pride in Your App - Trying Out GraphQL on Android
• Kotlin DEVEX is not great, but Amper could fix it
• srivastavahardik/how-i-reverse-engineered-the-zomato-app-to-build-my-own-order-tracking-notification-system-22289a68dcb2">How I reverse engineered the Zomato app to build my own Order Tracking notification system
#android
Доклады, развлечения и полезные знакомства для ИТ-сообщества Казани ☄️
13 июля в Казани пройдет масштабный ИТ-фестиваль «Сезон кода». Это большое летнее мероприятие от Т-Банка для опытных специалистов по Java, Scala, Mobile, QA и Data в Татарстане.
Залетайте, чтобы прокачать навыки и пообщаться с коллегами в неформальной обстановке. Вот что вас ждет:
— доклады от экспертов из крупных технологичных компаний: T-Банк, VK, Сбер и Magnit Markett;
— полезные знакомства, много общения и обмен опытом со специалистами других компаний;
— ИТ-квиз, диджитал-игра на преодоление препятствий и настольная игра «Спринт или пропал» от инженеров Т-Банка;
— спортивные активности: настольный теннис и баскетбол;
— живая музыка и вечеринка.
📌 Получите билеты за благотворительный взнос от 1000 рублей. erid:2VtzqvJqHWo Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673
Как сломать то ли дом, то ли лабораторию
Новая подборка всех статей за неделю - оцениваем результаты WWDC и Apple Intelligence, тащим GeckoView в Почту и понимаем ошибки ChatGPT, рассказываем про самые скачиваемые и зарабатывающие приложения в России в мае, ломаем бинарный код и многое другое.
Французская каузальная Voodoo за 500 миллионов евро купила BeReal. Voodoo утверждает, что в настоящее время у BeReal более 40 миллионов ежемесячных активных пользователей, половина из которых пользуется приложением не менее шести дней в неделю. Voodoo утверждает, что приобретение даст BeReal «возможность продолжить инновации в области новых функций и сфокусироваться на росте». Тем не менее, о проблемах социальной сети говорят уже с год - рост пользовательской базы остановился, а вменяемый способ монетизации команда так видимо и не нашла. Так что продажа Voodoo, кажется, лучший выход для создателей. Зачем это гиперказуальщикам не совсем понятно, но видимо скоро узнаем.
Разработка
• C++ впервые обогнал C в рейтинге TIOBE
• How terminal works
• Redesigning Pinterest’s Ad Serving Systems with Zero Downtime
Маркетинг
• VK запускает сервис для A/B-тестирования и анализа новых функций в приложениях и сайтах
• Какие приложения «скопировала» Apple на WWDC 2024
• Voodoo покупает BeReal
Кроссплатформа
• Как быстро запустить мобильное приложение для веб-сервиса: опыт Авиасейлс для бизнеса
• Flutter - long term review. What is happening?
iOS
Будет ли работать такой код?
let offset: Double = 5.0;
let index: Int = 10;
let angle = (180.0 - offset + index * 5.0) * .pi / 180;
Будущее ChromeOS - это использование Android
Сегодня компания Google объявила о том, что ChromeOS в будущем будет «в значительной мере разрабатываться на основе стека Android».
• В частности, ChromeOS будет использовать ядро Android Linux и фреймворки Android.
• В качестве примера можно привести то, как ChromeOS уже переходит на Bluetooth-стек Android после того, как ранее поддерживала свой собственный. Переход (с Bluez на Fluoride) привел к ускорению сопряжения, а также к повышению успешности сопряжения Bluetooth и повторного подключения.
• Google назвала искусственный интеллект одной из главных причин этого шага: «Привнесение технологического стека на базе Android в ChromeOS позволит нам ускорить темпы внедрения инноваций в области искусственного интеллекта в ядро ChromeOS».
Работа, в которой участвуют производители чипов и оборудования, «начинается уже сейчас» и «не будет готова для потребителей в течение некоторого времени».
Вчера была WWDC, но хотел обратить внимание на статью, которая ярко характеризующую использование ИИ в разработке - “Как одна ошибка ChatGPT стоила нам $10,000+”. Чуваки из YC пилили подписку и генерировали модели для БД с помощью ChatGPT. Ну тот и нагенерил так, что UUID у них на сервере практически не менялся, и из-за этого пользователи не могли подписаться. Усугублялось это тем, что серверов было несколько и в рабочее время они активно деплоили, в результате пул ID скидывался и все работало. А по ночам они просто теряли подписчиков с катастрофической скоростью - как минимум на $10К. Так что генерить код прекрасно, но понимать нагенеренное еще лучше 🙈
Разработка
• The Ultimate Guide to Becoming a Rockstar Product Engineer
Маркетинг
• How to improve your voluntary churn
• Decoding user behaviour: leveraging cognitive biases in app development
Кроссплатформа
• Когда проснулся и узнал, что существуют PWA
• dudhatkirtan/what-is-buildcontext-in-flutter-e45b9dfea839">What is BuildContext in Flutter