mobDev()
157 subscribers
62 photos
5 videos
98 links
🔥 Твой фид мобильной разработки
➡️ Новости, статьи, видео, квизы
👨‍💻 #android #ios #crossplatform
Download Telegram
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
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядная демонстрация работы Hot reload на Flutter — догружаем файлы кода прямо в запущенную Dart Virtual Machine

#android #flutter
😁9
Цикл подробных статей про корутины в Kotlin

Все мы очень любим корутины (так ведь?), поэтому сохраняйте этот список себе: цикл из 5 статей от основ CoroutineContext до отмены корутин с примерами и пояснениями

👉 1. CoroutineContext
👉 2. CoroutineScope
👉 3. Structured Concurrency
👉 4. Exception Handling
👉 5. Cancellation

#android
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Анимированный Splash Screen для Android 🔃

С приходом Android 12 мы наконец получили полноценный API для создания кастомизированных экранов загрузки. Если еще не попробовали, то сейчас самое время разобраться и внедрить технологию в свое приложение

Пара ссылок, чтобы лучше вникнуть в тему: здесь подробная документация по использованию с android developers, а здесь статья с более наглядным пояснением на хабре

#android
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Еще одна анимация загрузки, в этот раз для iOS

LiquidLoader — библиотека индикаторов загрузки. По умолчанию есть два варианта: круговой (GrowCircle) и линейный (GrowLine), но при желании можно покопаться и накастомить что-то свое

Реализация на Swift: https://github.com/yoavlt/LiquidLoader

#ios