Мобильная разработка
14.8K subscribers
541 photos
229 videos
2.57K links
Актуальное по мобильной разработке — Android, iOS, кроссплатформа

Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Как написать и опубликовать идеальный пакет для Flutter

Если вы реализовали интересную фичу на Flutter и хотите поделиться с сообществом, то её стоит опубликовать на официальном сайте pub.dev.

Для публикации код нужно упаковать в пакет (Dart Package, если код написан только на Dart) или плагин (Plugin package, если используются нативные для платформы компоненты).

В этом гайде пошагово объясняется, как создать package и залить на pub.dev:

https://tprg.ru/co4r

#flutter
Подготовка к собеседованию iOS-разработчика: частые вопросы и задачи

На собеседованиях iOS-разработчика чаще всего спрашивают про жизненный цикл приложения, особенности Swift-кода, алгоритмы и работу с инструментами, например Xcode и GitHub.

Часть вопросов из этих тем разобраны в статье:

https://tprg.ru/S8bM

#ios
ProgressHUD — легковесный набор элементов для интерфейса iOS-приложения

В библиотеке содержится множество анимаций загрузки и иконок для стандартных действий. Можно кастомизировать цвет, изображение, анимацию и другие опции. Написано на Swift.

Репозиторий: https://github.com/relatedcode/ProgressHUD

#ui #ios
Советы по работе с Gradle

Обычно Android-разработчики не изучают углублённо Gradle, поскольку куски build-скриптов можно скопировать со Stack Overflow, и худо-бедно это работает.

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

https://tprg.ru/k0wW

#android
Полезные советы и горячие клавиши для работы с Android Studio

Разработчик из Redmadrobot поделился трюками по кастомизации среды Android Studio, чтобы писать код стало комфортнее и быстрее.

Часть советов касается размещения элементов интерфейса на 13-дюймовом ноутбуке, а также работы с Macbook:

https://youtu.be/_atetzVtK-g

#android
WWDC21 пройдёт с 7 по 11 июня

На ежегодной конференция Apple показывает новые версии ОС iOS и macOS, а также инструменты для iOS-разработчиков.

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

#ios
​​«Google Карты» теперь строят маршрут внутри зданий с помощью AR

Новая функция является дополнением к Live View, которая строит в дополненной реальности маршрут по дорогам.

Пока AR-навигация внутри помещений доступна лишь в некоторых городах США, а через несколько месяцев заработает в Цюрихе и Токио. Будет здорово, если функция будет поддерживать запутанный аэропорт Шереметьево:

https://tprg.ru/2tvn

#android
13 подвохов мобильного приложения, о которых лучше знать до старта разработки

Представьте: у вас есть идея мобильного приложения, ресурсы, исследование рынка, продуманная бизнес-модель.

Вроде всё в порядке, и осталось только продумать функциональность приложения. Но... ваше приложение обитает на дне Google Play или App Store, и его никто не скачивает. Что пошло не так? Какие факторы упустили из виду?

О некоторых факторах, которые стоит учитывать ещё до начала разработки, читайте в статье:

https://tprg.ru/y7fT

#android #ios
Google собирает в 20 раз больше телеметрии с Android-устройств, чем Apple с iOS

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

https://tprg.ru/nkhQ

#android #ios
Архитектурные паттерны MV(X) в iOS

Архитектуры семейства MV(X) являются самыми распространёнными на мобильном рынке. В их основе лежит три общих компонента:

— Model, отвечающий за бизнес-логику приложения;
— View, отвечающий за слой представления данных;
— ViewModel, связывающий компоненты Model и View.

Подробнее об архитектурах MV(X) в iOS-разработке:

https://tprg.ru/2wvE

#ios
Распознавание номера карты с использованием CameraX и ML Kit

Для распознавания номера карты с помощью камеры существует библиотека card.io. Однако она уже устарела и не обновлялась более 4 лет. Можно ли её заменить более современными решениями?

