apptractor | Unsorted

Telegram-канал apptractor - Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

11115

Цифры, советы и все интересное о разработке мобильных приложений и сервисов. Комментарии и вопросы можно писать прямо @lbogolubov • Аудитория https://t.me/apptractor/1066 • Сайт https://apptractor.ru/ • Поощрения: https://boosty.to/apptractor

Subscribe to a channel

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🔨 Автор статьи “Остерегайтесь UserDefaults” открыл прекрасное. Оказывается, iOS иногда все-таки шифрует данные в UserDefaults (как она решает что шифровать я так и не понял, но не суть). А расшифровать их можно только когда пользователь разблокировал устройство. Учитывая Live Activity на экране блокировки и предварительный разогрев приложений получаем превосходную коллизию, когда UserDefaults не может выполнять то, собственно для чего создавалась (например, получает даже не nil, а 0 вместо количества заходов пользователя в приложение):

Суть UserDefaults в том, что он должен надежно хранить простые, нечувствительные данные, чтобы к ним можно было обратиться в любой момент. Тот факт, что теперь эта ситуация кардинально изменилась, и что ваше приложение может быть запущено фактически в любое время, делает ситуацию невероятно запутанной, опасной и трудной для отладки.

Но все не так плохо - автор написал библиотеку для хранения данных.

Разработка

My negative views on Rust

Маркетинг

Как TikTok бустит монетизацию, шеринг контента и количество сессий с помощью геймификации

Кроссплатформа

Рецензия на книгу “Flutter и Dart. Сборник рецептов: Разработка полнофункциональных облачных приложений”
dmroznurr/customizable-calendar-widget-with-flutter-flutter-custom-calendar-b8e7bedb159d">Customizable Calendar Widget with Flutter: flutter_custom_calendar

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

Остерегайтесь UserDefaults: история о труднопонимаемых ошибках и потерянных данных
Пишите на Swift как Apple
DevTutor for SwiftUI — примеры SwiftUI
Applying visual effects combined with scrolling in SwiftUI
How to listen for property changes in an @Observable class using AsyncStreams
Mastering Swift’s RunLoop: A Comprehensive Guide
Mastering container views in SwiftUI. Values.
dhairyavora_35186/swift-memory-handle-with-care-a-fun-dive-into-advanced-ios-memory-management-4a0b2792a5e5">Swift Memory: Handle with Care! A Fun Dive into Advanced iOS Memory Management

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Разработка

Бывшие члены команды Google Maps создали доску для совместной работы на основе ИИ
«Яндекс» увеличил награду для охотников за ошибками в мобильных приложениях до миллиона рублей
My First Game with Carimbo, My Homemade Engine, For my Son
Cognitive Load is what matters

Маркетинг

В приложение Philips Hue добавили дополненную реальность

Кроссплатформа

Humble Opinion About Getx

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

uwaisalqadri/write-swift-like-apple-4c4331cf140c">Write Swift Like Apple
UserDefaults and Observation in SwiftUI: How to Achieve Precise Responsiveness
Crafting a Typewriter Text Animation in SwiftUI
Introducing Tiny Storage: a small, lightweight UserDefaults replacement

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

Google должен открыть Android для сторонних магазинов
Hidden Gems of the Kotlin Standard Library - List
Enhance Your App’s Performance: Optimizing API Calls with OkHttp Caching
10 reasons to NOT use Jetpack Compose
nachare.reena8/a-deep-dive-into-android-hardware-backed-keystore-3b0149356870">A Deep Dive into Android Hardware-Backed Keystore

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🤖 Google должен открыть Android для сторонних магазинов

Магазин приложений Google для Android является незаконной монополией - и теперь ему придется измениться.

Сегодня судья Джеймс Донато вынес окончательное решение по делу Epic против Google, предписав Google фактически открыть магазин приложений Google Play для конкурентов как минимум на три года. Google должен будет распространять конкурирующие магазины приложений сторонних разработчиков внутри Google Play, а также предоставить им доступ к полному каталогу приложений Google Play, если только разработчики не откажутся от этого в индивидуальном порядке.

Кроме того, начиная с 1 ноября 2024 года Google также должен:

• Прекратить требовать использовать Google Play Billing для приложений, распространяемых в Google Play Store.
• Позволить разработчикам Android рассказывать пользователям о других способах оплаты в Play Store.
• Разрешить разработчикам Android размещать ссылки на способы загрузки их приложений за пределами Play Store.
• Разрешить разработчикам Android устанавливать свои собственные цены на приложения независимо от Play Billing.

