Разработка
• 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.
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
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
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