Автор статьи попытался реализовать распознавание номера карты с помощью CameraX и ML Kit:

https://tprg.ru/yfxA

#android #jetpack
Дизайн нового приложения «ВКонтакте» для iPad

1 апреля владельцы iPad получили первое с 2015 года большое обновление приложения «ВКонтакте». И первым бросается в глаза обновлённый дизайн, который стал единым с дизайном приложения для iPhone.

Почитайте, как команда «ВКонтакте» пришла к итоговому варианту дизайна и почему приложение не получало крупные обновления с 2015 года:

https://tprg.ru/gSco

#ios
Начинаем розыгрыш подарков за игру в «Быки и Коровы»!

Правила просты:
1. Нужно зайти в нашего бота и просто играть — против бота, против друзей, против соперников в онлайне (если коротко — вам нужно отгадать загаданное ботом число с помощью его подсказок, подробные правила — в боте).
2. За игры вам будут начисляться очки.
3. Спустя неделю мы подведём итоги розыгрыша и наградим лучших игроков.

Что за призы?
1. Игрок, который займёт 1 место, получит один из двух наборов мыши и клавиатуры на выбор — Microsoft Wireless Desktop 900 или Bloody B2100.
2. 10 следующих за ним игроков получат мерч от Tproger — настенные календари, майки, карты для planning poker, наклейки.
3. А каждому, кто одержит хотя бы одну победу в онлайн-режиме, мы отправим электронную версию нашего фирменного календаря.

Заходите в бота и начинайте зарабатывать очки: t.iss.one/tproger_official_bot?start=bcgame
Инструмент для профилирования Android-приложений

Android-разработчик из «Яндекса» реализовал альтернативный профилировщик, который работает быстрее Android Studio Profiler и не требует пересборки проекта для записи профиля. Также с помощью YAMP for Android можно открывать ранее записанные trace-файлы.

Код и инструкция, как работать с профилировщиком:

https://github.com/Grigory-Rylov/android-methods-profiler

#android

Как выглядит профилировщик:
Паттерн проектирования Observer (Наблюдатель) на Flutter

Паттерн Observer определяет механизм, по которому объекты рассылают уведомления другим объектам об изменении своего состояния.

Подробнее об Observer и как он реализуется на Flutter:

https://tprg.ru/Zpe3

#flutter
Реализация динамической смены темы в виде круговой анимации

В Telegram красиво сделана смена тёмной и светлой темы: при нажатии на кнопку возникает круговая анимация.

Если вы хотите реализовать подобный эффект, почитайте подробный гайд о том, как это сделать:

https://tprg.ru/rl83

#android
Основы Compositional Layout

Замечали ли вы, как устроен App Store? Вся информация в нём скроллится и горизонтально, и вертикально. До iOS 13 разработчики использовали UITableView или UICollectionView для реализации подобного экрана, но этот вариант сложен и неудобен.

Но с iOS 13 у разработчиков появился новый способ построения коллекций на экране — Compositional Layout:

https://tprg.ru/q9n3

#ios
Compositional Layout в реальном проекте: опыт Delivery Club

Вчера мы изучали, что из себя представляет подход к построению коллекций на iOS Compositional Layout. Теория теорией, а как оно работает на практике? Рассмотрим на примере приложения Delivery Club:

https://tprg.ru/XFnS

#ios
Создаём простую анимацию через MotionLayout

Класс MotionLayout доступен в стандартной библиотеке ConstraintLayout. У него широкие возможности для реализации анимаций в пользовательском интерфейсе.

В статье объясняется, как реализовать анимацию, как на гифке:

https://tprg.ru/sYXp

#android
Более безопасный способ сбора потоков из UI Android

В статье рассматриваются интерфейсыLifecycleOwner.addRepeatingJob, Lifecycle.repeatOnLifecycle и Flow.flowWithLifecycle, которые сберегут от утечки ресурсов при работе с потоками из UI-слоя приложения:

https://tprg.ru/XRl9

#android