И нельзя будет:

• Делиться доходами от приложений «с любым физическим или юридическим лицом, которое распространяет приложения для Android» или планирует запустить магазин приложений или платформу для приложений.
• Предлагать разработчикам деньги или льготы за эксклюзивный или первый запуск их приложений в Play Store.
• Предлагать разработчикам деньги или льготы, чтобы они не запускали свои приложения в конкурирующих магазинах.
• Предлагать производителям устройств или операторам связи деньги или льготы за предустановку Play Store.
• Предложите производителям устройств или операторам связи деньги или льготы за отказ от предустановки конкурирующих магазинов

По идее, Google по-прежнему будет контролировать безопасность и надежность. В судебном запрете говорится, что Google может «принять разумные меры», которые являются «строго необходимыми и узкоспециализированными» и «сопоставимы» с тем, как компания сейчас регулирует работу Google Play Store. Кроме того, Google сможет взимать плату за такие меры.

Сам Google заявляет, что изменения приведут к «целому ряду непредвиденных последствий, которые навредят американским потребителям, разработчикам и производителям устройств». Компания будет подавать апелляцию и просить о приостановке всех этих мер.

Дополнительное чтение: как Google проиграл там, где Apple выиграла

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

KLogX — логирование для Kotlin
Как грузить данные во ViewModel?
Делегаты и делегированные свойства в Kotlin
Как перехватывают зашифрованный HTTS-трафик на мобильном устройстве
Mastering FileProvider in Android: Secure File Sharing Explained
domen.lanisnik/pull-to-refresh-with-compose-material-3-26b37dbea966">Pull to Refresh with Compose Material 3
Expandable FlowRow with Indicator
Coil: My Favorite Image Loading Library for Jetpack Compose
Repairing database on the fly for millions of users

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Яндекс снял мини-сериал про мобильную разработку

Здесь Алексей Гладков, автор блога Mobile Developer, и 7 топовых разработчиков из Яндекса будут вместе пилить пет-проект с дедлайном в [ДАННЫЕ УДАЛЕНЫ]. На всё про всё у них есть 4 эпизода. В финале покажем, что из этого получилось.

В первой серии ребята устроили смертельную битву Flutter vs Kotlin. Противостояние зашло так далеко, что пришлось бегать по офису и доставать вопросами разработчиков, роботов-доставщиков и даже одного случайного Романа Елизарова.

В следующих сериях: выбор между монолитами и многомодульностью, ТЗ маркером на доске, мучительные выборы тимлида и проработка фич.

Первую серию нашего мини-ситкома про технологии, факапы и их решения смотрите на канале YandexforMobile/?erid=2SDnje3vvTc">Yandex for Mobile.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Видео и подкасты за неделю @AppFiles

(iOS Ru) Как мы запекали 3D-пиццу
(iOS Ru) Есть ли ORM круче SwiftData
(iOS Ru) Макросы спустя полгода: не все так гладко
(iOS Ru) DriverKit: гоняем данные по проводу без мам, пап и MFi
(iOS En) Recreate Apple's Stopwatch: Mastering Millisecond Precision in SwiftUI
(iOS En) Видео SwiftCraft 2024
(iOS En) Alternative App Icons in Xcode 16
(iOS En) New in Xcode16: the macro @Previewable
(iOS En) SwiftUI - Support Prior iOS Versions - Backward Compatibility
(iOS En) Embedded Swift and 16x16 LED Matrix Animation Overview
(iOS En) Preview Updates in Xcode 16
(iOS En) Auto Scrolling Infinite Carousel - iOS 18
(And En) Integrating the Gemini API in Android
(And En) How to Navigate From ViewModels With a Custom Navigator
(And En) Android Application with Microsoft Identity Platform
(And En) Applying the Factory Method and Abstract Factory Patterns in Kotlin
(Crs En) Multiplayer drawing with Flutter and Serverpod. Full tutorial.
(Dev Ru) Уволить нельзя терпеть
(Dev Ru) Lua – идеальный встраиваемый язык
(Dev En) The reality of the developer job market with ex-Googler YK Sugi

#ios #android #mobile #video

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🧰 Android

