Пишите больше «бесполезных» программ
После моей последней статьи в блоге о Hurl (новый язык программирования) кто-то спросил меня, и я цитирую: «… зачем?». Простой ответ — «ради шутки». Но более длинный ответ заключается в том, что бесполезное программное обеспечение — это фантастический способ исследовать и испытывать радость от компьютеров. Игра — важная часть исследования и радости.
—
#самоповтор из 2023 года. Поделитесь в комментариях, что бесполезно интересного вы написали за последнее время?
🧰 Android
• Gemini Nano теперь доступен на Android в экспериментальном режиме
• Как устроен сборщик метрик Android-проекта
• Using kotlin-inject in a Kotlin/Compose Multiplatform project
• Factory Method and Abstract Factory Patterns in Kotlin
• How to bring your AI Model to Android devices
#android
Приглашаем на Mobile PeerLab #2 — камерную встречу для мобильных разработчиков
10 октября в Москве во второй раз пройдет PeerLab от экспертов Райдтеха Яндекс Go. Специалисты разберут кейсы, которые предложат участники: поговорят о DI-архитектуре, легаси и скорости сборки, сравнят KMP и Flutter, объяснят, чем отличаются техлиды от фичалидов, и поделятся советами о тестировании фичей.
После разбора кейсов гостей ждет afterparty, feature dev консультация и активности в реальной качалке — будем тренировать прогерские мышцы!
Реальные кейсы и ответы экспертов Яндекса на ваши вопросы о мобильной разработке — регистрируйтесь и зовите коллег!
Количество мест ограничено. После регистрации обязательно дождитесь подтверждения заявки
Basecam и Hey выпустили новый “нативный” веб-фреймворк для создания мобильных приложений - Hotwire Native. Вот как описывают:
Hotwire Native отображает HTML и CSS с вашего сервера в нативной оболочке и реагирует на перехваченные нажатия ссылок. Благодаря этому ваш мобильный веб-контент чувствует себя как дома на Android и iOS, используя стандартную, специфичную для каждой платформы навигацию и анимацию.
Hotwire Native перехватывает нажатия на ссылки и передает управление нативному адаптеру. Этот адаптер обеспечивает бесшовность: он делает скриншот текущей страницы, прежде чем вывести (или представить) новые экраны в нативном стеке с анимацией по умолчанию, специфичной для платформы. Затем он запрашивает веб-контент для этого нового экрана и отображает его через веб-представление.
Если пользователь переходит «назад» к предыдущему экрану, Hotwire Native использует кэшированные скриншоты, а поскольку мы используем нативные элементы управления навигацией, интерактивные жесты работают именно так, как ожидалось. Даже самым технически подкованным пользователям будет сложно поверить, что это не полностью родное приложение!
При этом ядром Hotwire Native по-прежнему является веб-браузер, что делает добавление новых экранов таким же простым, как создание новых страниц в вашем веб-приложении. Ваши клиенты Android и iOS видят обновления сразу после развертывания. И все это без новых отправлений в магазины приложений.
Веб-ориентированный подход Hotwire Native означает, что переход на нативные приложения не является решением «все или ничего». Вы можете выбрать конкретные экраны или даже отдельные компоненты, чтобы написать их на Swift или Kotlin, когда будете готовы. Это действительно прогрессивное совершенствование.
🌐 iOS
• Предотвращаем порчу кодовой базы в iOS-проектах с помощью прекоммит хуков
• Как ускорить запуск iOS-приложения в 2 раза с помощью Network Instrument
• SwiftUI: Configurable Widget to Let Our User Choose!
• How we safely removed 10,000 lines of code using Emerge Tools’ Reaper
• Why is my Task running on the main thread?
• Mastering container views in SwiftUI. Sections.
• Blending colors dynamically with the mix modifier
#ios
🌐 Случилось страшное ©️ Wordy — новое приложение для iOS, которое предлагает уникальный способ изучения английского языка. Приложение автоматически определяет и переводит незнакомые слова, пока вы смотрите любимые фильмы или телепередачи. В Wordy их доступно более 500,000, включая такие популярные сериалы, как «Пингвин» от HBO или новое шоу Disney+ «Это всё Агата». ИИ анализирует субтитры, затем извлекает и лемматизирует каждое слово. Используя микрофон телефона, модель распознавания речи определяет предложения из звука, поступающего с телевизора или компьютера. Это помогает приложению определить, где вы находитесь в эпизоде, и следовать за вами, прокручивая транскрипцию и выделяя некоторые слова, которые могут быть сложны для людей, не являющихся носителями английского языка. Когда появляется новое слово, вы можете быстро посмотреть на свой телефон, чтобы узнать его перевод. Почему страшное? Сам давно хотел такое сделать.
Разработка
• Discord запустил SDK для создания Активностей на платформе
• LiveKit — приложения для передачи голоса и видео
• Процесс CI/CD в Авито: от комита до релиза
• Что делать, если разработчики бесят
• Интероп – неизбежность в больших системах: C и C++, JNI, WinAPI
• Shadow Calls and Circuit Breakers: Uber's Safe Approach to Mobile Network API Migration
• It's hard to write code for computers, but it's even harder to write code for humans
Маркетинг
• Napkin — приложение для заметок, которое не стремится сделать вас более продуктивным
• Новое приложение Wordy поможет вам учить язык во время просмотра фильмов и шоу
• RevenueCat приобрел «пикантные» аудиокниги Dipsea
• Закон Калифорнии заставит цифровые магазины признать, что покупатели лицензируют, а не покупают контент
Кроссплатформа
• Темная сторона изолятов в Dart
• React Native перевернул игру
• Inspektify: KMP network inspection library
#mobile #dev
🔨 iOS
• HomePod с дисплеем, homeOS и Apple Intelligence выйдет на рынок в следующем году
• SwiftUI Flow Layout — потоковый макет на SwiftUI
• UITableView с различными типами ячеек
• Ускоряем SwiftUI с Observable
• Как укротить виджеты в супераппе?
• UICollectionViewLayout с самого начала
• Server side Live Activities guide
• Getting Started with Hummingbird
• SwiftUI Animations
• Videos from SwiftCraft 2024
• husnainali593/prevent-codebase-spoilage-in-ios-projects-with-a-pre-commit-git-hook-8b603f44613a">Prevent Codebase Spoilage in iOS Projects with a Pre-Commit Git Hook
• Using the #expect macro for Swift Testing
• Using PreviewModifier for Quick Xcode Previews
#ios
Ускоряем впечатления от доработки
Новая еженедельная подборка со всеми материалами - сетчатые градиенты и курощение виджетов, сломанная Android-разработка и инструментирование байт-кода Java во имя великого блага, единая биометрическая система во Flutter-приложении, портирование игр на Аврору, видеозвонки с Лили и многое другое. Подключайтесь!
Видео и подкасты за неделю @AppFiles
• (iOS Ru)
Ускоряем SwiftUI с Observable
• (iOS Ru)
Как укротить виджеты в супераппе?
• (iOS Ru)
UICollectionViewLayout с самого начала
• (iOS Ru)
UITableView с различными типами ячеек
• (iOS En)
Let's Integrate SwiftData CRUD into the Notes App
• (iOS En)
SwiftUI - Rotating Characters Loader Tutorial
• (iOS En)
Deep Dive into TabView Changes in iOS18
• (iOS En)
Let's Make Notes App With Complex Transitions | SwiftData | SwiftUI
• (iOS En)
Testing 101: What Are Integration Tests & How to Write Them in Swift
• (iOS En)
SwiftUI - Image Presentation Animation Tutorial
• (iOS En)
WWDC22: The SwiftUI cookbook for navigation
• (And Ru)
Размер имеет значение: как измерить и уменьшить вес Android-приложения
• (And Ru)
Установка Android-приложений от доисторических времен до наших дней
• (And En)
Room Renovations - Android Conference Talks
• (And En)
How to Implement a Custom Swipe to Reveal in Jetpack Compose
• (And En)
Keyboard & Focus Management In Jetpack Compose
• (And En)
How easy is it to draw on GoogleMaps using Compose?
• (Crs Ru)
React Native перевернул игру
• (Crs Ru)
Темная сторона изолятов в Dart
• (Dev Ru)
Интероп – неизбежность в больших системах: C и C++, JNI, WinAPI
• (Dev Ru)
Что делать, если разработчики бесят
• (Dev Ru)
Процесс CI/CD в Авито: от комита до релиза
• (Dev Ru)
Clean Architecture (чистая архитектура, все для проекта любого размера, принципы, мышление)
• (Dev En)
End-to-End Machine Learning Project – AI, MLOps
#ios #android #mobile #video
Сегодня Марк Цукерберг анонсировал новые AR-очки Orion. Очки, которые, по словам Цукерберга, разрабатывались десятилетие, на данный момент, похоже, не слишком далеко ушли от стадии концепта. Тем не менее, по техническому описанию это самое крутое устройство из всех, что мы видели - с хорошим углом зрения, достаточно легкие и качественные, с ИИ, управлением голосом и «нейроинтерфейсом». Практический конкурент Vision Pro.
Индустрия XR уже давно мечтает о настоящих AR-очках — продукте, который сочетает в себе преимущества большого голографического дисплея и персонализированной помощи искусственного интеллекта в удобном, носимом в течение всего дня форм-факторе. Orion отвечает на этот вызов.
🔨 iOS
• Работаем с сетчатыми градиентами в iOS 18
• HotReloading — горячая перезагрузка для Swift, Objective-C и C++
• SwiftUI: адаптация UI к различным размерам экрана (с примерами кода)
• Using the zoom navigation transition in SwiftUI
• The 2024 iOS Developer RoadMap
#ios
Мой любимый Duolingo запустил уроки математики и музыки (играл, ну гадал ни одной ноты), а также запланировал несколько новых интересных фич. Первая новая функция, которая появится, называется Adventures. Пользователи будут взаимодействовать с такими персонажами, как Оскар и Лили, применяя свои языковые навыки в реалистичных сценариях, таких как проверка паспорта или заказ кофе. Второй новый игровой режим, который анонсирован на Duocon 2024 — это видеозвонки с Лили. С его помощью вы сможете вести реалистичные разговоры с Лили. Компания заявила, что даже начинающим ученикам будет удобно, так как игра будет адаптироваться в зависимости от того, насколько пользователь продвинулся в прохождении курса. Разумеется, Лили работает на основе генеративного ИИ, и она будет доступна только подписчикам Duolingo Max.
Разработка
• Генеративный ИИ меняет то, как мы программируем, но программирование не исчезнет
• Как делать простые анимированные онбординги в Lottie без After Effects
• Avoiding if-else Hell: The Functional Style
Маркетинг
• Ютубер MKBHD выпустил приложение для обоев — и фанаты раскритиковали его
• Видеозвонки с Лили, Приключения и пианино — обновления Duolingo
Кроссплатформа
• Как мы успешно внедрили Единую Биометрическую Систему во Flutter-приложение
• Packages to improve UI/UX of your app
🌐 iOS
• alla.dubovska/swiftui-adapting-ui-to-different-screen-sizes-with-code-examples-12a6cd21ae72">SwiftUI: adapting UI to different screen sizes (with code examples)
• How to build a Safari extension with SwiftUI
• Getting started with Mesh Gradients on iOS 18
• Mastering container views in SwiftUI. Basics.
#ios
Ютубер MKBHD выпустил приложение для обоев
Популярнейший ютубер Маркес Браунли (Marques Brownlee, или MKBHD), занимающийся обзорами техники и электроники, недавно вышел из роли обозревателя и перешел на позицию создателя. На этой неделе он на iOS и Android запустил приложение для обоев под названием Panels.
• Приложение Panels по умолчанию должно было стать успешным. Когда Браунли делает обзор нового телефона, ноутбука или смарт-часов, его устройства всегда имеют особенно стильные обои.
• Лучшего времени для запуска приложения и придумать нельзя. На прошлой неделе Apple выпустила iOS 18, в котором особое внимание уделяется настройке экрана блокировки и домашнего экрана.
• Но недостаток Panels в том, что цены слишком высоки. Вы можете пользоваться приложением бесплатно и загружать изображения в более низком разрешении, если просмотрите две 30-секундные рекламы на каждое изображение — но такой вид сбора денег кажется чем-то, что сам Браунли не одобрил бы.
• А чтобы получить доступ к обоям высокого разрешения без просмотра рекламы, пользователям придется выложить около 50 долларов в год или 12 долларов в месяц.
• К тому же Panels может отслеживать местоположение пользователей, данные об использовании приложения и личные идентификаторы в других приложениях и на веб-сайтах. Но к чести Браунли, вскоре после запуска он написал, что это все рекламная интеграция и он готов решить эту проблему.
• Сейчас Panels занимает первое место в категории «Фото и видео» в магазине приложений для iOS в США, Канаде, Великобритании и восемнадцати других странах. Без учета игровых приложений Panels занимает 4-е место в Канаде и 9-е в США.
И что: одним из достоинств приложения является его попытка открыть новый поток доходов для цифровых художников в то время, когда генеративный ИИ представляет для них большую угрозу. Платежи делятся с художниками 50 на 50. Браунли пытается создать рынок для того, за что люди не привыкли платить. И если у кого-то и есть силы, чтобы заставить это работать, то это, скорее всего, технологический авторитет с таким размахом, как у Браунли. Но 50 долларов в год за обои??
UPD: В комментариях ссылка на реверс-инжиниринг: https://github.com/nadimkobeissi/mkbsd
🧰 Android
• Остерегайтесь Rounds.com — Обсуждение на Reddit
• Троян Necro продолжает преследовать пользователей Android
• Создание Convention Plugin-ов на базе Kotlin-классов
• Декларативный подход в организации gradle зависимостей в Android проектах
• How to Make HTTP Requests With Retrofit - Android
• Design Server-Driven UI with Jetpack Compose and Firebase
• Metaspace in JVM Builds
• Android Studio Ladybug | 2024.2.1 RC 1 now available
#android
🤖 Nvidia выпустила новое семейство больших мультимодальных языковых моделей NVLM 1.0, возглавляемое NVLM-D-72B с 72 миллиардами параметров. Сделав весовые коэффициенты моделей общедоступными и пообещав выпустить обучающий код, Nvidia отказалась от тенденции держать передовые ИИ-системы в закрытом доступе. Пишут, что выпуск NVLM 1.0 знаменует собой поворотный момент в развитии ИИ. Выкладывая в открытый доступ модель, конкурирующую с гигантами, Nvidia не просто делится кодом — она бросает вызов самой структуре индустрии ИИ. Вопрос теперь не в том, изменится ли ландшафт, а в том, насколько кардинально — и кто сможет достаточно быстро адаптироваться, чтобы процветать в этом новом мире открытого ИИ.
Разработка
• Nvidia открыла новую ИИ-модель, готовую соперничать с GPT-4
• Aspect Build получил $3.85M на улучшение работы с Bazel
• Разработчики получают мало пользы (если вообще что-то получают) от ИИ-помощников
• Когда в автомобиле нет системы GNSS…
• michalankiersztajn/3-must-have-tips-for-improving-code-readability-f7ec584e041c">3 Must-Have Tips for improving code readability
• Evolving GitHub Issue
• A Local-First Case Study
Маркетинг
• Maximize Your AppStore Success: Two Underutilized Apple Programs for Indies
Кроссплатформа
• Realistic folder opening animation in Flutter
• kshitizdayal14/2d-game-in-flutter-using-flame-af94731ec28e">2D Game in Flutter using Flame
#mobile #dev
🤮 iOS
• Как в Duolingo удалили 10,000 строк кода с помощью Reaper
• SymSpellSwift — коррекция орфографии и нечеткий поиск
• Быстрый доступ к VPN в iOS с помощью App Intents
• wesleymatlock/mastering-actors-and-concurrency-best-practices-a12e268a5968">Mastering Actors and Concurrency - Best Practices
• Implementing Shared With You in SwiftUI
• abdulahad2024/fixing-bitcode-issues-in-xcode-16-how-to-resolve-invalid-executable-errors-when-uploading-ios-da07a5a39c7c">Fixing Bitcode Issues in Xcode 16: How to Resolve Invalid Executable Errors When Uploading iOS Builds
#ios
🤖 Gemini Nano теперь доступен на Android в экспериментальном режиме
Gemini - это самое функциональное семейство ИИ-моделей Google. Созданное для обеспечения гибкости, оно может работать в любых системах - от центров обработки данных до мобильных устройств.
Сегодня компания открывает доступ к экспериментам с Gemini Nano для всех разработчиков Android с AI Edge SDK через AICore. Первоначально разработчики смогут экспериментировать с текстовыми подсказками на устройствах серии Pixel 9.
• Обратите внимание, что экспериментальный доступ предоставляется в целях разработки и пока не предназначен для использования в продакшене.
• Вот несколько вариантов использования, которые вы можете попробовать - Перефразирование, Умный ответ, Вычитка, Резюме.
• Есть пример приложения, чтобы начать экспериментировать с Gemini Nano.
🧰 Android
• YourSpace — семейный локатор и общение
• How to Ripple Outside of Compose Material
• Our journey with compose animations
• mmohamedrashik/a-beginners-guide-to-building-android-from-aosp-03ab4913614b">A Beginner’s Guide to Building Android from AOSP
• Exploring the Declarative Nature of Jetpack Compose
• Startup Profiles: The Quick Fix for Painfully Slow App Startups
• Jetpack Compose Tutorials and Playground
#android
Чем можно заменить Firebase - Обсуждение на Reddit
Один из пользователей Reddit задал вопрос - чем можно заменить Firebase:
Разрабатываю социальную сеть. Мне нужно использовать бэкэнд для CRUD-операций, аутентификации и хранения пользовательских данных. Во время изучения Flutter я использовал Firebase, но после подсчета расходов, которые я понесу, я решил отказаться от использования Firebase для моего приложения. Тем более что прибыль, скорее всего, будет низкой, так как я работаю на Ближнем Востоке.
Главный ответ - не фиг выпендриваться бесплатного уровня хватит надолго:
• Мы ведем наш бизнес с Firebase уже почти 5 лет. Мы почти никогда не используем бесплатные $200, а когда используем, то это не более чем $10-15. У нас 10 тысяч пользователей и около 1 тысячи активных ежедневно. Конечно, это не слишком много, но это самый дешевый вариант для всего того, что делается, с нулевым временем простоя.
• Firebase - это или дешево, или дорого Все зависит от того, как вы создадите схему своей базы данных. Очень важно создавать схемы, которые потребляют минимум операций чтения и записи. Но проблема в том, что большинство людей не фокусируются на оптимизации базы данных, так как большинство баз данных предоставляют неограниченное количество запросов и взимают плату за пропускную способность.
• Вы не потребите бесплатный лимит Firebase, если только у вас не будет взрывного роста.
• Большинство приложений будут мертвы еще до того, как потратят хоть один цент на Firebase.
Но есть и вполне жизненные альтернативы:
• Supabase как главный конкурент (можно self-hosted, если хочется совсем бесплатно)
• Appwrite
• Pocketbase
• Coolify (имеет встроенный Supabase)
• Собственный бэкенд (PHP/MySQL)
• Serverpod
• ConnectyCube
• AWS Serverless
🧰 Android
• Рисуя звезды: рисование с помощью Compose и Canvas
• Установка Android-приложений от доисторических времен до наших дней
• Размер имеет значение: как измерить и уменьшить вес Android-приложения
• Создание уведомлений на языке Kotlin
• Koin: как сделать свой DI за 10 минут
• Шлём биткоины с Android (и смотрим транзакции)
• ImageVector vs painterResources — Under the hood
• Why fullMode hates Gson so much?
• Optimized Image Loading for Compose and Kotlin Multiplatform
• Demystifying the Android Build Process: A Deep Dive into APK Generation
• Quick introduction to Large Language Models for Android developers
#android
🕐 RevenueCat приобрел «пикантные» аудиокниги Dipsea
Платформа управления подписками RevenueCat сделала свое первое приобретение — и довольно необычное. Это не какой-то инструмент, аналитика или SaaS для подписок, как можно было бы ожидать, это «пикантные» аудиокниги Dipsea.
• Нет, это не пивот. По словам представителей компании, новая идея заключается в том, чтобы развивать собственное приложение с подписками, которое станет испытательным полигоном для новых функций и возможностей RevenueCat. Кроме того, это послужит частью философии RevenueCat «build in public».
• Приложение Dipsea работает с авторами и рассказчиками (и технологией искусственного голоса ElevenLabs) для создания различных романтических вымышленных историй для женщин. В настоящее время Dipsea ведет довольно активный бизнес, насчитывая 93,847 платящих подписчиков и ARR около 6 миллионов долларов. Например, в прошлом месяце приложение принесло 505,920 долларов.
• В RevenueCat перешла создательница Dipsea и ее команда из 5 человек.
И что: владея собственным приложением, RevenueCat сможет экспериментировать с новыми методами, прежде чем пытаться убедить своих платящих клиентов, что они стоят риска. Кроме того, помимо тестирования инструментов, приложение может служить демонстрационным примером для потенциальных клиентов, которые хотят поработать с дашбордом RevenueCat, прежде чем принять решение.
3…2…1🧭
Поехали 🚀
Приглашаем тебя на iOS Meetup: Перфоманс и ускорение разработки 🧭
Если ты увлечён мобильной разработкой, не упусти шанс встретиться с экспертами iOS-разработки 1 октября в центральном офисе Сбера на Кутузовском!
Что тебя ждёт?
▪️ Инсайты от крупных IT-компаний о лучших практиках по ускорению разработки.
▪️ Обсуждение роли AI в оптимизации процессов.
▪️ Погружение в многомодульность и мультирепозиторий.
▪️ Разбор кастомных элементов сборки.
▪️ Возможность обменяться опытом с коллегами и единомышленниками.
Не пропусти!
формат — очно или онлайн.
👉Зарегистрироваться
🧩 Discord запустил SDK для создания Активностей на платформе
Активности - маленькие забавные инструменты и игры, которые можно загружать и использовать во время разговора с друзьями в Discord. С их помощью можно устраивать вечеринки с просмотром YouTube или играть в Gartic Phone, пока вы ждете того единственного друга, который говорит «Сейчас вернусь», а потом уходит на два часа.
• Компания выпустила Embedded App SDK для создания собственных Activity.
• Под капотом Активности — это одностраничные веб-приложения, размещенные в iframe и использующие Embedded App SDK для взаимодействия с клиентами Discord.
• После апрува каждый пользователь Discord сможет обнаружить вашу Активность в App Launcher, запустить ее или присоединиться к ней в текстовых и голосовых каналах, а также поделиться вложением со своими друзьями, чтобы те присоединились к веселью.
• Интересно, что Discord также разрешил сторонним разработчикам монетизировать свои Активности. Discord описывает это как покупки в приложении, где пользователи могут совершать «одноразовые покупки или подписки прямо в вашей Активности, что позволяет пользователям разблокировать премиум-функции или контент».
🧰 Android
• Rust избавляет Android от ошибок и помогает существенно сократить количество небезопасного кода
• ByteWeaver в Open Source: инструментирование байт-кода во имя великого блага
• Loading Initial Data on Android Part 2: Clear All Your Doubts
• rajputmukesh748/understanding-the-suspend-keyword-in-kotlin-coroutines-and-why-it-matters-for-android-development-39853532a523">Understanding the “suspend” Keyword in Kotlin Coroutines and Why It Matters for Android Development
• akbar.dzulfikar/how-can-mvi-architecture-revolutionize-your-compose-multiplatform-development-e3a9812a7aee">How Can MVI Architecture Revolutionize Your Compose Multiplatform Development?
#android
Привет, на связи креативщики из JOY ADS 🔥
Мы 3 года делаем UGC-креативы для гейминга, финтехов и других аппок. 30+ клиентов из топов индустрии.
Вы найдёте рабочие UGC-подходы быстро и без слива бюджета. И заодно бустанёте ROAS.
Если напишете @codezeroo и заберете ✨бесплатную методичку по умному тестированию✨ и скидку на первый пак.
А пока можете посмотреть наши видосы с топ UGC-лайфхаками.
🧰 Android
Можно бесконечно смотреть на огонь, воду и как на Reddit обсуждают сложности Android разработки.
Не знаю, синдром ли это самозванца или что-то другое, но я чувствую себя «медленным и тупым» всякий раз, когда разрабатываю для Android. Как будто я должен быть намного лучше, чем сейчас.
#вакансия
Команда Яндекс 🌍 Путешествий ищет того, кто поможет сделать лучшее Android-приложение для бронирования отелей. Откликайтесь на вакансию, если вы…
📍 готовы писать код самостоятельно и быстро
📍 можете обсудить детали реализации и предложить варианты выполнения задачи
📍 способны отвечать за выполненную работу
Подробнее про стек, условия и задачи — по ссылке 💛
📻 В Bloomberg написали о фейле Sonos - как технический долг + реорганизация + спешка в запуске привели к выпуску неготового приложения и репутационному провалу. Он, конечно, не такой занятный, как, например, у Telltale, но позволяет еще раз напомнить, что технический долг надо периодически гасить. Примечательно еще и то, что гендир Sonos не “ушел в себя”, а принял ответственность на себя и начал активно общаться с сотрудниками и клиентами. Говорят, что он сам стал отвечать на Reddit и по почте. Не на все, конечно, 30,000 писем в неделю, но иногда.
Разработка
• Как технический долг испортил приложение Sonos
• VK Education запускает базу учебных проектов для студентов
• How I Hire Programmers
Маркетинг
• В VK Рекламе стало доступно продвижение приложений из Huawei AppGallery
Кроссплатформа
• ООП в Dart
• agordn52/better-error-handling-for-flutter-error-stack-754a14fb9871">Better Error Handling for Flutter — Error Stack
• mmartosdev/pushing-the-boundaries-of-compose-multiplatform-with-agsl-shaders-d6d47380ba8a">Pushing the Boundaries of Compose Multiplatform with AGSL Shaders
• pomis172/a-practical-guide-on-cpu-architectures-for-flutter-developers-7ef80fbdb33a">A practical guide on CPU architectures for Flutter developers
• Common mistakes with OAuth in Flutter
#mobile #dev