apptractor | Unsorted

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

10992

Цифры, советы и все интересное о разработке мобильных приложений и сервисов. Комментарии и вопросы можно писать прямо @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, инструменты, рынок и все остальное

Вчера у нас маркетологи начали подводить итоги года (кстати, заодно уж хочу обратить внимание на предыдущее огненное интервью Александра Багринцева из Sunlight, одно из самых интересных в цикле), но я о другом. Если у вас (компании, проекта, разработчика, дизайнера и т.п.) есть чем поделиться по итогам года на всю аудиторию - завсегда пожалуйста. Просто напишите и сделаем статью или интервью, пусть даже коротенько (минут на 40 ☺️).

Разработка

Cоздание идеальных вкладок
Advice for new software devs who've read all those other advice essays
I’ve vastly misunderstood the Single Responsibility Principle
Empirically supported code review best practices

Маркетинг

Location — cоздатели Zenly выпускают приложение, похожее на Zenly

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

Just DUIT — первый взгляд на server-driven UI фреймворк для Flutter
shubya8451/flutter-and-sqlite-a-deep-dive-into-local-data-persistence-5bb8098b8346">Flutter and SQLite: A Deep Dive into Local Data Persistence

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

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

Android

Посмотрите на все изменения, которые анонсировал Google по результатам вчерашнего дела. Ничего нового, но просто по пунктам.

Все изменения, которые произойдут в Google Play и загрузке приложений, после урегулирования спора
Что нового в AOSP 14
Ludwig: набор UI-компонентов для Jetpack Compose
Crash Course on the Android UI Layer | Part 2
Fortifying Android Apps: A Comprehensive Guide to Securing Your App and Codebase with Kotlin
State Management in Jetpack Compose
Live Streaming and Audio Equalizer with ExoPlayer in Jetpack Compose
raya.wahyu.anggara/android-thread-43b30b61dee6">Android Thread & Relation With Coroutine

#android

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

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

Android

Создаем пассивный UI в Jetpack Compose
Google выплатит $700 млн в еще одном споре о Play Store
Stone. Квалификаторы и идентификаторы
dugguRK/unleashing-websocket-in-android-b82c887b0a27">Unleashing WebSocket in Android?
Effect Handlers in Jetpack Compose: A Complete Guide
Kotlin under the hood: how to get rid of recursion
merkost/foreground-services-in-android-14-whats-changing-dcd56ad72788">Foreground Services in Android 14: What’s Changing?
Multi-Module with Clean Architecture

#android

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

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

Если вы, как и я, интересовались, как Google проиграл там, где Apple выиграла - в The Verge дали вполне доступное объяснение по пунктам. Если вкратце - прецедент в данном случае не работает, сделки Google со сторонними компаниями были сомнительны, суду присяжных объяснять их вопросами бизнеса было сложно, а заговором против Epic - просто, Google удалял улики, что сыграло не в его пользу, ну и наконец - это просто были два совершенно разных дела по определению рынка, на котором образовалась монополи. У Apple это “цифровые мобильные игровые транзакции”, а у Google - “распространение приложений для Android и услуги биллинга в приложениях для Android”. В общем, если вам интересно понимание, крайне рекомендую.

Разработка

Эпический вопрос: как Google проиграл там, где Apple выиграла
Как формировать топовые команды
Ozon Tech Community Techdoc Meetup
Почему ты пишешь говнокод? Главная причина
Как подготовиться к собеседованию по System Design мобильному разработчику
Why do programmers need private offices with doors?
8 Simple Steps to Create Crosswords on Any Topic in Minutes Using ChatGPT

Маркетинг

Количество пользователей социальной сети Jagat превысила 10 миллионов
Спрос на приложения для ментального здоровья почти сошел на нет
Самые скачиваемые приложения в мире в ноябре 2023
Социальная торговая платформа Maka привлекает $2.65 млн для упрощения покупок в Африке

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

