iOS
• ChatGPT для Swift: 5 лучших промптов для генерации кода
• Has anybody here been laid off? How’s the market for devs right now?
• Vertical Circular Carousel - SwiftUI
#ios
Рынок мобильных приложений в 1 квартале 2024 года
У Sensor Tower вышел отчет о мировом рынке мобильных приложений в 1 квартале 2024 года. Вот некоторые интересные цифры из него.
• Расходы пользователей выросли почти на 10% по сравнению с 2023 годом — до $35.8 млрд.
• Приложения выросли на 19.4% ($15.5 млрд), игры на 2.9% ($20.3 млрд).
• Траты на iOS выросли на 11.5%, на Android на 5.3%.
Традиционно iOS более чем вдвое опережает Android по доходам.
Android
• Вглубь еще одной кроличьей норы оптимизации
• Что такое sealed класс — вопросы с собеседований
• Погружение в мир Lint'a в Android-проекте
• The Best Way to Learn as an Android Developer
• Region specific resources and broken localization
• Everything you want to know about Functional interfaces in Kotlin
• How I Finally Memorized Modifier Ordering in Compose
#android
Вглубь еще одной кроличьей норы оптимизации
Если вас увлекают вопросы казалось бы бессмысленной оптимизации простых функций - вот статья от Romain Guy, который взялся за функцию подсчета количества цифр в Long в Kotlin. Сможете перебить его результат?
Android
• Jetmagic — отзывчивые приложения для Android с Compose
• Разработка новостного приложения. Часть 7. Загрузка в Google Play
• Разработка новостного приложения. Часть 6. Что я сделал не так
• Оптимизация Compose: проблемы, опыт, тактика, стратегия
• Как создать аудиоплеер. Часть 2. Использование ExoPlayer
• Shared Element Transition в Jetpack Compose
• DPE University — обучение Gradle, Apache Maven и Develocity
• Down Another Rabbit Hole
• Effective Map Composables: Non-Draggable Markers
• Injecting your Compose applications with Koin — From Android to Multiplatform
• Securing the Future: Navigating the Deprecation of Encrypted Shared Preference
• Kotlin K2 FIR Quickstart Guide
#android
DPE University - обучение Gradle, Apache Maven и Develocity
Разработчики Gradle запустили новый учебный портал - DPE University. Он содержит курсы для самостоятельного обучения и призван помочь разработчикам программного обеспечения и инженерам по сборке получить максимум от инструментов сборки Gradle и Maven, а также от Develocity, платформы для повышения производительности разработчиков для предприятий.
Сейчас в DPE University уже есть десять основополагающих курсов, которые можно изучать по отдельности или в рамках четырех учебных потоков:
• Кэширование сборок в Gradle
• Кэширование сборок Maven с помощью Develocity
• Кэширование Gradle с Develocity
• Основы Develocity
Курсы углубленно изучают особенности конкретных технологий и включают практические занятия для отработки и закрепления полученных знаний. Учитесь вы самостоятельно, поэтому вы можете сами решать, когда и где этим заниматься.
Видео и подкасты за неделю:
• (iOS Ru)
Как писать игры на Swift для Playdate
• (iOS Ru)
Мок-собеседование iOS-разработчика. SwiftUI (+ все собеседования)
• (iOS Ru)
Макросы Swift: проще, чище, быстрее
• (iOS Ru)
Мы решили все проблемы работы в модульном проекте. Хотите так же?
• (iOS En)
Flip Clock Text Effect - SwiftUI
• (iOS En)
Expandable Search Bar using SwiftUI
• (iOS En)
Hacker Text Effect using SwiftUI
• (iOS En)
Spotlight your app with App Shortcuts
• (iOS En)
Update Live Activities with push notifications
• (iOS En)
Discover Calendar and EventKit
• (iOS En)
Create a great ShazamKit experience
• (iOS En)
How to cache the result of API calls (using NSCache)
• (And Ru)
Разработка новостного приложения. Часть 7. Загрузка в Google Play
• (And Ru)
Разработка новостного приложения. Часть 6. Что я сделал не так
• (And Ru)
Оптимизация Compose: проблемы, опыт, тактика, стратегия
• (And En)
Now in Android: 105 - I/O ‘24, Android 15, KMP, Compose, AndroidX, and more
• (And En)
List + Detail Screens Just Got SO MUCH Easier - NavigableListDetailPaneScaffold
• (And En)
Building an Android Video Calling App With the Stream SDK
• (And En)
Mastering Feature Flags: Best Practices with Firebase Remote Config
• (And En)
The Essence of Coroutines
• (Crs Ru)
5 лет с Flutter: эволюция кроссплатформенности
• (Crs Ru)
Flutter-диета. Как сбросить вес, выпиливая модули
• (Crs En)
Can a backend engineer learn Flutter with AI?
• (Dev Ru)
Прокачиваем Code Review: как выжать максимум?
• (Dev Ru)
Пишем нативно под Аврора ОС как под iOS: Clean-архитектура, Coordinator и UDF
• (Dev Ru)
Avito Product meetup: ML-продукты
• (Dev Ru)
Маргарита Лукина про Frontend, высшее образование, софт-скиллы и женщин в IT
• (Dev Ru)
Observability, Profiling и Benchmarking как основа High Performance
• (Dev En)
Linear Algebra Course – Mathematics for Machine Learning and Generative AI
• (Mrk En)
Why Duolingo’s Engagement Strategy Won’t Work For Every App — Asya Paloni, Welltory
Посоветуйте в комментариях интересные каналы по мобильной или не очень разработке? 🌐 @AppFiles
#ios #android #mobile #video
Android
• domen.lanisnik/android-studio-usage-tips-4c6c47b716e8">7 Android Studio Usage Tips
• My Story of Getting Scammed and Losing My Google Play Console Account
• kappdev/crafting-custom-3d-dialog-animation-in-jetpack-compose-b4038f7888d5">Crafting Custom 3D Dialog Animation in Jetpack Compose
#android
Компания Mistral только что представила Codestral - модель, предназначенную для задач генерации кода. Как пишут на сайте, она помогает разработчикам писать и дополнять код, взаимодействуя с ИИ с помощью общих инструкций. Модель свободно владеет 80+ языками программирования, в том числе Python, Java, C, C++, JavaScript и Bash, Swift и Fortran. Благодаря такой широкой языковой базе Codestral может помочь разработчикам в различных средах кодирования и проектах. Codestral можно использовать в исследовательских и тестовых целях и она уже доступна на HuggingFace.
Разработка
• Как сделать мобильные приложения, которые приносят $3,000 в день
• Мини-игры Playables стали доступны всем пользователям YouTube
• Indexing all of Wikipedia, on a laptop
• Codestral: Mistral's Code Model
Маркетинг
• Редактор цен для iOS подписок
Кроссплатформа
• santimattius/from-sqldelight-to-room-in-kotlin-multiplatform-projects-4eaced1620a7">From SQLDelight to Room in Kotlin Multiplatform Projects
iOS
• Финалисты Apple Design Award 2024
• Разбираемся с типографикой в visionOS
• How to create custom @Environment values in SwiftUI
• Slowly migrating from Objective-C to Swift
• @preconcurrency usage in Swift explained
#ios
Финалисты Apple Design Award 2024
Каждый год премия Apple Design Awards отмечает инновации, изобретательность и технические достижения в области дизайна приложений и игр. Но конкурс также стал чем-то большим - это момент, когда можно сделать шаг назад и отметить сообщество разработчиков Apple во всех его проявлениях.
Всего есть 7 категорий:
• Восторг и веселье
• Инклюзивность
• Инновации
• Взаимодействие
• Социальное влияние
• Визуальные и графические эффекты
• Пространственные вычисления
Вот, например, победители в Визуальные и графические эффекты:
Приложения
• Sunlitt: Sun Position and Path
• Meditate - Mindfulness app
• Rooms
Игры
• DEATH STRANDING DIRECTOR'S CUT
• Lies of P
• Honkai: Star Rail
Все наминанты тут.
Android
• Автоматизация подготовки релиз-кандидата
• Как создать Android-приложение чат-бота с генеративным ИИ Google
• App Architecture: JUnit Tests
• Compose UI Test and Preview Hacks!
• Kotlin Mobile Monorepo
#android
Разработка
• Стоит ли сегодня идти в айти?
• ChatGPT на вопросы по программированию дает 52% неправильных ответов
• Как собеседовать мобильных инженеров? Системный дизайн спешит на помощь!
• Проводим и проходим Mobile System Design-интервью
• Как сделать приложение на базе ChatGPT
• Daylight DC1 — попытка создать спокойный компьютер
• Writing a Unix clone in about a month
Маркетинг
• Максимальную стоимость покупки в Google Play подняли до $1000
Кроссплатформа
• Compose Multiplatform для iOS достиг бета-версии
• Why am I continuing to bet on Flutter
iOS
Посмотрите, как писать игры для Playdate:
• Как писать игры на Swift для Playdate
• Поваренная книга SwiftUI: изображения и иконки — Часть 2
• TOP 10 горячих клавиш для Xcode
• Swift Plugins: ускоряем сборку проекта
• Объединяем Combine и Swift Concurrency
• Apple обновляет Форумы для разработчиков
• Unidoc — масштабируемый механизм документирования кода Swift
• How Do You Know Whether or Not SwiftUI Previews and Preview Content Are Excluded From App Store Builds?
• Tricking iOS Into Animating App Icons
• This is what peak UIKit looks like
• jpmtech/your-complete-guide-to-push-notifications-in-swiftui-8a13f5588662">Your Complete Guide to Push Notifications in SwiftUI
• How to build segmented circular progress views in SwiftUI with Swift Charts
• Apple rich text fundamentals
#ios
ChatGPT на вопросы по программированию дает 52% неправильных ответов
Чат-боты с искусственным интеллектом, такие как ChatGPT от OpenAI, продаются как революционные инструменты, которые помогут работникам стать более эффективными и, возможно, в будущем полностью заменят людей. Но новое исследование показало, что ChatGPT отвечает на вопросы по программированию неправильно.
1. В исследовании Университета Пердью было изучено 517 вопросов по программированию на Stack Overflow, которые затем были переданы в ChatGPT.
2. Анализ показал, что 52% ответов ChatGPT содержат неверную информацию, а 77% — многословны.
3. Тем не менее, участники исследования все равно предпочитали ответы ChatGPT в 35% случаев из-за их полноты и хорошо сформулированного стиля изложения.
4. Удивительно, но программисты, участвовавшие в исследовании, не всегда улавливали ошибки, допускаемые чат-ботом с искусственным интеллектом. В 39% случаев они не замечали дезинформации в ответах ChatGPT.
И что: необходимо понимать риски, которые вы берете на себя, используя ИИ в программировании. Это не только проблемы ошибок и неправильной архитектуры, но и вопросы безопасности, которые могут быть критическими.
Почему я бросил Android-разработку после 10 лет и чем планирую заниматься сейчас
В этой статье я расскажу о том, почему я навсегда ушел из Android-разработки, проработав в этой отрасли почти десять лет.
Перевод: https://apptractor.ru/android10
—
#самоповтор из 2022 года. Удивительно, но автор почти смог - перешел на Flutter 😀
Ни месяца без нового магазина для iOS! В июне запускается Aptoide, игровой магазин с 6 (шестью) играми (это в 3 раза больше, чем 2 приложения у AltStore, но все же чувствуется что-то не то... 🥸), а в будущем планируют подключить еще "сотни разработчиков". Главное отличие в занятной схеме разделения доходов - если пользователь нашел приложение через поиск или рекомендации в магазине, компания берет 20%, если же разработчик привлекает пользователей через платную рекламу или через свои каналы, то “налог” составляет 10%. Чуть менее интересно, что пользователей собираются принимать по списку ожидания, чтобы не превысить лимит в 1 миллион установок и не платить Apple пресловутый CTF. Определенно, Aptoide к успеху идет.
Разработка
• NTP для мобильных разработчиков: Как точное время повысит качество ваших приложений
• How Figma overhauled their Performance Testing Framework
Маркетинг
• Aptoide запускает альтернативный магазин игр для iOS в ЕС
Кроссплатформа
• Встроенные коллекции Dart: как реализовать в коде основные структуры данных
• Streamline Flutter Development with Clean Architecture
• Dependency Injection in Compose Multiplatform
• callmeryan/releasing-my-first-true-kotlin-multiplatform-app-60d81e739eb0">Releasing my First True Kotlin Multiplatform App
iOS
• SweetPad — iOS-разработка в VSCode
• SwiftUI инпут: проблемы и решения
• itsuki.enjoy/swiftui-two-views-same-size-2-ways-603db1093913">SwiftUI: Two Views Same Size 2 Ways
• jpmtech/programmatically-hide-navigation-in-swiftui-87f2dba8e3e1">Programmatically Hide Navigation in SwiftUI
• Using App Intents in a SwiftUI app
• Swift Package Manager framework creation in Xcode
#ios
Помните я относительно недавно писал про ИИ-модель от Apple, которая умеет понимать интерфейс приложений? Так вот, теперь стало понятно для чего это - Bloomberg пишет, что Siri в скором времени научится работать с приложениями (сначала фирменными Apple, портом, по идее, со всеми остальными) и самостоятельно выполнять данные ей задачи. Этаки автономный агент, который будет понимать и последовательно выполнять то, что ему скажут.
Разработка
• Самые высокооплачиваемые вакансии мая в сфере разработки приложений
• Прокачиваем Code Review: как выжать максимум?
• Пишем нативно под Аврора ОС как под iOS: Clean-архитектура, Coordinator и UDF
• Avito Product meetup: ML-продукты
• Маргарита Лукина про Frontend, высшее образование, софт-скиллы и женщин в IT
• Observability, Profiling и Benchmarking как основа High Performance
• Три закона сложности программного обеспечения (или почему инженеры-программисты всегда грустные)
• Openpanel — альтернатива Mixpanel с открытым исходным кодом
• Доступность, она же accessibility: делимся нашим опытом разработки
• Why I retired from the tech crusades
Маркетинг
• Polycam поставил рекорд и достиг выручки в $1 млн в месяц
• Приложение Autobiographer использует ИИ, чтобы помочь вам рассказать историю своей жизни
Кроссплатформа
• 5 лет с Flutter: эволюция кроссплатформенности
• Flutter-диета. Как сбросить вес, выпиливая модули
• Enhancing Your Flutter Project with Typesafe Packages
iOS
• Поваренная книга SwiftUI: изображения и иконки — Часть 3
• Мок-собеседование iOS-разработчика. SwiftUI
• Мы решили все проблемы работы в модульном проекте. Хотите так же?
• Siri получит обширные знания для запуска отдельных функций приложений
• Макросы Swift: проще, чище, быстрее
• Как я преподавал алгоритмы в 4 местах и проходил iOS-курсы. Что помогло получить работу?
• Configuring Previews
• Do NOT init State externally in SwiftUI
• Objective-C basics for Swift developers
#ios
Непроизвольная тирания адаптивных макетов
Новая подборка всех статей за неделю - разбираем основы iOS-разработки в Revolut и оцениваем финалистов Apple Design Award 2024, обновляем адаптивные макеты на примерах с I/O и продолжаем ставить на Flutter, тираним пользовательские интерфейсы, катим MobAIle-разработку, делаем кондиционер умным и многое другое. Подключайтесь!
У PLDB, базы данных языков программирования, вышло занятное исследование - в каком возрасте разработчики создают свои языки программирования. Минимальный возраст для этого — 16 лет, как у Аарона Шварца, создателя atx, а максимальный — 70, как у Кена Айверсона и J. Средний возраст составляет 37.5 лет, а медиана — 36. Чаще всего программисты создают языки в возрасте от 30 до 40 лет. Программисты в возрасте старше 40 лет держат второе место. TypeScript, Go, JSON и Clojure — вот несколько очень популярных языков из Топ-100, которые были созданы людьми в возрасте 40-50 лет.
Создавать собственные языки (чаще всего) весело, независимо от того, приживутся ли они. Но еще интереснее создать язык, который станет популярным, а начинать что-то новое никогда не поздно.
А ты сделал свой язык программирования, %username%? 👨🏻💻
Разработка
• В каком возрасте программисты создают новые языки?
• Fitbit выпустил Ace LTE — умные часы/трекер для детей
• Редизайн сервиса «Обмен валюты» в мобильном приложении ОТП Банка
• AI-Friendly Programming Languages: the Kotlin Story
• Don't DRY Your Code Prematurely
Маркетинг
• Supercell выпустила свою шестую игру — Squad Busters
Кроссплатформа
• Building multiplatform games with Flutter
• Bringing Together: Jetpack Compose and Native iOS Components
iOS
• Основы iOS-разработки в Revolut
• Sword — инъекция зависимостей во время компиляции
• Save Data in Your Swift App with PropertyListEncoder
• Selective Unit Testing on iOS: Achieve %80 Faster Feedback
• Observation Framework for SwiftUI
• A Guide to High-Performance Networking
#ios
Android
• Blueprint — размеры Composable
• Annoying problems with Android projects
• Finally Ternary Operator in Kotlin 2.0
• The on-device Vector Database for Android and Java
• Securing the Future: Navigating the Deprecation of Encrypted Shared Preferences
#android
Как сделать мобильные приложения, которые приносят $3,000 в день
Виктор Сералеев (теперь из Чили) на Reddit написал свою историю инди-разработки - как он создал ряд сервисных приложений и начал зарабатывать $3,000 в день. После чего Apple его забанила. Поначалу забрала его $110,000, потом отдала, но теперь он судится с Apple за восстановление аккаунта, но это уже тема другой статьи.
Правда, как обычно, есть нюанс. Комментаторы на Hacker News подозревают, что его приложения некоторым образом скам, которые манипулируют пользователям, продавая им подписки за $4 в неделю.
Что-то не так… эти приложения не выглядят достойными 33K/MRR. Я подозреваю, что была проведена какая-то манипуляция, чтобы… помочь?
GDE по Flutter и Dart из Тринидад и Тобаго написал программную статью о том, почему Flutter все-таки не умрет. Тезиса два. Во-первых, на нем уже работают приложения крупных компаний и собственные “денежные” проекты Гугла. Во вторых, это отличная точка входа для облачных сервисов компании - разработчики их подключают “по умолчанию”, а дальше слезть уже трудно. Вряд ли оба эти пунктам могут существенно повлиять на судьбу Flutter в Google (“Это наша корова и мы ее доим”), но пока на фронте кроссплатформенных фреймворков кажется наступило затишье. Как вам кажется?
Разработка
• SQL vs NoSQL: как выбрать архитектуру БД для мобильного приложения, чтобы потом не пришлось ничего переписывать
• Как понять, что пора выпускать новое приложение вместо старого? Разбираем со стороны бизнеса
• MobileLlama3: Run Llama3 locally on mobile
• Big Data is Dead
• How to create mobile apps that make $3,000 a day
Маркетинг
• ИИ-репетиторы незаметно меняют подход к обучению детей
• Алгоритмы, модели и пицца: как с помощью programmatic-рекламы эффективно привлекать и возвращать пользователей. Кейс «Додо Пиццы» и Bidease
Кроссплатформа
• Почему я продолжаю ставить на Flutter
• Migrating UI-oriented Android library to Compose Multiplatform
• The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform
• How BigPay Increased Flutter Developer Velocity
• These New Flutter/Dart Features Make My Life Easier
iOS
• DeskPad — виртуальный монитор для шаринга экрана
• Стэнфордский курс CS193P “Разработка iOS приложений в SwiftUI” Весна 2023: русскоязычный конспект с адаптацией к iOS 17
• Programmatic navigation in SwiftUI with NavigationPath and navigationDestination
• Replacing The Deprecated cornerRadius View Modifier In SwiftUI
• ChatGPT for Swift: Top 5 code generation prompts
• vladislavshkodich/remove-observableobject-from-your-swiftui-model-cb455e9572ef">Remove ObservableObject from your SwiftUI model
• The fundamentals of iOS at Revolut
#ios
Android
Прочитайте, что обновилось в адаптивных макетах Compose:
• Обновления в адаптивных макетах Compose с I/O
• Compose Guard — плагин Gradle для обнаружения регрессий в Jetpack Compose
• Обсуждаем Google I/O 2024
• Взлом и защита Android-приложений
• Моментальный запуск: как VK Клипы работают с плейбэком видео на Android
• Google Bets on Kotlin Multiplatform: Koin Leads for Android & KMP
• Injecting Composables with Dagger without losing it
• Caching Strategies in Android
• KotlinConf 2024 announcements
• Change App Theme - Personalizing Accessibility
• A Developer’s Roadmap to Predictive Back (Views)
#android
Максимальную стоимость покупки в Google Play подняли до $1000
Почти незамеченной на I/O прошла новость о том, что в Google Play теперь можно делать покупки в $1000.
• Изначально при появлении Google Play лимит одной покупки составлял 200 долларов, но в конце 2015 года он был увеличен до 400 долларов. Теперь, спустя почти восемь с половиной лет, Google поднял лимит стоимости одной покупки до 1000 долларов.
Понятно, что немногие продукты будут стоить $999.99, если речь идет о покупках в приложении. Вероятно главная область применения - приложения, которые существуют исключительно для того, чтобы показать другим, насколько вы богаты, или корпоративные программы или сервисы, предлагающие годовую подписку.
С другой стороны, Google Play с годами значительно расширил инструменты биллинга и варианты оплаты. В частности, на I/O компания представила новую функцию рассрочки подписки, которая позволяет разработчикам предлагать пользователям возможность оплачивать долгосрочные подписки в течение определенного времени. Разработчики, желающие взимать 999.99 долларов за приложение или сервис, могут воспользоваться этой опцией, чтобы разбить платежи по времени, что, по словам Google, уже привело к увеличению общего числа подписок на 8% и росту расходов пользователей на 4%.
💵 Звучит Ecstasy of Gold (или так)
Преодолевая баги кнопочных телефонов
Очередная подборка всех статей за неделю - работаем с SwiftUI на iOS 14, снова обсуждаем Google I/O 2024 и проводим скриншот-тестирование для превью Compose, оцениваем Flutter 3.22, пишем 2D-игры для кнопочных телефонов нулевых и многое другое. Подключайтесь!