Готов ли Kotlin Multiplatform Mobile для кроссплатформенной разработки?
Для кроссплатформенных приложений на рынке используют уже проверенные фреймворки Flutter и React Native. Но у них есть минус — общий пользовательский интерфейс, который сложно поддерживать с учётом особенностей Android и iOS.
Однако существует фреймворк Kotlin Multiplatform Mobile, с помощью которого общая логика приложений пишется на Kotlin, а интерфейс уже разрабатывается нативно. Пока он находится в альфа-версии, но некоторые компании уже применяют его в реальных проектах.
В статье технический архитектор «Леруа Мерлен» рассказал о своём опыте работы с KMM:
https://tprg.ru/aSV6
#android #ios #kmm #react_native
Для кроссплатформенных приложений на рынке используют уже проверенные фреймворки 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 #курсы
Бесплатный курс учит основам 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
Помните, мы рассказывали в середине июля о 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
В Kotlin есть полезная фича — делегат. По сути, это класс с двумя методами: для получения и присвоения значения свойству. Благодаря делегату вы можете вынести механику геттеров и сеттеров в отдельный класс и переиспользовать её.
Статья поближе познакомит вас с делегатами в контексте Android-разработки: https://tprg.ru/Z0wE
Перевод статьи: https://tprg.ru/IHFL
#android #kotlin
👍1
Библиотека Gmenu для создания меню в iOS-приложении
С помощью Gmenu вы сможете создать меню, которое разворачивается из угла верхней панели поиска и отображает несколько больших иконок. В процессе появления меню строки из UITableView прокручиваются вниз.
Репозиторий: https://github.com/amirdew/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 #начинающим
1. Не изобретайте колесо, используйте готовые библиотеки.
2. Используйте Fragment вместо Activity.
3. Используйте плагины для Android Studio.
4. Не разрабатывайте приложение под ваш смартфон (только если вы не делаете его для себя).
5. Всегда запускайте тесты перед выпуском новой версии приложения.
Подробнее советы разъяснены в статье: https://tprg.ru/RVQL
#android #начинающим
Централизуем дизайн Flutter-приложения
Может показаться странным, но у страниц настроек, показанных выше, почти идентичный код. Этого удалось достичь за счёт переноса данных о теме приложения в объект ThemeData.
В статье объясняется, как это сделать:
https://tprg.ru/fNrA
#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
Translation API из Google ML Kit позволяет динамически переводить текст и поддерживает свыше 50 языков (включая русский). При этом модель машинного обучения загружается на устройство, и функцию можно использовать в автономном режиме.
В статье на примере простого приложения показано, как использовать Translation API:
https://tprg.ru/xh1P
#android
Дневник привычек в стиле GitHub
Приложение позволяет следить за продуктивностью в течение месяца при помощи доски, похожей по стилю с GitHub. Написано на Flutter.
Репозиторий: https://github.com/GiacomoPignoni/habits_diary
#flutter #идеи
Приложение позволяет следить за продуктивностью в течение месяца при помощи доски, похожей по стилю с 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
Compose Material Catalog состоит из трёх основных экранов: домашний экран, экран с компонентами и экран с примерами. Вы можете посмотреть, как реализованы различные функции и даже настроить тему приложения.
Compose Material Catalog в Google Play: https://tprg.ru/Tfrv
#android #jetpack
Адаптивная вёрстка в iOS-приложении
В семействе iPhone экраны различаются как разрешением, так и соотношением сторон. И чтобы не «разъехалось» представление (view), нужно задать ему собственное соотношение сторон и привязать к высоте или ширине основного view.
Статья поможет разобраться, как решить эту проблему: https://tprg.ru/L3cR
#ios #начинающим
В семействе iPhone экраны различаются как разрешением, так и соотношением сторон. И чтобы не «разъехалось» представление (view), нужно задать ему собственное соотношение сторон и привязать к высоте или ширине основного view.
Статья поможет разобраться, как решить эту проблему: https://tprg.ru/L3cR
#ios #начинающим
У нас появился канал, в котором мы прокачиваем soft skills
Креативность, обучаемость и работа в команде будут полезны не только для айтишников, но и для жизни в целом.
Повышайте продуктивность в Soft Skillz: @soft_skillz
Креативность, обучаемость и работа в команде будут полезны не только для айтишников, но и для жизни в целом.
Повышайте продуктивность в Soft Skillz: @soft_skillz
Создание и стилизация выпадающих меню в Android
Если вы хотите реализовать уникальный дизайн в вашем приложении, то стандартное выпадающее меню будет выбиваться из общего стиля.
Из статьи вы узнаете, как кастомизировать меню при помощи TextInputLayout и AutoCompleteTextView:
https://tprg.ru/0SPe
#android
Если вы хотите реализовать уникальный дизайн в вашем приложении, то стандартное выпадающее меню будет выбиваться из общего стиля.
Из статьи вы узнаете, как кастомизировать меню при помощи TextInputLayout и AutoCompleteTextView:
https://tprg.ru/0SPe
#android
Библиотека для обработки телефонных номеров на iOS
PhoneNumberKit проверяет введённые номера на корректность и умеет отображать флаг страны, которой принадлежит номер, и пример ввода на фоне текстового поля.
Как использовать библиотеку: https://github.com/marmelroy/PhoneNumberKit
#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. Для этого в определение
Попробовать Compose Multiplatform можно уже сейчас. Разработчики рассчитывают выпустить стабильную версию 1.0 уже в этом году.
Подробнее в блоге JetBrains: https://tprg.ru/vuFb
#compose #kotlin
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
Не всегда миграция с Java на Kotlin нужна для повышения производительности приложения.
Переписав весь код на Kotlin, разработчики open source приложения Calendar добились:
— схожей производительности с Java-версией;
— уменьшения кодовой базы примерно на 300 строк;
— следования лучшим практикам Android-разработки;
— примера Kotlin-first приложения.
Подробнее о переписывании приложения вы можете почитать в статье: https://tprg.ru/hz26
#android #kotlin
Code With Me — инструмент для совместной разработки — теперь поддерживается в Android Studio Bumblebee
Code With Me предназначен для совместной разработки и парного программирования. С его помощью вы можете вместе редактировать код, следить за действиями коллег, управлять правами доступа к проекту и даже совершать аудио- и видеозвонки.
Плагин стал доступен в JetBrains Marketplace для Android Studio Bumblebee 2021.1.1 (которая находится пока в Canary-ветке). Также плагин будет встроен в AppCode 2021.2.
Подробнее о релизе Code With Me в блоге JetBrains: https://tprg.ru/8cTa
#android
Code With Me предназначен для совместной разработки и парного программирования. С его помощью вы можете вместе редактировать код, следить за действиями коллег, управлять правами доступа к проекту и даже совершать аудио- и видеозвонки.
Плагин стал доступен в JetBrains Marketplace для Android Studio Bumblebee 2021.1.1 (которая находится пока в Canary-ветке). Также плагин будет встроен в AppCode 2021.2.
Подробнее о релизе Code With Me в блоге JetBrains: https://tprg.ru/8cTa
#android
Запуск первого теста на Kaspresso
Kaspresso — фреймворк для автоматизированного тестирования UI приложения, основанный на Espresso и UI Automator.
Гайд поможет настроить эмулятор и запустить первые тесты: https://tprg.ru/YzPc
#тестирование #android
Kaspresso — фреймворк для автоматизированного тестирования UI приложения, основанный на Espresso и UI Automator.
Гайд поможет настроить эмулятор и запустить первые тесты: https://tprg.ru/YzPc
#тестирование #android
Знакомство с async/await в Swift
Инструмент async/await в Swift был представлен на WWDC21 и пока находится в стадии беты.
Разработчик из Ситимобил сравнил async/await с GCD и подробнее разобрал работу с асинхронным кодом:
https://tprg.ru/1sfu
#ios
Инструмент async/await в Swift был представлен на WWDC21 и пока находится в стадии беты.
Разработчик из Ситимобил сравнил async/await с GCD и подробнее разобрал работу с асинхронным кодом:
https://tprg.ru/1sfu
#ios
Экран загрузки на Flutter
Экран загрузки (splash screen) имеет круглую кнопку перехода с выгнутым пространством под ней.
Как это реализовано: https://github.com/hosain-mohamed/curved_splash_screen
#flutter #ui
Экран загрузки (splash screen) имеет круглую кнопку перехода с выгнутым пространством под ней.
Как это реализовано: https://github.com/hosain-mohamed/curved_splash_screen
#flutter #ui