Модульная запутанность. Как распарсить одну модель в разных модулях
Создаем federated plugin для Flutter-проекта
Многомодульность на Flutter или как не выстрелить себе в ногу
Handle push and locale notifications in your Flutter app

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

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

iOS

Apple представила «условное ценообразование» для подписок
xcconfig: интеграция в проект, валидация и подключение к Tuist
Объединяем Combine и Swift Concurrency
SwiftData как замена CoreData: глубокое погружение
Маслины и грабли: все, что вам нужно знать о разработке продукта полностью на SwiftUI
ChatGPT 4 Xcode: интеграция ИИ в Xcode
Plain Swift - a simple Swift IDE for Windows
Should you add final to all your Swift classes?
Decoupled stacked sheet navigation with multiple modals in SwiftUI
Integrating Haptic Feedback In SwiftUI Projects
Hierarchical background styles in SwiftUI
Building Complex Scroll Animations With New iOS 17 APIs

#ios

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

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

Рекурсия становится сложнее

Собрал новый еженедельный дайджест - с тако на обложке 🌮 Традиционно поставьте 👍 и поделитесь с коллегами. Еще у меня есть канал IT Insights, где новости и статьи про код, технологии и все самое интересное, возможно и за пределом мобайла. Вот, например, 4 простые привычки в разработке ПО, которые изменили мою производительность.

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

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

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

(iOS Ru) xcconfig: интеграция в проект, валидация и подключение к Tuist
(iOS Ru) Объединяем Combine и Swift Concurrency
(iOS Ru) SwiftData как замена CoreData: глубокое погружение
(iOS Ru) Маслины и грабли: все, что вам нужно знать о разработке продукта полностью на SwiftUI
(iOS En) Implementing Drag Gestures In Xcode 15
(iOS En) How to Answer iOS Interview Questions Like a Pro
(iOS En) App Localizations
(And Ru) Android SDK Extensions — новые фичи на старых Android
(And Ru) Разработка для нестандартных устройств
(And Ru) Мок-собеседование по Android System Design
(And En) Now in Android: 97 - Gemini, AICore, ML Kit, Android Studio Hedgehog, and more!
(And En) Detecting faces and landmarks - ML on Android with MediaPipe
(And En) Should You Use a Navigation Library in Jetpack Compose?
(And En) Full Guide to Multiple Back Stacks in Jetpack Compose - Android Studio Tutorial
(Crs Ru) Многомодульность на Flutter или как не выстрелить себе в ногу
(Dev Ru) Как формировать топовые команды
(Dev Ru) Ozon Tech Community Techdoc Meetup

Как обычно - поставьте 👍 и поделитесь подборкой!

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

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

Android

Google Generative AI Sample: пример работы с Gemini
ThrowInDB — Разбираю домашний хлам или сам себе склад
Detekt: как статический анализ помогает улучшить код автотестов
Multitasking Intrusion and Preventing Screenshots in Android Apps
Crash Course on the Android UI Layer
Navigating Multiple Technical Migrations in Our Domain: Motivation and Strategy

#android

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

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

😮 Привет, читатели! На связи PROMOBILE

Если вы ищете способы оптимизировать свое мобильное приложение, вывести в топ позиции и привлечь больше органических пользователей, то наша команда готова в этом помочь!

🔎 Какие услуги предоставляем?

🅰 App Store Optimization (аудит, конкурентный анализ, полное сопровождение);
📱 Услуги с гарантией и оплатой за результат (позиции ключевых запросов, репутация, индексация приложения, топ категории и пр. KPI);
🔍 Продвижение ключевых запросов в App Store (iPhone/iPad) и Google Play;
Работа с репутацией.

🤔 Почему стоит обратиться?

🔝Доступ к качественному источнику мотивированного трафика;
🔝Покрытие всех стран, дополнительных локализаций, неограниченные объемы;
🔝Сопровождение на каждом этапе и обмен опытом, экспертиза в нишах любой сложности;
🔝Продвинутые возможности работы (управление конверсией показов по запросу, RR, индексирование запроса)

