mobDev()
157 subscribers
62 photos
5 videos
98 links
🔥 Твой фид мобильной разработки
➡️ Новости, статьи, видео, квизы
👨‍💻 #android #ios #crossplatform
Download Telegram
Вот через что приходится проходить людям, читающим некачественный код после другого разработчика 🤦

Неприятно? Еще как. Чтобы избежать подобного — отличный материал о написании чистого кода на Kotlin

#android
Искусство оптимизации в Android: уменьшаем вес приложения 👾

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

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

Прочитать можно на медиуме. Заявленное время чтения 7 минут, но по ощущениям займет чуть больше

#android
👍1
Не все так просто с неоморфизмом 🧐

Недавно рассказывал об относительно новой и подающей надежды концепции дизайна под названием неоморфизм. В последнее время все чаще вижу зарисовки на тему, например выше на фото - интернет-магазин Adidas, переосмысленный в этом стиле (больше примеров тут)

Казалось бы, отлично - свежий взгляд на дизайн и новое дыхание в UI, однако не обошлось и без ряда проблем. Основные претензии заключаются в сложностях с совместимостью и доступностью (accessibility для людей с ограниченными возможностями). Подробнее - здесь, материал конца 2020 года, но в целом до сих пор актуален

Кстати, на neumorphism.io можно самостоятельно поиграться с настройками неоморфических элементов и сразу получить CSS блок
Корутин много не бывает, поэтому сегодня разбираемся в работе с распространенными ошибками 🪲

Ловите неплохой материал по обработке исключений в Kotlin Coroutines через блоки Try-catch или CoroutineExceptionHandler. Время чтения — 4 минуты, а автор в основном проходится по верхам, так что отлично подойдет, чтобы освежить знания по теме

#android #tutorial
Пихаем рекламу в лицо пользователю: Теперь с SDK от гугл 🌚

Google Mobile Ads — SDK для Flutter, работает напрямую с AdMob и Ad Manager и подтягивает в ваше приложение рекламные действия. Причем диапазон неплохой — от обычных баннеров до хитрых ходов вроде внутриигровых вознаграждений за просмотр видео

Поддерживает также модули покупок внутри приложений и онлайн-платежи через Apple/Google Pay

Если работаете с флаттером и планируете монетизировать приложения, очень рекомендую не обделять GMA вниманием. Это один из тех случаев, когда технология реально маст хэв

#android #ios #flutter
Ну вот и поговорили 🤷
Почему мобильные видеографы все чаще выбирают Android? 🎥

Последний раз айфон возглавлял рейтинги камер DXOMARK в 2019 году, а именно это был 11 про макс. С тех пор яблочные девайсы не поднимались выше 4 места, на котором в этом году находится 13 про макс. Лидером рейтинга уже не в первый раз становится Huawei, существенно опережающий айфон по детализации и работе с цветом (но все еще не по стабилизации кадра)

Казалось бы, на этом моменте все в целом ясно: андроид-смартфоны вырвались в топ и обогнали айфоны по возможностям камеры. Однако это лишь железо. А что насчет ПО?

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

В общем, крайне занимательный материал для любителей мобильной съемки. На прочтение у меня ушло ~15 минут

_____
Зацените клип, снятый для одной неофолк группы на Redmi Note 9 Pro (телефон стоимостью в ~20.000 рублей). Работа выглядит просто бомбически и за 2021 год шесть раз становилась лауреатом международных кинофестивалей

#ios #android
Шпаргалка для входа в айти 🤫

Давно не заходил на roadmap.sh, а тем временем там приятно изменился дизайн и добавилось несколько направлений, которых не было еще в октябре (а именно Angular, Python, Go и Java). Кроме того, в разделе coming soon теперь значится AWS и QA

Если вдруг вы по какой-то причине до сих пор не знакомы с этим сервисом, очень советую посмотреть, мне в свое время эти роадмапы страшно помогли

_____
Ничего по iOS, к сожалению, до сих пор не завезли

#android
Умный дом из глупых предметов на базе iPhone и Apple HomeKit 🏠

Существует два основных пути сбора и настройки умного дома:

➡️ Можно выбрать какую-то существующую экосистему (свои варианты предлагают Samsung, LG, Xiaomi и не только) и пользоваться из коробки, не забыв прикупить полный набор умных девайсов от производителя

➡️ А можно включить режим красных глаз и обмазать микроконтроллерами свои обычные глупые предметы, вроде светодиодной ленты или электрочайника, получив схожий результат при значительно меньших тратах

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

📖 Время чтения ~10 минут

#ios
Тайная техника монетизации в урон психическому здоровью пользователя 🤫
Пишем интерфейс чата на Flutter 💬

