mobDev()
157 subscribers
62 photos
5 videos
98 links
🔥 Твой фид мобильной разработки
➡️ Новости, статьи, видео, квизы
👨‍💻 #android #ios #crossplatform
Download Telegram
Уменьшаем размер приложения с Android App Bundle 🤖

Android App Bundle (.aab) — новый формат публикации андроид-приложений, расширяющий и продолжающий уже привычный APK.

Формат AAB позволяет разделять приложение на отдельные модули, чтобы пользователь скачивал только необходимые ему файлы. Например, только 1 язык, версию для 1 конкретной архитектуры или 1 конкретного разрешения экрана — в то время, как ранее при загрузке APK скачивалось все и сразу.

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

#android
Прогнозы трендов мобильной разработки на 2022 год 🗓

2021 год ожидаемо оказался весьма успешным для индустрии мобильной разработки — по состоянию на декабрь этого года, количество пользователей смартфонов в мире составило более 6.3 миллиардов.

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

👉 Искусственный интеллект
По прогнозам Gartner, рынок информационных продуктов на базе ИИ в 2022 году вырастет на 21.3%

👉 Активное использование возможностей 5G
Не на 100% актуально для России, так как ситуация с внедрением у нас 5G до сих пор вызывает много вопросов

👉 Технологии XR
AR и VR уже сейчас активно используются в мобильной разработке, однако сервис Statista прогнозирует взрывной рост XR в ближайшие 3 года

👉 Складные устройства
Один из довольно спорных трендов уходящего года в 2022 может получить новую волну популярности, и что самое главное — стать доступнее

Подробнее о 15 главных трендах, которые ожидают нас в скором будущем — в статье по ссылке ниже

#ios #android
iOS Roadmap 2022 🗺

Самый известный сервис роадмапов roadmap.sh продолжает упорно игнорировать ветку по iOS-разработке — ее нет как среди готовых, так и в списке Upcoming (что странно, ведь карту для андроида ввели уже почти полгода назад).

Нашел хороший вариант на замену — большая диаграмма на Coggle. Оформление конечно попроще, но все основные потребности покрывает: от алгоритмов и многопоточности до паттернов дизайна и цепочки обязанностей Swift.

Карту можно смотреть онлайн на Coggle или скачать в pdf/png.

#ios
Разбираем сходства и различия в поведении между StateFlow (setValue) и LiveData (postValue, setValue с контекстом, setValue launch).

Подробный разбор этой схемы — на Medium.

#android
iOS Architectures explained: Что выбрать для своего проекта?

Хорошая статья со сравнением основных iOS-архитектур. Для каждой автор приводит преимущества и проблемы, а также рекомендации, в каких ситуациях и проектах ее лучше использовать. Рассмотрены:

— Model-View-Controller / MVC
— Model-View-ViewModel / MVVM
— VIPER
— Clean Swift (VIP)
— Coordinator (хотя вообще это не архитектура, а паттерн)

#ios
7 инструментов, чтобы писать на Swift с комфортом 🤌

Чем больше ваше приложение, тем больше в нем кода, ну а когда количество строк неумолимо растет, становится сложнее понимать структуру документа. Особенно — для других разработчиков, если работаете в команде.

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

Первые два (SwiftLint и SwiftFormat) рекомендую практически в обязательном порядке.

#ios
👍3
Не будьте такой обезьяной 🙈
👍3
На чем пишут в Apple?

Apple не выкладывают исходники своих iOS-приложений, однако по их файлам все же можно определить, на каких языках они написаны.

Автор блога Timac провел исследование, чтобы выяснить, на какие языки и технологии полагаются разработчики Apple. По ситуации на декабрь 2021:

👉 Более 89% встроенных приложений на iOS 15.0 используют Objective-C и лишь 13% — Swift
👉 При этом объем использования свифта вырос почти в 2 раза с предыдущей версии ОС
👉 17% используют C++ — в основном код на плюсах используется в низкоуровневых фреймворках

Подробнее с графиками и пояснениями — в этой статье

#ios
👍5
Предсоздание проекта на Kotlin Multiplatform Mobile