Свяжитесь с нами для получения бесплатной и индивидуальной стратегии по оптимизации вашего проекта!

@Ilya_login
https://promobile.app

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

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

Android

Используйте Gemini в своих приложениях для Android
Kotlin под капотом: как избавится от рекурсии
MVI Architecture with Jetpack Compose
Leverage Gemini in your Android apps
Optimizing Mobile App Performance
dugguRK/kotlin-mutex-a-comprehensive-guide-5771a3f59713">Kotlin Mutex: A Comprehensive Guide

#android

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

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

Google открыл доступ к Gemini Pro

На прошлой неделе Google представил свою самую функциональную ИИ-модель - Gemini. Gemini является мультимодальной - она может принимать как текстовые, так и графические данные. Компания представила разработчикам Android возможность использовать самую маленькую модель Gemini Nano на устройствах через AICore. А сегодня Google представил разработчикам Android новые возможности доступа к модели Gemini Pro, которая работает вне устройства, в центрах обработки данных Google.

1. Gemini Pro доступна через Gemini AP. Чтобы упростить интеграцию Gemini Pro, вы можете использовать Google AI SDK, клиентский SDK для Android.

2. Google AI Studio предоставляет разработчикам упрощенный способ интеграции модели Gemini Pro, создания промптов, ключей API и легкого превращения идей в приложения с искусственным интеллектом. осле разработки подсказки в Google AI Studio вы можете просто нажать на действие "Получить код", чтобы сгенерировать фрагмент кода на языке Kotlin, и начать интеграцию Gemini уже сегодня, используя Google AI SDK для Android.

3. В Android Studio есть новый шаблон проекта для разработчиков, чтобы они могли сразу же начать работу с Google AI SDK для Android.

И что: крайне просто и приятно, ждем решения от Apple.

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

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

Адвент-календарь MonkeyUser на 2023 год

Все в пост не влезло, поэтому отдельными картинками тут.

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

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

Android

Amazon выпустил AWS SDK для Kotlin
Compose Preference: экран настроек в Material 3
sedakundakitchen/unit-testing-kotlin-flow-emissions-86ae7cc32333">Unit testing Kotlin Flow emissions
Zooming out Twilio Migration
alex.hrindii/how-to-share-and-publish-detekt-config-14e816d6c8ae">How to share and publish Detekt config?
satish24sp/firebase-dynamic-link-deprecation-and-its-alternates-81d72e33734">Firebase dynamic link deprecation and its alternates
How we tested a Google Play application

#android

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

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

Вышли первые Mobile Interview — неформальные беседы про мобильную разработку в Яндексе

Ребята из разных команд мобильной разработки Яндекса рассказывают, какие задачи решают каждый день и почему им нравится эта работа. Первые выпуски уже можно посмотреть на YouTube-канале Yandex for Mobile:

🔸 В первом выпуске обсудили инфраструктуру Такси. Как и зачем собирать команду мобильной инфраструктуры приложения и чем ребята занимаются на ежедневной основе.

🔸 Во втором выпуске разбирались в разработке Карт. Какие задачи ребята решают, как адаптируются под сложности определения геолокации, развивается ли MapKit, как уживаются приложения Карт и Навигатора.

🔸 В третьем выпуске беседовали о разработке под iOS. Как мы делали браузер под iOS, легко ли переключаться между платформами и под какую проще разрабатывать, что нужно сделать, чтобы завоевать авторитет в большой команде, и в чём заключается специфика разработки браузеров.

🔸 В четвёртом выпуске поговорили с деврелом. Что за люди делают мероприятия для мобильных разработчиков, как организовать большую конференцию и не сойти с ума, чем ещё занимаются DevRel-команды и зачем простым разработчикам связываться с ними.