Новый подход к безопасному управлению состояниями в Kotlin-приложениях
A quick glance at AppWidget
jhavidit/implementing-type-safe-multi-module-nested-navigation-in-bottom-navigation-using-jetpack-compose-890576c0bebf">Implementing Type-Safe Multi-Module Nested Navigation in Bottom Navigation using Jetpack Compose
Weather App For Android Wear OS Using Compose
How to “Safely” Migrate from Retrofit to Ktor

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Пишите больше «бесполезных» программ

После моей последней статьи в блоге о Hurl (новый язык программирования) кто-то спросил меня, и я цитирую: «… зачем?». Простой ответ — «ради шутки». Но более длинный ответ заключается в том, что бесполезное программное обеспечение — это фантастический способ исследовать и испытывать радость от компьютеров. Игра — важная часть исследования и радости.



#самоповтор из 2023 года. Поделитесь в комментариях, что бесполезно интересного вы написали за последнее время?

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🧰 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 Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Приглашаем на Mobile PeerLab #2 — камерную встречу для мобильных разработчиков

10 октября в Москве во второй раз пройдет PeerLab от экспертов Райдтеха Яндекс Go. Специалисты разберут кейсы, которые предложат участники: поговорят о DI-архитектуре, легаси и скорости сборки, сравнят KMP и Flutter, объяснят, чем отличаются техлиды от фичалидов, и поделятся советами о тестировании фичей.

После разбора кейсов гостей ждет afterparty, feature dev консультация и активности в реальной качалке — будем тренировать прогерские мышцы!

Реальные кейсы и ответы экспертов Яндекса на ваши вопросы о мобильной разработке — регистрируйтесь и зовите коллег!

Количество мест ограничено. После регистрации обязательно дождитесь подтверждения заявки

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Basecam и Hey выпустили новый “нативный” веб-фреймворк для создания мобильных приложений - Hotwire Native. Вот как описывают:

Hotwire Native отображает HTML и CSS с вашего сервера в нативной оболочке и реагирует на перехваченные нажатия ссылок. Благодаря этому ваш мобильный веб-контент чувствует себя как дома на Android и iOS, используя стандартную, специфичную для каждой платформы навигацию и анимацию.

Hotwire Native перехватывает нажатия на ссылки и передает управление нативному адаптеру. Этот адаптер обеспечивает бесшовность: он делает скриншот текущей страницы, прежде чем вывести (или представить) новые экраны в нативном стеке с анимацией по умолчанию, специфичной для платформы. Затем он запрашивает веб-контент для этого нового экрана и отображает его через веб-представление.

Если пользователь переходит «назад» к предыдущему экрану, Hotwire Native использует кэшированные скриншоты, а поскольку мы используем нативные элементы управления навигацией, интерактивные жесты работают именно так, как ожидалось. Даже самым технически подкованным пользователям будет сложно поверить, что это не полностью родное приложение!

При этом ядром Hotwire Native по-прежнему является веб-браузер, что делает добавление новых экранов таким же простым, как создание новых страниц в вашем веб-приложении. Ваши клиенты Android и iOS видят обновления сразу после развертывания. И все это без новых отправлений в магазины приложений.

Веб-ориентированный подход Hotwire Native означает, что переход на нативные приложения не является решением «все или ничего». Вы можете выбрать конкретные экраны или даже отдельные компоненты, чтобы написать их на Swift или Kotlin, когда будете готовы. Это действительно прогрессивное совершенствование.

Звучит, в общем-то понятно. Дьявол, как всегда, в деталях. Кто попробует - расскажите. Давно пора заменить нативную разработку на веб ☺️

Разработка

Самые высокооплачиваемые вакансии сентября в сфере разработки приложений
Чем можно заменить Firebase — Обсуждение на Reddit
Как мы разработали приложение для бортпроводников S7 Airlines, чтобы избавить их от бумажной работы
Don't Be Afraid to Re-Invent the Wheel
Devs gaining little (if anything) from AI coding assistants

Маркетинг

Ello обучает детей чтению и с помощью ИИ позволяет детям создавать свои собственные истории
Epic подала в суд на Samsung и Google

Кроссплатформа

Hotwire Native
kanellopoulos.leo/a-simple-way-to-organize-your-code-in-flutter-e175e7004fb5">A Simple way to organize your code in Flutter
bigyan.poudel/automate-your-flutter-flavours-one-script-to-configure-them-all-42e14d2bb8f0">Automate Your Flutter Environment Setup: One Script to Configure It All

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🌐 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

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

