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
iOS
• Искусственному интеллекту – быть: какие обновления представила Apple на WWDC 2024
• WWDC 2024. Обсуждаем, что по факту
• WWDC 2024. Чем удивляют разработчиков
• Что нового в Xcode 16: ИИ и лучшие Preview
• @Previewable: динамические превью SwiftUI
• Apple предлагает разработчикам свой генеративный ИИ Apple Intelligence
• Что нового в Swift 6?
• Псевдоним типа в Swift
• How to automatically apply promotional text and ‘What’s new’ notes to new versions in Swift using the App Store Connect API
• How GitHub reduced testing time for iOS apps with new runner features
#ios
Что нового в Xcode 16
Xcode 16 приносит много обновлений. Главное - появление ИИ, которое отметили еще в кейноуте. В Xcode появится предиктивное завершение кода, основанное на модели машинного обучения, специально разработанной для Swift и SDK Apple. Для предиктивного завершения кода требуется Mac с Apple Silicon и минимум 16 ГБ объединенной памяти под управлением macOS 15.
Кроме того:
• Поддержка EditorConfig
• Explicitly built modules - более действенные сообщения об ошибках, улучшенная производительность отладчика и лучшие решения по планированию, которые максимизируют параллелизм. Теперь LLDB может напрямую импортировать явно собранные модули Swift и Clang.
• Новый алгоритм дедупликации кода обеспечивает дополнительную экономию объема кода и улучшенную производительность линковки
• Новый механизм выполнения для Preview - общие продуктовые сборки между Build, Run и Preview, переключение между ними происходит мгновенно
• Preview теперь поддерживает предварительный просмотр представлений внутри статических библиотек
• Вы можете вырезать текст из редактора исходных текстов, а затем использовать «Новый файл из буфера обмена» для быстрого извлечения части исходного файла в новый файл
• Ссылки на папки с возможностью сборки - записывайте в файл проекта только путь к папке, не перечисляя содержащиеся в ней файлы. Это минимизирует изменения в проекте при добавлении и удалении файлов и позволяет избежать конфликтов с командой по контролю исходного кода
• Swift-DocC теперь предупреждает о документации для параметров и возвращаемых значений, которая не существует для данного документированного API
• Множество функций в Instruments
• Swift Testing - совершенно новый фреймворк тестирования, созданный для Swift с нуля
Видео с WWDC: https://www.youtube.com/watch?v=BAQ9EhAm2eM
Release Notes: https://developer.apple.com/documentation/xcode-release-notes/xcode-16-release-notes
Android
• Bytemask — плагин Gradle для шифрования секретных строк
• Как мы разобрали монолитное приложение для бизнеса на модули
• Кодревью опенсорс проекта или как выглядят 10 лет технического долга
• Сколько памяти нужно для сборки? Android-разработчикам о JVM
• Как создать аудиоплеер. Часть 3
• Что скрывает State в Compose
• Everything about Customizing coroutine contexts in kotlin
• Accessibility Tests in Compose - Name, Role, Value
#android
Рынок кроличьих нор
Новая подборка всех статей за неделю - исследуем рынок работы для iOS-разработчиков, используем ИИ и проходим кроличьи норы оптимизации, погружаемся в мир Lint-a, строим BDUI, определяем рынок мобильных приложений в 1 квартале 2024 года и многое другое. Подключайтесь!
Видео и подкасты за неделю:
• (iOS Ru)
Как не наломать дров с Live Activity
• (iOS En)
Glitch Text Effect - SwiftUI
• (iOS En)
Vertical Circular Carousel - SwiftUI
• (iOS En)
Modern UIKit: Sneak Peek, Part 1
• (iOS En)
Meet Core Location Monitor
• (iOS En)
Detect animal poses in Vision
• (And Ru)
Кодревью опенсорс проекта или как выглядят 10 лет технического долга
• (And Ru)
Сколько памяти нужно для сборки? Android-разработчикам о JVM
• (And Ru)
Что скрывает State в Compose
• (And En)
Automatically Adjust Navigation Based On Screen Size With NavigationSuiteScaffold
• (And En)
Kotlin 2.0, Google IO, Android 15 and More
• (And En)
KotlinConfersations'24
• (And En)
Compose Migration Side Effects - What Can Go Wrong?
• (Crs Ru)
Best practices локальной аутентификации на Flutter
• (Crs En)
Full Stack Flutter, Firebase and Riverpod – Build a YouTube Clone
• (Dev Ru)
Баланс между скоростью и надежностью: переиспользовать нельзя перепроверять
• (Ind Ru)
Инди-хакинг: как программисту работать на себя — доход на пет-проектах
• (Dev Ru)
Разработчики против тестирования
• (Dev Ru)
Побывав в шкуре тимлида - взгляд разработчика изнутри
Посоветуйте в комментариях интересные каналы по мобильной или не очень разработке? 🌐 @AppFiles
#ios #android #mobile #video
Android
• Сам себе экосистема: итоги. Как работают мои самопальные клиенты ВК, YouTube, Telegram на смартфонах 13-летней давности
• zorbeytorunoglu/why-your-baseactivity-is-anti-pattern-kotlin-delegations-a270e98fc87f">Why your “BaseActivity” is anti-pattern. Kotlin Delegations
• KaushalVasava/geofence-in-android-8add1f6b9be1">Geofence in Android
• thomas.bernard.310/jetpack-compose-keyboard-cheat-sheet-c3107070e005">Android Jetpack Compose Keyboard Cheat Sheet
#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.
Android
• Как и зачем мы затащили GeckoView в Почту
• Как сломать скомпилированный код, не нарушая бинарную совместимость
• KotStep — пошаговые компоненты для Jetpack Compose
• MVI at Eventbrite
• The elephant in the room: How to update Gradle in your Android project correctly
• Automating large scale refactors using lint and generative AI
#android
Искусственному интеллекту – быть: какие обновления представила Apple на WWDC 2024
Вот еще один обзор по конференции:
Значительную часть летней конференции Apple уделила внедрению искусственного интеллекта в свои устройства и традиционно рассказала об обновлениях операционных систем своих устройств. Технический директор студии разработки мобильных приложений CleverPumpkin Александр Кияйкин внимательно посмотрел презентацию и поделился главными новостями, которые нельзя пропустить.
Ну что, как вам WWDC 2024? Перемещение иконок по экрану и калькулятор на iPad, конечно, amazing, но вот интеграция с macOS выглядит действительно круто. Как и автономные агенты, которые понимают задачи и приложения с помощью AI. Ну а Genmoji вообще топ :) А самое главное - еще AI приходит в Xcode. Ждем Platforms State of the Union. Ниже традиционный опрос про конференцию.
Разработка
• Как одна ошибка ChatGPT стоила нам $10,000+
• Управление мотивацией для соло-разработчика
• Обнаружены вредоносные расширения VSCode с миллионами установок
• Разработчики против тестирования
• Баланс между скоростью и надежностью: переиспользовать нельзя перепроверять
• Инди-хакинг: как программисту работать на себя — доход на пет-проектах
• Agile увеличивает риск провала проекта на 268%
• How to Build Anything Extremely Quickly
Маркетинг
• Самые скачиваемые и зарабатывающие приложения в России в мае 2024
• Самые скачиваемые и зарабатывающие приложения в мире в мае 2024
Кроссплатформа
• Best practices локальной аутентификации на Flutter
iOS
• Победители Apple Design Awards 2024
• Как не наломать дров с Live Activity
• Check Update iOS — проверка новой версии в App Store
• iOS-разработчики в 2024 году: какие нужны скилы и как проходит процесс найма
• Concurrency in Swift 6
• SwiftUI Bottom Sheet: How to Hide Unwanted UI Components
#ios
Agile увеличивает риск провала проекта на 268%
Исследование показало, что вероятность провала программных проектов, использующих Agile-методики, на 268% выше, чем у тех, кто их не использует.
Хотя исследование, проведенное по заказу консалтинговой компании Engprax, можно рассматривать как тонко завуалированную рекламу методологии Impact Engineering, оно усиливает подозрения в том, что Agile-манифест может оказаться несколько переоцененным.
• Вероятность успеха проектов с четкими требованиями, задокументированными до начала разработки, была на 97% выше. Для сравнения, один из четырех столпов Манифеста Agile — «Работающее программное обеспечение важнее исчерпывающей документации».
• Согласно исследованию, составление спецификации до начала разработки может привести к 50% увеличению успеха, а обеспечение точности требований по отношению к реальной проблеме — к 57%.
• Вероятность успеха проектов, в которых инженеры чувствовали свободу в обсуждении и решении проблем, была на 87% выше.
И что: зачастую проблемы кроются вовсе не в этой методологии разработки. К тому же легко забыть, что у других методологий есть свои недостатки.
В Stack Overflow провели опрос 1700 разработчиков об использовании ИИ-помощников. Большинство респондентов (76%) сообщили, что используют или планируют использовать ИИ-помощники для программирования. Среди мобильных разработчиков таких 60%. Лидируют ChatGPT и GitHub Copilot, однако по совокупности увеличение продуктивности/удовлетворенность абсолютный лидер Codeium. Так что будете внедрять - попробуйте его.
Разработка
• Какой ИИ и как помогает разработчикам — опрос Stack Overflow
• Смартфоны станут основным форм-фактором для ИИ
• Mobius 2024 offline. День второй
• 5 Best Practices for the Sign-up Flow
Маркетинг
• Клиентская миграция: как бизнес переводит клиентов из старого приложения в новое
Кроссплатформа
• Automate Flutter Deployments to App Store and Play Store using Fastlane and Github Actions for a lazy developer
• sanjaysharmajw/live-tracking-flutter-9e2621a863eb">Live Tracking — Flutter
iOS
• Рынок работы для iOS-разработчиков — обсуждение в Reddit
• SwiftfulRouting — программная навигация для SwiftUI
• GPT vs Copilot: кто лучший помощник в написании UI-тестов для iOS?
• Swift at 10
• Creating custom buttons and hover effects in visionOS
• Creating gradient on polylines in SwiftUI MapKit
• Glitch Text Effect - SwiftUI
#ios