Смотрите интервью и подписывайтесь на YandexforMobile?utm_source=tg&utm_medium=social&utm_campaign=yfm&utm_content=apptractor&erid=2VtzqvQT9pv">канал — скоро там выйдет пятый выпуск Mobile Interview.

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

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

У Nielsen Norman Group вышла прекрасная статья о том, нужно ли вам создавать отдельное приложение для умных часов. В целом этот подход применим ко всем продуктам, но тут дело еще усугубляется тем, что, по данным исследования, 80% приходилось на встроенные в устройство приложения, такие как сообщения, трекеры активности и таймеры. Еще процентов 15 на музыку. А все остальное - ВООБЩЕ никому не нужно. Подход же - не создавайте приложение для умных часов только потому, что можете. Тратьте на это время и ресурсы только в том случае, если вы уверены, что это предлагает уникальную ценность.

Разработка

Стоит ли создавать приложение для умных часов?
Операционные системы — Как это работает
Как зарабатывать на обучении в IT?
TypeScript убил JavaScript?
Apple выпустила библиотеки машинного обучения для Apple Silicon
Как я пытался облегчить работу в поликлинике
Exploring accessibility regulations and guidelines
Processing Payments in Firebase with Stripe
Navigation patterns in mobile applications. How to make the right choice?
rohitverma_87831/my-interview-experience-at-google-afc1080df175">My Interview Experience at Google

Маркетинг

Лучшая мобильная игра в Game Awards 2023
Pimento использует ИИ для превращения брифов в креативные мудборды

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

PWA vs. нативные приложения: когда и как выбрать?
lordjadawin/the-anatomy-of-dart-code-analysis-understanding-key-entities-ba75cf20d8ba">The Anatomy of Dart Code Analysis: Understanding Key Entities
Implementing Blurred Bottom TabBar in React Native
Separation of Concerns in Flutter Applications
Flutter Deep Linking: The Ultimate Guide

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

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

iOS

Вопросы с собеседований: коллекции в Swift
Поваренная книга SwiftUI: состояние, привязка, ObservableObject и ObservedObject
Как я создаю iOS игру на Unity c использованием MidJourney, ChatGPT, Adobe Firefly и много ручного труда
How to get the most played Apple Music songs and albums using Swift
Quick Search with SwiftUI Searchable
kodekarim/xcode-15s-hidden-treasure-logging-like-a-pro-2024-6fc993d65ccb">Xcode 15’s Hidden Treasure: Logging Like a Pro 2024
tunahanbekdas/swift-singleton-pattern-1ab19b53b79d">Swift: Singleton Pattern
The Case Against [unowned self]
emndeniz/ios-ui-testing-with-deep-links-7c33e9f9b7f1">iOS UI Testing with Deep Links

#ios

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

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

Случилось забавное - в Internet Archive нашли архив TestFlight с кучей старых игр и приложений на 1.2 ТБ. Напомню, что TestFlight не всегда принадлежал Apple, до 2015 года он был независимой компанией и у него даже был собственный сайт, через который все также тестировали свои сборки. В начале 2015 года он был закрыт, примерно тогда же Архив и получил весь дамп - судя по всему, из-за из неправильно настроенного облачного хранилища. Понятно, что вы не можете просто загрузить одно из старых приложений на свой нынешний телефон и вернуться в прошлое. Но в Discord уже есть сообщество, которое копается в архиве, так что, вероятно, что-нибудь с этим придумают.

Разработка

В Internet Archive нашли старые приложения и игры из TestFlight
Что такое мьютекс
«Додо пИИцца». Как мы внедрили AI в приложение пиццы в Дубае
Designing Perfect Tabs
Redesigning our global order tracking experience

Маркетинг

Маркетологи в мобайле. Итоги года 2023. Часть 1
Топ быстрорастущих приложений в России в декабре
Итоги года и планы на 2024 от Adjust
Using campaign links to track impressions, downloads, and sales

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