Android 16 может позволить вам поместить любое приложение в плавающий пузырь
Selenoid на Android – от А до Я
Авто-трекинг производительности Room Database
kappdev/how-to-create-a-pulse-effect-in-jetpack-compose-265d49aad044">How to Create a Pulse Effect in Jetpack Compose
The day we (almost) lost 1,000 customers
sc128496/bypassing-multiple-checks-on-android-applications-a-security-researchers-experience-2ec1a3005b60">Bypassing Multiple Checks on Android Applications: A Security Researcher’s Experience

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Выиграй 4 000 000 ₽ на True Tech Champ

МТС приглашает опытных и начинающих разработчиков поучаствовать в чемпионате. В треке «Программирование роботов» нужно будет создать алгоритм для прохождения лабиринта. Победит тот, чей робот окажется самым быстрым. При этом не обязательно разбираться в устройстве роботов: эксперты трека уже сконструировали их и создали прошивку. Для участия достаточно уметь программировать на одном из языков: С++, C#, Go, Python, JS, Java.

Регистрация открыта до 12 октября, отборочные онлайн-этапы уже стартовали!

До финала смогут дойти на равных разработчики вне зависимости от стека или уровня: питонисты или джависты, джуны или сеньоры. А с полуфиналов начнётся командный этап — можно собрать свою дримтим.

Участникам дадут доступ к API и подробные инструкции. Эксперты трека будут помогать, направлять и отвечать на вопросы на вебинарах.

Зарегистрироваться можно по ссылке.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

На Medium статья "10 причин НЕ использовать Jetpack Compose" собрала 139 апвоутов, но все ее положения опровергли в первом же комментарии. До которого я добрался только переведя всю статью. Оказалось, что за хайповым заголовком скрывается хайповый же контент в стиле "О Боже, придется переписать тесты". Ну надо же, кто бы мог предположить. Прочитайте хотя бы чтобы мне просмотров нагнать ☺️

10 причин НЕ использовать Jetpack Compose
Паря в космосе: анимации с помощью Compose и Canvas
Transcribro — распознавание речи на устройстве
Как улучшить качество WebRTC-звонков на примере сервиса VK Звонки
Introducing Ink API, a new Jetpack library for stylus apps
Mastering FileProvider in Android: Secure File Sharing Explained
Place Scope Handling on Auto-Pilot with Koin & Compose Navigation
Drawing Custom Alerts on Top of Bottom Sheets in Jetpack Compose
Upgrading from AGP 7.4.1 to 8.5.2: A Developer’s Diary

#android

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Ночной кошмар любого разработчика - посыпавшаяся база данных в приложениях у клиентов. В первой статье случай более легкий, просто не восстанавливался бэкап, но все равно, холодным потом покрыться можно. Впрочем, исправление оказалось довольно простым (дампим старую - создаем новую), так что покрыться ненадолго. Главная фраза статьи: “low-end Android — странные звери” 🤖

Разработка

Восстановление базы для миллионов пользователей

Маркетинг

Revyze — «TikTok для образования» — перенимает методики Duolingo
Что такое Product-Market Fit
How to get started with User-Generated Content

Кроссплатформа

Что такое Home-виджеты и как их подружить с вашим приложением на Flutter
Build a Book Library App for Android & iOS using ROOM KMP (MVVM)
Advanced Flutter Techniques Every Mobile Developer Should Know
Qt 6.8 LTS Released!
Building offline-first mobile apps with Supabase, Flutter and Brick

#mobile #dev

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

Реализация Shared With You в SwiftUI
Swipe Cell SwiftUI — swipe-to-reveal для SwiftUI
Virtualizing iOS on Apple Silicon
Supporting Interactive Input in CLI Tools Using Property Wrappers
Transcribing audio from live audio using the Speech framework
Using Binaries as Libraries
Announcing the Swift Student Challenge 2025

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Discord интересно пишет о том, как они сокращали трафик к мобильным и не очень клиентам. В основу положили новых механизм компрессии, который немного потюнили (и кстати, не всегда, успешно). Кроме того, значительно уменьшили передачу данных пассивным сессиям. А в результате получилась экономия трафика на 40%.

Разработка

Как Discord сократил Websocket трафик на 40%
Уволить нельзя терпеть
Lua – идеальный встраиваемый язык
OpenAI запускает «Холст» для программирования с ChatGPT
Лучшие 14-дюймовые ноутбуки 2024
MongoDB Atlas Data API End-of-Life and Deprecation
Building an Uber clone
Does it scale (down)?

