Мобильная разработка – Telegram
Мобильная разработка
13.9K subscribers
854 photos
239 videos
2.95K links
Актуальное по мобильной разработке — Android, iOS, кроссплатформа

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

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Держите шпаргалку по работе с Kotlin Flow. PDF-версию мы приложим в комментариях.

#kotlin #android
Вышла стабильная версия 1.0 Jetpack Compose

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

Для работы с Jetpack Compose нужно установить последнюю версию Android Studio Arctix Fox 2020.3.1.

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

#android #jetpack
Вместе с релизом Jetpack Compose вышла из беты Android Studio Arctic Fox 2020.3.1

Теперь номер версии Android Studio будет связан с версией IntelliJ IDEA, на которой основана IDE.

Также каждая версия Android Studio теперь получит кодовое имя в алфавитном порядке (привет, старое-доброе наименование Android). Так следующая версия (сейчас в Canary-ветке) называется Bumblebee.

Если вы пользуетесь stable-версией Android Studio, то обновление прилетит автоматически.

Все нововведения: https://tprg.ru/0n37

#android
Делаем iOS-приложение с поддержкой OpenVPN

Инструкция поможет вам создать приложение с минимальной функциональностью:

https://tprg.ru/9Rma

#ios
Готов ли Kotlin Multiplatform Mobile для кроссплатформенной разработки?

Для кроссплатформенных приложений на рынке используют уже проверенные фреймворки Flutter и React Native. Но у них есть минус — общий пользовательский интерфейс, который сложно поддерживать с учётом особенностей Android и iOS.

Однако существует фреймворк Kotlin Multiplatform Mobile, с помощью которого общая логика приложений пишется на Kotlin, а интерфейс уже разрабатывается нативно. Пока он находится в альфа-версии, но некоторые компании уже применяют его в реальных проектах.

В статье технический архитектор «Леруа Мерлен» рассказал о своём опыте работы с KMM:

https://tprg.ru/aSV6

#android #ios #kmm #react_native
Официальный курс от Google по Jetpack Compose

Бесплатный курс учит основам Compose и использованию декларативного стиля в разработке UI приложения. В процессе вы изучите:

— работу со слоями;
— использование состояний;
— создание анимаций и навигации;
— миграцию существующих приложений на Compose.

Курс: https://tprg.ru/UbK4

#android #jetpack #курсы
Вышла библиотека Lottie 4.0 с поддержкой Jetpack Compose

Помните, мы рассказывали в середине июля о Release Candidate версии Lottie? Вышла стабильная версия библиотеки, и теперь она умеет рендерить анимации из Adobe After Effects прямо из кода на Jetpack Compose.

В статье разработчики Lottie рассказали о том, как переработали саму библиотеку для поддержки Compose, и поделились гайдом, как запустить Lottie-анимацию из lottie-compose:

https://tprg.ru/a6QD

#библиотеки #android #jetpack
Делегаты в Kotlin

В Kotlin есть полезная фича — делегат. По сути, это класс с двумя методами: для получения и присвоения значения свойству. Благодаря делегату вы можете вынести механику геттеров и сеттеров в отдельный класс и переиспользовать её.

Статья поближе познакомит вас с делегатами в контексте Android-разработки: https://tprg.ru/Z0wE

Перевод статьи: https://tprg.ru/IHFL

#android #kotlin
👍1
Библиотека Gmenu для создания меню в iOS-приложении

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

Репозиторий: https://github.com/amirdew/gmenu

#ios #библиотеки
5 советов начинающим Android-разработчикам

1. Не изобретайте колесо, используйте готовые библиотеки.
2. Используйте Fragment вместо Activity.
3. Используйте плагины для Android Studio.
4. Не разрабатывайте приложение под ваш смартфон (только если вы не делаете его для себя).
5. Всегда запускайте тесты перед выпуском новой версии приложения.

Подробнее советы разъяснены в статье: https://tprg.ru/RVQL