Transition Animation: настраиваем анимацию переходов во Flutter
Jetpack Preferences DataStore in Kotlin Multiplatform

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

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

iOS

Google AI SDK for Swift: генеративный ИИ для ваших приложений
Apple останавливает продажи Apple Watch Series 9/Ultra 2 из-за нарушений патентов
redhotbits/from-swiftui-vanilla-to-mvvm-like-a-pro-470b22f304c9">Stop using MVVM and abusing Observable classes in SwiftUI
Coordinator Pattern for iOS Apps
Why I chose The Composable Architecture for SwiftUI and never looked back
Mastering MapKit in SwiftUI. Interactions.
Preparing your App for VoiceOver: Accessibility Actions

#ios

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

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

Android

Прочитайте мое интервью с Сергеем Опиваловым по поводу его доклада на Mobius про управление сложностью состояния.

Как управлять сложностью состояния — Сергей Опивалов
Android-PiP: реализация «картинки в картинке»
Разработка для нестандартных устройств
Мок-собеседование по Android System Design
Android SDK Extensions — новые фичи на старых Android
Animating Inside and Outside the Box with Jetpack Compose
The ViewModel’s leaked Flow collectors problem
Glassmorphic Bottom Navigation in Jetpack Compose
Building Passive UI in Jetpack Compose
Kandy: the new Kotlin plotting library by JetBrains
Demystifying Pixel Shaders (AGSL)
Don’t use var in enums

#android

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

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

Apple представила "условное ценообразование" для подписок

Можно снижать цену в зависимости от подписок на k.s,t другие другие продукты.

1. Условное ценообразование для подписок в App Store позволяет предоставлять клиентам скидку на подписку до тех пор, пока они активно подписаны на другую подписку.

2. Такое ценообразование может использоваться как для подписок на собственные продукты, так и между двумя разными разработчиками.

3. Покупатели смогут обнаруживать эти ценовые скидки в приложении, во внеплатформенных маркетинговых каналах и в App Store.

4. Apple поможет вам управлять реализацией, обеспечивая клиентам беспрепятственный процесс оформления и покупки на основе предоставленного вами условного ценового предложения.

И что: на заре Интернета были партнерские ссылки, теперь будут партнерские подписки. Но в целом, конечно, удобно 🌐

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

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

Служба Безупречных Помощников Деда Мороза расскажет, почему она такая быстрая 🎅

🌐 Онлайн-митап
🗓 19 декабря в 17:00 (МСК, GMT+3)

Посмотрим, как устроена Система быстрых платежей и что помогает ей выдержать повышенную нагрузку новогодних хлопот — когда миллионы людей покупают подарки.

Разработчики СБП расскажут, как в СБП обеспечивается скорость, надежность и отказоустойчивость и почему им пришлось ускорять транзакционные отчеты в несколько тысяч раз. А еще, в чем особая магия платежных ссылок — фундамента множества сценариев оплаты.

Авторы лучших вопросов к докладам получат подарки от организаторов — наборы мерча Мир Plat.Form.

Подробности и регистрация по ссылке.

Реклама. АО "НСПК". ИНН 7706812159

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

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

Перевел статью про символизацию логов сбоев в Xcode. Зачем так делать так до конца и не понял (нет, в целом то конечно идея здравая, но ведь Xcode все сам делает?), но зато хоть разобрался с самим термином. Символизация - перевод лога/дампа сбоя из машинного кода в читаемый. Для этого есть, собственно, сам лог и отладочный символьный файл, который содержит все данные о коде. Сопоставляем и понимаем, в каком именно месте произошла ошибка. Так что если у вас где-нибудь спросят - тоже будете знать.

Разработка

Мой опыт прохождения собеседования в Google
MedLM: генеративный ИИ для индустрии здравоохранения
Разметить всё: как мы настроили систему логирования в приложении каршеринга
Migrating Netflix to GraphQL Safely
Lessons from building GitHub code search

Маркетинг