Маркетинг

Музыкальный эксперимент TikTok внезапно завершился
Доходы от приложений с подпиской достигли нового рекорда

Кроссплатформа

Что такое covariant в Dart
Build Your First Android and iOS Mobile App With Kotlin Multiplatform

#mobile #dev

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

LinksKit — удобное представление SwiftUI для отображения общих ссылок
Как мы запекали 3D-пиццу
Есть ли ORM круче SwiftData
Макросы спустя полгода: не все так гладко
DriverKit: гоняем данные по проводу без мам, пап и MFi
Beware UserDefaults: a tale of hard to find bugs, and lost data
Видео Server-Side Swift Conference 2024
Why I Stopped Building for visionOS (And What Could Bring Me Back)
What Are 3 Truths About Becoming Successful IOS Tech Lead?
How to Make Menu Buttons Easy to Tap in UIKit and SwiftUI
The perfect iOS networking layer does not exist

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Почему рисуют звезды

Все-все новости и статьи за неделю - ускорение запуска приложений и спойлер-эффект кна Swift, сборщик метрик Android-проекта и рисование звезд, замена Firebase, идеальный встраиваемый язык, приложение для заметок, которое не стремится сделать вас более продуктивным и многое другое. Заходите!

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

С мест докладывают, что новый диалог шаринга контактов в iOS 18 подрывает виральность у социальных приложений. Ранее можно было либо делиться с приложением всем списком контактов, либо не делиться вообще. Сейчас все это уточнилось до контактов отдельных людей. И все стонут, что обмен контактами резко сократился. Никита Бир (TBH, GAS) говорит, что после вступления в силу изменений в iOS 18, а число пользователей, поделившихся 10 или менее контактами, выросло на 25%. Вывода два. Во-первых, если у вас упало количество шарингов, то это у всех, не переживайте. Во-вторых можно процитировать того же Бира: кажется, что хорошо продуманные продукты, использующие уникальные каналы распространения, все еще могут захватить мир — иногда за считанные дни. И гранулярный доступ к контактам вряд ли им будет препятствовать.

Разработка

Poolside, занимающийся ИИ-программированием, привлек $500 млн
⅔ российских компаний используют ИТ-шеринг
3 совета для улучшения читабельности кода
Why do programmers need private offices with doors?
From Manual Pain to Automation Chaos: Finding the Right Balance
Giving depth to your App Icons

Маркетинг

Самые скачиваемые и зарабатывающие приложения в России в сентябре 2024

Кроссплатформа

Texty — текст с различными стилями, эффектами и анимацией для Compose Multiplatform
Multiplayer drawing with Flutter and Serverpod. Full tutorial.

#mobile #dev

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🔨 iOS

Почему ваша задача выполняется в главном потоке?
Новый запрос на обмен контактами в iOS 18 стал угрозой для новых социальных приложений
Как реализовать спойлер-эффект как в Telegram на Swift?
Recreate Apple's Stopwatch: Mastering Millisecond Precision in SwiftUI
How XcodeGen reduced the TDD in Swift codebase by 58,000+ lines
How to Perfectly Merge SwiftUI and UIKit Navigation: A Step-by-Step Guide
harish_rajora/how-to-use-accessibility-inspector-for-ios-apps-ba9f15efa7fd">How to Use Accessibility Inspector for iOS Apps
CoreML in Action: From Concept to Code
S.O.L.I.D. in Swift

#ios

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🤖 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

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🤮 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

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🤖 Gemini Nano теперь доступен на Android в экспериментальном режиме

Gemini - это самое функциональное семейство ИИ-моделей Google. Созданное для обеспечения гибкости, оно может работать в любых системах - от центров обработки данных до мобильных устройств.

Сегодня компания открывает доступ к экспериментам с Gemini Nano для всех разработчиков Android с AI Edge SDK через AICore. Первоначально разработчики смогут экспериментировать с текстовыми подсказками на устройствах серии Pixel 9.

• Обратите внимание, что экспериментальный доступ предоставляется в целях разработки и пока не предназначен для использования в продакшене.
• Вот несколько вариантов использования, которые вы можете попробовать - Перефразирование, Умный ответ, Вычитка, Резюме.
• Есть пример приложения, чтобы начать экспериментировать с Gemini Nano.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🧰 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

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Чем можно заменить 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

Читать полностью…
Subscribe to a channel