Разработчик из JetBrains реализовал удобное веб-приложение для преднастройки проекта KMM. Сервис называется Kotlin Multiplatform Wizard и позволяет задать настройки нового проекта прямо на сайте, а затем скачать готовый шаблон.

Пользоваться уже можно: terrakok.github.io/kmp-web-wizard

#crossplatform
👍3🔥1
Временная шкала для Android библиотека TimelineView

Шкалу TimelineView можно быстро встроить в свое приложение, доступно 2 варианта использования: как декоратор RecyclerView или как автономный View.

— Автоматически подстраивается под высоту основного элемента
— Поддерживает анимации растяжения
— Подойдет для роадмапов, планировщиков или любых приложений с уровневой системой
— Полностью на Kotlin

Подробнее на гитхабе: github.com/lriccardo/TimelineView

#android
👍4
Реализуем подвал приложения на iOS 📱

Bottom Sheet — одна из основных областей интерфейса приложения, находящаяся снизу под основным контентом и содержащая информацию, которая должна всегда быть под рукой. Обычно там располагают поиск, настройки аудио, избранные действия или статистику использования

В большой статье про Bottom Sheet на Хабре читаем, как правильно реализовать подвал без потери адаптивности, настроить область вытягивания и закастомить его под формат своего проекта

Материал объемный, но рекомендую добавить в закладки, так как там покрывается почти вся основная информация по теме

#ios
Архитектура MVI на Android Intents вместо MVC/MVP/MVVM. Ход гения или разумное решение?
Как оптимизировать Android-игру под PC, а главное зачем?

В октябре рассказывал, как Microsoft и Google готовят платформу для нативного запуска android-приложений на Windows, и вот первые серьезные результаты: выкачен сервис Google Play Games для ПК и инструменты для адаптации приложений.

Бета-тест пока что открыт только для Южной Кореи, Гонконга и Тайваня, впрочем в этом году Google обещают расширить список стран, так что со временем дойдет и до нас.

Чтобы получить понимание, как все это устроено и как подготовить свое приложение к запуску на ПК — подробная инструкция от Google на android.developers.

#android
Разработчик более 2 месяцев исправлял название приложения в Google Play 🛒

Материал на хабре (оригинал здесь) о негативном опыте использования Google Play: автор прошел все круги ада, потратив на исправление одной ошибки больше двух месяцев, и поделился впечатлениями от процесса.

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

#android
🔥5👍1
Пишем качественные юнит-тесты для iOS

Полезные рекомендации по написанию юнит-тестов на Swift: нейминг, настройка, фильтры, запуск и немного про XCTAssert

Здесь также блок документации по методам setUp() и tearDown(), которым как по мне в статье уделено недостаточно внимания

#ios
👍3
😁7
This media is not supported in your browser
VIEW IN TELEGRAM
Minesweeper на Jetpack Compose 💣

Старый-добрый Сапер, известный многим еще с первых версий Windows, получил очередное исполнение — в этот раз на Jetpack Compose

Помимо стандартных функций игры, в этой версии добавлены светлая/темная темы, удобное масштабирование, тактильный отклик и красивые анимации

Посмотреть на реализацию и украсть адаптировать пару идей можно здесь:
https://github.com/JayaSuryaT/minesweeper-j-compose

#android
👍5
Как построить динамичный UI приложения на Json? 🤔

Конечно же, с помощью Jetpack Compose.

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

Остается лишь вопрос "зачем?", но ответ есть — как минимум, этот метод позволяет запустить полноценный Server-Side Rendering: бэк отправляет Json-файл, клиент считывает его и отрисовывает динамический UI на устройстве.

#android
👍3
Flutter или Native — опыт разработчиков Ozon Tech

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

Причины вкратце:
— Опасность остановки поддержки (гугл известны внезапными объявлениями технологий deprecated, и на фоне роста популярности KMM, Flutter может в скором времени стать одним из них)
— Несовершенство Dart (до сих пор завозят технологии, которые уже давно есть на Kotlin и Swift)
— Рендеринг UI (поведение некоторых визуальных компонентов Flutter отличается от принятого на каждой из платформ)

Подробнее — по ссылке

#flutter #crossplatform
👍1