Gaming Upfronts 2023: The Power of Audio Advertising Unveiled
Email marketing for mobile apps: A comprehensive guide

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

Flutter Tutorial: building an offline-first chat app with Supabase and PowerSync
Platform Channels are Dead! Objective-C/Swift Interop is Here!

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

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

iOS

Символизация логов сбоев с помощью XcodeЧто такое символизация логов сбоев
andres.carort/ios-developer-roadmap-2023-330fd5cb7479">iOS Developer Roadmap 2023
Stretching an audio file using Swift
Selecting multiple items with a two-finger pan gesture
Mastering the ‘Final’ Keyword in Swift: A Comprehensive Guide for Optimized Coding
Symbolicating SwiftUI (and any Apple Framework)

#ios

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

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

Не Гуглом одним, Microsoft тоже выпустил свою “малую” языковую модель Phi-2. Она тоже может работать на ноутбуке или смартфоне, при этом, как пишет Microsoft, гораздо более способная, чем остальные. В Phi-2 2.7 млрд параметров, в Llama 2 и Mistral по 7 млрд, при этом новая модель обгоняет их. Правда, пока Phi-2 доступна только для “академических” целей и коммерческое ее использование запрещено. Но будущее в виде способных моделей, работающих локально на смартфонах, уже, очевидно, совсем близко.

Разработка

Microsoft выпустила модель Phi-2, которая «может работать на мобильном устройстве»
Вопросы с собеседований: что такое Потокобезопасность (Thread-Safe)
Адвент-календарь MonkeyUser на 2023 год
Доктор Bazel: как я научился не волноваться и полюбил сборки
How Plane, an open-source alternative to Jira, got to the #1 in project management on GitHub in less than a year

Маркетинг

Маркетологи в мобайле: Александр Багринцев (Sunlight)
DistroKid запустил приложение для Android

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

State of React Native survey
How to store key-values in KMP in the secure way
Flutter Firebase Festival
ximya/modularizing-flutter-ui-with-factory-constructors-f13907b6f5d4">Modularizing Flutter UI with Factory Constructors

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

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

iOS

Aespa: фото и видео в 2 строчки кода
SwiftUI: Разбираемся с identity на примере переходов
Как добавить drag and drop в ваше приложение
Modern iOS Navigation Patterns
knoo/whats-new-in-uikit-bc8a98090cfc">What’s new in UIKit
Mastering MapKit in SwiftUI. Camera.
Implementing Drag Gestures In Xcode 15 (SwiftUI)

#ios

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

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

🚀 Мои друзья из Appbooster приглашают на вебинар «Продвижение приложений в мобильных сторах в 2024 году»

🙌 Будет все самое интересное:

• Как подготовить приложение к продвижению с точки зрения ASO
• Работа с репутацией в App Store и Google Play
• Как подобрать запросы для продвижения
• Стратегии продвижения в App Store и Google Play
• Как настроить кампании в платформе Appbooster
• Что нового в платформе Appbooster
• Разбор успешных кейсов
• Полезные инструменты для продвижения
• Есть ли жизнь в альтернативных сторах

🎁 Для всех зарегистрировавшихся на вебинар будет доступна акция «Новогодний кэшбэк». Все подробности — на вебинаре.

Дата и время проведения: 20 декабря в 17:00 (мск)
Длительность: 1 час
Спикер: Анна Назарова, аккаунт-менеджер платформы Appbooster

👉 Зарегистрироваться на вебинар!

Реклама. ООО "ДЖУСИСОФТ". ИНН 6312098419. erid: LjN8JufEF

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

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

На Reddit нашел интересное обсуждение - разработчик, вернувшийся к iOS-разработке спустя 4 года мягко говоря недоумевает по поводу того, как все усложнилось (ну или по крайней мере не улучшилось). Архитектуры - говно, async/await - днище, отладчик и Xcode - совсем полное днище, SwiftData - сахарный ненадежный бардак ну и все в таком духе. В общем, оказалось, что он такой не один:

