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

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

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Таймер с симуляцией волн

Нашли интересный проект на GitHub, где реализована красивая анимация волн, синхронизированная с таймером. Реализовано на Kotlin и Jetpack Compose.

Как это работает: https://github.com/manueldidonna/waves-timer-animation

#android #ui #compose
А точно ли UIKit про графический интерфейс?

UI приложения — это не только графический интерфейс, но и интерфейсы взаимодействия пользователя: тачскрин, клавиатура или мышь. И сам UIKit в iOS-приложении отвечает за последнее — распознавание и обработку пользовательских жестов.

Как же так, если у UIKit есть базовый класс UIView, через который мы настраиваем наш UI? Давайте разбираться:

https://tprg.ru/Pdow

#ios #начинающим
👍1
Как написать Gradle-плагин

С версии 7.0 система сборки Gradle предлагает уже стабильные точки расширения для управления конфигурацией вариантов. Поэтому вы можете реализовать собственный Gradle-плагин для кастомизации сборки, чтобы покрыть все требования проекта.

Как это сделать: https://tprg.ru/IVbi

В формате видео: https://youtu.be/LPzBVtwGxlo

#android

Если вы пропустили первую часть:
Подборка актуальных вакансий для iOS-разработчиков

Senior iOS Developer в Sportmaster Lab
Где: Санкт-Петербург, Москва, Краснодар, можно удалённо
Сколько: По итогам собеседования
Стек: HTTP, iOS, Kotlin, Realm, REST API, Swift, Xcode

iOS Software Engineer в Revolut
Где: Удалённо
Сколько: По итогам собеседования
Стек: iOS, Swift

#вакансии #работа
Как отследить взаимодействие пользователя с Flutter-приложением?

В этом поможет виджет GestureDetector. Он фиксирует простые, двойные и клики с удерживанием, перелистывания, перетаскивания, а также жесты сжатия и растягивания.

Коротко о GestureDetector (с русскими субтитрами): https://youtu.be/WhVXkCFPmK4

Попробовать демо: https://tprg.ru/ML9W

#flutter
Яндекс.Игры совместно с Defold организуют game jam

Цель Yandex.Games Jam — собрать лучших разработчиков на Defold, которые будут соревноваться в создании веб-игры на определённую тему.

Всего будет 3 номинации с десятью призовыми местами в каждой. Среди призов: игровые консоли, iPhone 12, фичеринг на платформе и многое другое.

Yandex.Games Jam проходит до 15 декабря, успейте подать заявку: https://wow.link/DK91

#ивент
Оптимизация времени CI-сборки проекта на Kotlin Multiplatform

Сборка проекта на KMM вызывает затруднения, когда требуется создать билды для нескольких target-платформ (Android и iOS, например). К тому же, хостинг машины на macOS обходится существенно дороже, чем на Windows и тем более на Linux.

К счастью, сборку можно оптимизировать: на macOS и Windows собирать только необходимые части, а остальное — на хостинге с Linux. И дешевле, и быстрее, ведь происходит параллельная сборка.

Подробнее: https://tprg.ru/mKGO

#ios #kmm #android
Main Loop (главный цикл) в Android

Main Loop является важнейшей частью главного потока (main/UI thread) любого Android-приложения. За главный цикл и его работу отвечает класс Looper.

На собеседованиях нередко спрашивают про Main Loop и, в частности, про Looper, Handler, Message и MessageQueue, поэтому серия статей поможет разобраться в тонкостях их работы:

1. Реализация простейшего цикла событий.
2. Main Loop в Android SDK в Java-слое.
3. Работа с Main Loop в C++ слое.

#android #начинающим
Как подружить Dagger и многомодульность Android-проекта

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

https://tprg.ru/dPFT

Кстати, если вы не освоили Dagger, то в предыдущем посте мы поделились серией крутых уроков по DI-фреймворку.

#android
Бесплатный курс лекций по iOS-разработке от «Яндекса»

Подоспела годнота — ребята из «Яндекса» выложили на YouTube записи лекций по iOS-разработке, которые читались этим летом в Школе мобильной разработки:

https://tprg.ru/Ycfh

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

#ios

Также доступны лекции по Flutter и Android-разработке:
Kotlin for everything: доклад с Omsk DevFest

В 2021 году пользователи имеют такое большое количество устройств, что создание кроссплатформенных приложений уже стало необходимостью. И инструмент Kotlin Multiplatform может стать решением проблемы.

