У 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-игры для кнопочных телефонов нулевых и многое другое. Подключайтесь!
Compose Multiplatform для iOS достиг бета-версии
Версия фреймворка 1.6.10, анонсированная вчера на KotlinConf’24, включает в себя несколько мощных функций, а также повышает уровень поддержки iOS до Beta и Web до Alpha.
Основные моменты:
• API мультиплатформенных ресурсов теперь стабилен, и в эту библиотеку внесено несколько долгожданных улучшений.
• Есть экспериментальная библиотека навигации, основанная на Jetpack Compose Navigation.
• Общая библиотека Lifecycle с общей реализацией ViewModel.
• Поддерживается Kotlin 2.0.0 с использованием нового Gradle-плагина компилятора Compose.
• Compose Multiplatform для iOS стал Бетой
• Compose Multiplatform для Web стал Альфой
Прекрасный тред от человека, который сумел сделать и продать два одинаковых проекта - TBH и GAS. Собственно, каждый пункт можно “отливать в граните”, но в целом смысл в том, что каналы тестирования, распространения и маркетинга гораздо важнее вашей идеи. “Большинство продуктовых идей мертвы “по прибытии”, потому что невозможно создать условия для получения ценности. Заставить 7 взрослых друзей установить приложение и воспроизводить это - нетривиальная задача. Если вы сможете придумать, как это сделать, то это уже большая идея, чем ваша первоначальная концепция”. Очень рекомендую для всех инди и не очень. Впрочем, последний совет тоже обязателен к исполнению :)
Разработка
• Создание продуктов — это безжалостный гринд
• Мое решение 3-х проблем MVx
• Как мы спасаем жизни с помощью геймификации
• Как я делаю build больших Android/iOS проектов со 128 GB памяти на старом Mac
• How I failed at Test-Driven Development and what it took to get it right
Маркетинг
• Praktika использует ИИ-аватаров для более естественного изучения языков
Кроссплатформа
• kanellopoulos.leo/5-extra-packages-to-use-with-flutter-3-22-in-2024-81a0d8afc78b">5 extra packages to use with Flutter 3.22 in 2024
iOS
• MVVM: архитектурный шаблон для структурирования представлений SwiftUI
• Reducing iOS Test execution time with Selective Testing
• CocoaHeadsNL Meetup
• Reducing the Size of Cash App for iOS
#ios
Очередная статья про эйджизм и “выйти из IT” и, собственно, то, что ждет всех из нас. Средний возраст программистов самый большой в США, и это всего 32.8 года. Индустрия молода, но со временем, конечно, будет стареть, и седые программисты уже не будут вызывать удивление. В статье есть самые типовые варианты развития для разработчиков, а у вас есть план выхода?
—
#самоповтор из 2021 года. Проблема никуда не делась, а, скорее, даже усилилась и план выхода нужен как никогда.
Android
• Пишем plugin для Jetbrains IDE: отображение файлов вне проекта в Project Tool
• Need of ViewCompositionStrategy in Jetpack Compose
• What's new in Kotlin 2.0.0
• Mastering Jetpack Compose Performance
• christopher.mederos/something-worth-sharing-cf3e3f5083cf">Something Worth Sharing — How to use Composables on Social Media
#android
erid: LjN8KbFhp
2LEADS делится секретами OEM-продвижения 🗣
Как получить больше установок и оптимизировать расходы?
Агентство нового мобильного маркетинга 2Leads провело исследование и теперь делится опытом, как выработать эффективную стратегию работы с OEM-инвентарем.
Изучены площадки Xiaomi и Huawei, но выводы подходят и для других OEM-источников.
Используйте эти советы, чтобы повысить эффективность своих кампаний!
Исследование 🟩Реклама ООО"ТУЛИДС" ИНН 6317122270
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.
И что: необходимо понимать риски, которые вы берете на себя, используя ИИ в программировании. Это не только проблемы ошибок и неправильной архитектуры, но и вопросы безопасности, которые могут быть критическими.
Видео и подкасты за неделю:
• (iOS Ru)
Объединяем Combine и Swift Concurrency
• (iOS Ru)
TOP 10 горячих клавиш для Xcodу
• (iOS Ru)
Swift Plugins: ускоряем сборку проекта
• (iOS En)
SwiftUI TabView Offset Reader - Scrollable Tabs
• (iOS En)
Meet mergeable libraries
• (iOS En)
Fix failures faster with Xcode test reports
• (iOS En)
Dive deeper into SwiftData
• (iOS En)
CocoaHeadsNL Meetup: Adidas Apps Architecture/Managing our large iOS App
• (iOS En)
3 Advanced Tips to Code Like a Pro in Swift (from an ex-Apple engineer 🍎)
• (iOS En)
Hacker Text Effect - SwiftUI
• (iOS En)
Build your next website in Swift
• (And Ru)
Обсуждаем Google I/O 2024
• (And Ru)
Взлом и защита Android-приложений
• (And Ru)
Моментальный запуск: как VK Клипы работают с плейбэком видео на Android
• (And En)
Sustaining best performance with Android adaptability technology
• (And En)
Advanced graphics features in mobile games with Vulkan
• (And En)
3 things to improve your Android App experience: Edge to Edge, Predictive Back, and Glance
• (And En)
Make it faster - Android Developers Backstage
• (And En)
How to Use the Google's New Screenshot Testing Framework for Compose
• (And En)
KotlinConf'24 - Keynote
• (Crs En)
How to Setup a Room DB for Kotlin Multiplatform Compose
• (Dev Ru)
Как собеседовать мобильных инженеров? Системный дизайн спешит на помощь! (+ другие собеседования)
• (Dev Ru)
Проводим и проходим Mobile System Design-интервью
• (Dev Ru)
Стоит ли сегодня идти в айти?
• (Dev Ru)
Как сделать приложение на базе ChatGPT
Посоветуйте в комментариях интересные каналы по мобильной или не очень разработке? 🌐 @AppFiles
#ios #android #mobile #video
Apple обновляет Форумы для разработчиков
Должно быть, в Купертино умер какой-то медведь...
1. Форумы разработчиков Apple были переработаны к WWDC24, чтобы помочь разработчикам общаться с экспертами, инженерами Apple и друг с другом для поиска ответов и получения советов.
2. Вы получите доступ к расширенной базе знаний и сможете быстрее получать ответы, чтобы вернуться к созданию и совершенствованию своего приложения или игры.
3. Все участники программы Apple для разработчиков (42+ млн) теперь имеют приоритетный доступ к советам экспертов на форумах.
И что: теперь-то заживем!
Android
• «Картинка в картинке» приходит на Google TV
• Ketch — загрузчик файлов на основе WorkManager
• Adaptive Compose Layouts
• KotlinConf'24 - Keynote
• VolodymyrSch/the-complexities-of-clean-architecture-use-cases-71ac89ea8b40">The Complexities of Clean Architecture Use Cases
#android
22 июня приглашаем на конференцию Yandex BDUI Conf от Яндекса и Яндекс Маркета! 🎉
Приходите послушать доклады спикеров и поучаствовать в нетворкинге. Будет два трека с контентом: инфраструктурный - про разработку своих решений и продуктовый - про внедрение готовых фреймворков. Обсудим, как с помощью бэкенда сделать красивые и функциональные приложения.
Вас ждут доклады спикеров Яндекса, Авито и X5 Tech! После — дискуссия про карьеру мобильных разработчиков. Ещё вы сможете поучаствовать в активностях Яндекс Маркета, выиграть мерч, погулять в летнем дворике и записаться на экскурсию в офис Яндекса.
Зарегистрироваться можно здесь. А следить за новостями конференции — на сайте.
Конференция пройдёт 22 июня в Москве в «Экстрополисе». Если не получится прийти очно, присоединяйтесь к нашей трансляции!
До встречи на Yandex BDUI Conf — будет здорово! 👋
Недавно я писал про новый тренд в дейтинге - эксклюзивные приложения для знакомств. Такие, для вступления в которые нужно получить одобрение или приглашение от других пользователей, которые работают на определенную аудиторию или предлагают уникальные фичи. Еще один пример - Raya, приложение знакомств с/для знаменитостей, перешагнуло важный рубеж в $100 млн пользовательских трат. Мораль - казалось бы, в индустрии приложений для знакомств уже есть все, что нужно. Где Тиндер и где мы? Но все же при правильном подходе найти ключ к аудитории можно и даже нужно.
Разработка
• Copilot получает Extensions
• Какие возможности клавиатур подглядеть у Tinder, YouTube и Revolut
• Геймдев, про который мы забыли: как работали 2D-игры на кнопочных телефонах нулевых
• Hidden vs. Disabled In UX
• Things You Should Never Do As A Software Engineer
Маркетинг
• Multicast Games: как удержаться на высоте в геймдеве (и как на это влияет мобильная аналитика)
• Raya, приложение знакомств для знаменитостей, зарабатывает $100 млн
Кроссплатформа
• Победители Global Gamers Challenge
• Flutter 3.22 — наше мнение
• Что Flutter 3.22 нам готовит?
iOS
• Foil — правильная обертка для UserDefaults
• SwiftUI на iOS 14: преодолевая баги и улучшая перформанс в 3 раза
• Comparing CI/CD tools for iOS
• Unleashing the Power of Web3 and Blockchain in iOS
• Safely distribute new Machine Learning models to millions of iPhones over-the-air
#ios
Разработка
• Утечки памяти в мобильных приложениях: руководство для QA-инженеров
• Writing commit messages
• How Amazon built a high-performant, durable, & consistent in-memory database
• adnan.khan.dev/test-driven-development-tdd-is-not-the-solution-dafb0021c2d5">Test-Driven Development (TDD) is Not the Solution
Маркетинг
• Web-To-Web User Acquisition Guide 202
Кроссплатформа
• Сравнение архитектурных паттернов GetX и BLoC
• Qt 6.7.1 Released
• On-device Vector Database for Dart/Flutter
• Essential Libraries for Compose Multiplatform