Аккуратный дефолтный чат с bubble-сообщениями, переносом строки и современным дизайном

➡️ Подойдет буквально для чего угодно, где используется чат

➡️ Хорошая кастомизация, можно к примеру изменить формат переноса в зависимости от ширины экрана

➡️ Мультиплатформа — полностью на Flutter

Туториал по ссылке ниже, время чтения ~10 минут

#flutter
Проводить тесты — как известно работа QA-специалиста, но что если у вас его нет?

Разбираемся в азах тестирования Android-приложений: UNIT-, API- и UI-тесты, много полезных (к тому же бесплатных) инструментов, анализ затрат и проверка на соответствие тестов бизнес-задаче

На самом деле, даже если у вас набрана команда и есть выделенный тестировщик, понимать основы тестирования приложений должен каждый разработчик, поэтому крайне рекомендую ознакомиться

📖 Время чтения ~10 минут

#android
Зачем я вообще продолжаю читать эти гайды...
Митап по мобильной разработке Luxoft TechFest #6

Это уже шестой бесплатный ивент от Luxoft, на этот раз посвященный мобильной разработке, а именно тестам/автотестам и вездесущему флаттеру. Событие пройдет уже в этот четверг, 16 декабря, и начнется в 18:00. Экспресс-митап займет 2.5 часа и включает 3 публикации:

➡️ Гайд по выживанию в мире UI-тестов
Много информации по тестированию, от выбора типа тестов для конкретного проекта до инструментов и настройки автотестирования

➡️ Как проходит развитие библиотеки Elementary
Знакомство с библиотекой Elementary, которая позволяет писать приложения на Flutter по паттерну MVVM

➡️ Стелем мягкую соломку на жёсткий Flutter
Разработчик из Surf поделится базой лучших Flutter-практик, накопленных командой за 3 года

#event
Адаптация доков по этапам отрисовки кадра Jetpack Compose 🤖

Jetpack Compose имеет 3 основных этапа отрисовки кадра:

— Composition (описание UI и запуск composable-функций)

— Layout (измерение и размещение элементов UI)

— Drawing (финальный рендеринг элементов на Canvas)

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

#android
Как сделать качественные Push-уведомления в своем приложении 🔔

Пуш-уведомления. Каждый день мы смахиваем десятки из них, а по статистике более 40% пользователей отключают пуши после первых трех. Однако они все равно остаются одним из главных способов взаимодействия с пользователем

В статье на хабре UX-редактор из Авито рассказывает об основах создания хороших пуш-уведомлений:

👉 Адаптация под iOS и Android (одни и те же пуши выглядят по-разному на разных ОС)

👉 A/B-тесты (да, пуши тоже нужно тестировать)

👉 Правила хорошего тона (персонализация, вариативность и информативность)

👉 Разбор хороших и плохих примеров

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

#ios #android
Каждый раз одно и то же 🤦
Как 2ГИС объединяют С++ и Swift 🤝

В июле этого года 2гис представили собственный мобильный SDK для интеграции локационных сервисов в сторонние приложения. Главной проблемой при реализации стала совместимость — большинство компонентов 2ГИС пишутся на С++ с акцентом на десктоп- и веб-версии

В то же время iOS-составляющая SDK ожидаемо реализуется на свифте, что создает необходимость перегонять компоненты из С++. При этом Swift не работает с плюсами напрямую, поэтому пришлось писать “мост” между ними с помощью промежуточного языка

Для этой цели выбрали и протестировали несколько подходов — от сервисов вроде Scapix и Gluecodium до написания вручную через Objective-C или C. Как итог, оптимальным решением для организации “моста” несмотря ни на что стал С, подробнее о проделанной работе — в статье на хабре

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

#ios
Google обновили гайдлайны по архитектуре Android-приложения 🤖

В основе гайдлайнов все так же три слоя: представление (UI), данные (Data) и логика (Domain).

👉 UI Layer
👉 Data Layer
👉 Domain Layer

По ссылке также рекомендации по организации архитектуры от гугла, полезные практики и примеры реализации.

#android
This media is not supported in your browser
VIEW IN TELEGRAM
Подробная Jetpack-библиотека для Drag & Drop ♻️

Drag and Drop — наконец вышедшая официальная библиотека для перетаскивания элементов от Google

Конечно, реализовать этот процесс можно было и раньше (поддержка перетаскивания в Android есть еще с версии 3.0 / API.11), но делалось это не без определенного количества костылей, своих для каждого разработчика. Теперь перетаскивание проще, понятнее и что самое главное, приведено к единому стандарту

Библиотека создана на базе Jetpack, по ссылке — подробная документация по работе с ней, в том числе в мультиоконном режиме (полезно для смартфонов с большой диагональю или планшетов)

#android