KMM объединяет всю бизнес-логику в единые модули, которые вы можете использовать на различных платформах (Android, iOS, веб) и при этом писать логику только на Kotlin.

Мобильная команда из Leroy Merlin уже использует KMM в своих проектах. И разработчик Алексей Гладков рассказал, как им удалось переехать с Android, с какими сложностями с KMM они столкнулись и оправдал ли результат ожиданий:

https://youtu.be/9u37zatFYgM

#android #ios #kmm
А вы уже используете динамическую тему Material You?

Видео демонстрирует, как добавить поддержку динамической темы из Android 12 менее чем за 5 минут:

https://youtu.be/YRbI1dWnJgc

#android
Поддержка Android 12: опыт Yota

Новая версия Android принесла множество изменений, и поднятие compileSdkVersion и targetSdkVersion до 31 может оказаться недостаточным.

Если вы ещё не внедрили поддержку Android 12, почитайте про обновление приложения Yota:

https://tprg.ru/KSzx

Ребята покрыли большую часть кейсов 12 версии, включая сплеш-скрины геолокацию.

#android
Как писать автотесты для iOS-приложения?

Разработчик из hh поделился полезными практиками по написанию автотестов, которые его команда использует в проде:

https://youtu.be/5UhhTbC4vI8

В видео подробно разобран тест функциональности, когда пользователь вводит информацию о себе.

#ios #тестирование
Подборка докладов с конференции ЮMoneyDay

Стали доступны записи докладов с конференции про то, что под капотом крупных финтех-сервисов ЮMoney. Среди выступлений был один доклад про iOS и два про Android:

1. UI в ЮMoney
Как iOS-команда подружилась с дизайн-системой.

2. Строим удобный сетевой клиент в большом приложении
Доклад про то, как подружить с серверным API мобильное приложение на сотню экранов.

3. Плагин для публикации артефактов
С помощью всего одного плагина на Kotlin можно опубликовать артефакты в разные репозитории. И в докладе разбирается, как.

#ios #android
Лучшие приложения и игры Google Play в 2021 году

Команда Google Play представила приложения, которые, по их мнению, внесли в этом году большой вклад в культуру. Победители были отобраны в различных номинациях, к которым присоединились номинации лучших приложений для планшетов, Android TV и Wear.

Лучшим приложением стало Balance: Meditation & Sleep, а лучшей игрой, как ни странно, Pokémon UNITE.

Со всеми номинантами можно ознакомиться на специальной странице Google Play: https://tprg.ru/5Awb

Выбор приложений и игр в конкурсе учитывал только статистику Google Play в США.

#android
This media is not supported in your browser
VIEW IN TELEGRAM
Создание сетки с передвигающимися элементами на Flutter

Пакет flutter_draggable_gridview расширяет возможности GridView и позволяет переупорядочить элементы GridViewItems.

Статья объясняет, как с помощью библиотеки реализовать Draggable GridView, как на демо выше:

https://tprg.ru/pjBS

#flutter
👍1
Приложения года по версии App Store

Вслед за Google Play сервис App Store отобрал 15 лучших приложений и игр 2021 года:

— Приложение года на iPhone: Toca Life World.
— Игра года на iPhone: League of Legends: Wild Rift.
— Приложение года на iPad: LumaFusion.
— Игра года на iPad: MARVEL Future Revolution.

Ознакомиться со всеми номинантами: https://developer.apple.com/app-store/app-store-awards-2021/

#ios
🥰1
Встречайте релиз Compose Multiplatform 1.0

Декларативный UI-фреймворк Compose Multiplatform даёт возможность разработчику писать UI приложения на Kotlin под веб и десктоп. При этом код можно переиспользовать на различных платформах, включая Android, поскольку Compose Multiplatform совместим с Jetpack Compose.

Фреймворк уже production-ready, поэтому вы можете перенести UI вашего Android-приложения на Jetpack Compose прямо в веб- или десктоп-приложение.

Подробнее о Compose Multiplatform 1.0: https://tprg.ru/FXdb

#compose
Вышла Jetpack-библиотека для кастомизации циферблата умных часов

Библиотека Wear Watchface предоставляет разработчикам широкие возможности для изменения циферблата умных часов на Wear. Она включает в себя всю функциональность Wearable Support Library, а также:
— стилизацию циферблата, которая сохраняется и на часах, и на смартфоне;
— поддержку WYSIWYG-конфигурации UI прямо на смартфоне;
— новые API для создания превью изменений циферблата.

Подробнее о новой Jetpack-библиотеке: https://tprg.ru/1lsr

#wear #jetpack #android