#android #начинающим
Централизуем дизайн Flutter-приложения

Может показаться странным, но у страниц настроек, показанных выше, почти идентичный код. Этого удалось достичь за счёт переноса данных о теме приложения в объект ThemeData.

В статье объясняется, как это сделать:

https://tprg.ru/fNrA

#flutter
Множество разработчиков жалуется на баги новой версии Android Studio (и даже некоторые наши читатели).

Расскажите, столкнулись ли вы с проблемами? Или же работает прямо огонь (хе-хе)?

#чат
Перевод текста на Android с помощью Google ML Kit

Translation API из Google ML Kit позволяет динамически переводить текст и поддерживает свыше 50 языков (включая русский). При этом модель машинного обучения загружается на устройство, и функцию можно использовать в автономном режиме.

В статье на примере простого приложения показано, как использовать Translation API:

https://tprg.ru/xh1P

#android
Дневник привычек в стиле GitHub

Приложение позволяет следить за продуктивностью в течение месяца при помощи доски, похожей по стилю с GitHub. Написано на Flutter.

Репозиторий: https://github.com/GiacomoPignoni/habits_diary

#flutter #идеи
Приложение от Google, демонстрирующее реализацию Material Design компонентов в Jetpack Compose

Compose Material Catalog состоит из трёх основных экранов: домашний экран, экран с компонентами и экран с примерами. Вы можете посмотреть, как реализованы различные функции и даже настроить тему приложения.

Compose Material Catalog в Google Play: https://tprg.ru/Tfrv

#android #jetpack
Адаптивная вёрстка в iOS-приложении

В семействе iPhone экраны различаются как разрешением, так и соотношением сторон. И чтобы не «разъехалось» представление (view), нужно задать ему собственное соотношение сторон и привязать к высоте или ширине основного view.

Статья поможет разобраться, как решить эту проблему: https://tprg.ru/L3cR

#ios #начинающим
У нас появился канал, в котором мы прокачиваем soft skills

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

Повышайте продуктивность в Soft Skillz: @soft_skillz
Создание и стилизация выпадающих меню в Android

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

Из статьи вы узнаете, как кастомизировать меню при помощи TextInputLayout и AutoCompleteTextView:

https://tprg.ru/0SPe

#android
Библиотека для обработки телефонных номеров на iOS

PhoneNumberKit проверяет введённые номера на корректность и умеет отображать флаг страны, которой принадлежит номер, и пример ввода на фоне текстового поля.

Как использовать библиотеку: https://github.com/marmelroy/PhoneNumberKit

#ios #библиотеки
Вышла альфа-версия инструмента Compose Multiplatform для разработки интерфейса десктопных и веб-приложений на Compose

Compose Multiplatform объединяет два фреймворка — Compose for Desktop и Compose for Web. Теперь разработчики могут использовать схожие элементы Compose для приложений под Android, десктоп и веб-платформу.

Вместе с релизом альфы JetBrains представила плагин Compose Multiplatform для IntelliJ IDEA и Android Studio. Он позволяет увидеть превью Compose-элемента прямо в IDE. Для этого в определение @Composable функции без параметров нужно добавить аннотацию @Preview.

Попробовать Compose Multiplatform можно уже сейчас. Разработчики рассчитывают выпустить стабильную версию 1.0 уже в этом году.

Подробнее в блоге JetBrains: https://tprg.ru/vuFb

#compose #kotlin
Миграция AOSP-приложения Calendar на Kotlin

Не всегда миграция с Java на Kotlin нужна для повышения производительности приложения.

Переписав весь код на Kotlin, разработчики open source приложения Calendar добились:
— схожей производительности с Java-версией;
— уменьшения кодовой базы примерно на 300 строк;
— следования лучшим практикам Android-разработки;
— примера Kotlin-first приложения.

Подробнее о переписывании приложения вы можете почитать в статье: https://tprg.ru/hz26

#android #kotlin