Все новые функции и фреймворки кажутся полуфабрикатами, сломанными, и часто приходится возвращаться к старым парадигмам, потому что Apple не знает, каким вообще должно быть программирование на iOS. Функциональное, реактивное, основанное на наблюдателях? Понятия не имею, но удачи вам в попытках использовать новые API.

С другой стороны многие говорят, что все совсем не так и на самом деле iOS-разработка вполне упрощается и просто надо развиваться в своей области. Короче, крайне занимательное чтение, рекомендую.

Разработка

Как я использую мутационное тестирование для поддержки хорошего покрытия тестами
Вопросы с собеседований: что такое Copy-On-Write
Как много языков может влезть в одного программиста?
What I Wish I Knew As a Mid-Level Engineer
How to arrange GitHub actions to improve feedback cycles
Dr. Bazel: How I Learned to Stop Worrying and Love Building Systems

Маркетинг

Epic Games выиграла в суде у Google
Как я потерял $2,85 млн и решил создать приложение для массового инвестирования

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

Build a watch app using Flutter
punnyarthabanerjee/handling-real-time-data-in-flutter-efficiently-without-firebase-9b088c1b20d3">Handling Real-time data in Flutter efficiently without Firebase

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

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

iOS

iOS-разрабокта становится сложнее — обсуждение на Reddit
Поваренная книга SwiftUI: добавление кастомной формы к представлению SwiftUI
Symbolicate crash logs with Xcode
Leveraging Emerge Tools in CI/CD Pipelines for iOS App Size Optimisation
Distributing a Swift Macro using CocoaPods
Writing Custom SwiftLint Rule with SwiftSyntax
cjckytxz/getting-to-swift-weak-part-1-d6a0e54599e4">Getting to Swift.weak { }

#ios

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

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

Epic Games выиграла в суде у Google

Спустя три года после того, как производитель Fortnite компания Epic Games подала в суд на Apple и Google, обвинив их в незаконной монополии на магазины приложений, Epic наконец одержала победу.

1. Присяжные по делу Epic против Google сегодня вынесли свой вердикт - они пришли к выводу, что Google превратила свой магазин приложений Google Play и сервис Google Play Billing в незаконную монополию.

2. Epic "в основном" проиграла свою борьбу с Apple два года назад. Но дело Epic против Google оказалось совсем другим. Оно было связано с секретными сделками по распределению доходов между Google, производителями смартфонов и разработчиками крупных игр, которые, по внутреннему мнению руководителей Google, были призваны сдержать конкурентов в магазинах приложений. Дело показало, что Google боялась именно Epic. И все это было решено судом присяжных, в отличие от решения Apple.

3. Пока мы не знаем, что именно выиграла Epic, это решит судья, который определит, каковы будут соответствующие последствия. Компания Epic не требовала денежной компенсации — она хотела, чтобы суд сказал Google, что каждый разработчик приложений имеет полную свободу вводить свои собственные магазины приложений и свои собственные биллинговые системы на Android. В какой форме - пока непонятно.

4. Google заявил, что компания планирует обжаловать вердикт.

И что: на самом деле, ничего особо революционного нет - и Google, и даже Apple, которая выиграла, уже готовы к стороннему биллингу и альтернативным магазинам. Конечно, сделали они это так, что лучше бы не делали, но это уже дело следующих судебных разбирательств.

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

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

Android

Как интегрировать Dynamic Features в Android-приложение
Tusky: Android-клиент для Mastodon
Когда официальные гайды не такие и полезные или WebSocket на ktor
How to build Wrapped 2023 in Compose Animation
Kotlin K2 Compiler's Latest Features: Subtle Under-the-Hood Advances for Koin
Exceptions for control flow in Kotlin
What can Advanced / Lesser Known Modifiers do for your UI
How I use Mutation Testing to Drive Good Test Case Coverage

#android

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