Мобильная разработка
14.3K subscribers
672 photos
238 videos
2.71K links
Актуальное по мобильной разработке — Android, iOS, кроссплатформа

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

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Почему переходят с Flutter на Native: опыт команды Ozon Tech

На днях вышла нашумевшая статья, где руководитель разработки приложения «Пункты выдачи заказов» в Ozon рассказал, как его Android- и iOS-команды переписывают приложение на Kotlin и Swift соответственно.

Среди причин, по которым ребята решили осуществить переход, выделим несколько:
— разработчики предпочитают больше Kotlin или Swift, нежели не очень привычный Dart;
Jetpack Compose и SwiftUI предлагают тот же удобный декларативный стиль для написания UI;
— некоторые специфические функции приходится всё-таки писать на Native;
— для обоих приложений можно использовать единую архитектуру, и проекты будет возможно вести в одном направлении.

Как вы думаете, действительно ли Flutter сдаёт позиции?

#flutter
💩30👍20🔥4🤮31
Что посмотреть: доклад «Борьба за FPS и Android-камера, или Как видит зелёный робот»

Доклад с TechTrain 2021, где подробно рассмотрена работа с камерой в Android. В выступлении много говорится о работе с Camera API различных версий, обработку кадров нейросетями и использовании OpenGL:

https://youtu.be/0gEHDIOjskI

#android #доклады
🔥6
Все Telegram-каналы от Tproger теперь собраны в одном месте: @tproger_channels

Каналы по конкретным направлениям разработки, подборки полезных ресурсов, канал для начинающих, новости, мемы — всего около двух десятков каналов разного формата. Точно найдёте что-нибудь для себя.
👍1
GraphQL в мобильной разработке

Серия статей, наглядно показывающая использование GraphQL в мобильных приложениях. В них объясняется, как создать клиенты для Android и iOS простой социальной сети с лентой постов.

1. Создание простого бэкенда на GraphQL.
2. Клиент для Android.
3. Клиент для iOS.

#android #ios
🔥13👍7👎2
Сравнение кривых линий по форме в Android-приложении

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

Каждая линия состоит из множества точек. И ввтор статьи пришёл к трём вариантам реализации:
— сравнение интегралов;
— построение триангуляции фигуры;
— сравнение направлений векторов между точками.

В итоге был выбран третий вариант. Почему и как это реализовано (на Kotlin) — в статье.

#kotlin
👍8🔥7
Что посмотреть: онлайн-встреча VK Tech Talks

На встрече android-разработчики VK обсудят:
· «Как не надо интегрировать SDK»;
· «Интеграция GraphQL в Android-приложение»;
· «Frida для взлома и отладки приложений».

В конце встречи вас ждет викторина и призы. Запись трансляции сохранится в сообществе VK Team.

Регистрация по ссылке.

#ивент #android #доклады
👍3
Знаете ли вы о всех полезных возможностях в Kotlin?

Developer Advocate из JetBrains Антон Архипов разобрал синтаксический сахар в Kotlin, рассказал о нужных библиотеках и поделился особенностями дизайна языка. И всё это — в часовом формате.

Доклад будет особенно полезен тем, кто переходит с Java на Kotlin:

https://youtu.be/X0M_I8p9jJ0

#доклады #kotlin
👍10🔥2
Proto DataStore

Proto — одна из двух имплементаций Jetpack-библиотеки DataStore. В отличие от Preferences, Proto обеспечивает типобезопасность данных и может работать со сложными типами данных вроде списков и enum.

Разобраться в работе с Proto поможет статья:

https://medium.com/androiddevelopers/all-about-proto-datastore-1b1af6cd2879

Предыдущие статьи из цикла:
1. Введение в Jetpack DataStore.
2. DataStore Preferences.

#android
👍6
Доклады с iOS Community Meetup

«Райффайзенбанк» в начале февраля провёл онлайн-митап для iOS-разработчиков. Делимся записью трансляции.

Чтобы было удобнее смотреть доклады, мы оставили ссылки с таймкодами прямо в названиях докладов:

1. Dependency Injection в iOS-разработке.
Спикер рассказал, зачем думать про DI, если есть Swinject, и когда DI не «overhead».

2. Async/await в твоём приложении.
Async/await существенно меняет подход к многопоточности в iOS-приложении. И в докладе на примере реального приложения показали, как выполняются с помощью async/await запросы в сеть, запись в базу и параллельные запросы.

3. Snapshot-тестирование.
В докладе проведён обзор snapshot-тестирования и рассмотрены существующие решения.

#ios #доклады
👍6
17 и 18 марта в Крокус Экспо состоится крупнейшая в России IT-конференция HighLoad++ Foundation.

Если вы никогда не были на HighLoad++, то вот немного фактов о конференции:

— Более 10 лет на конференцию собирается 1000-3000 разработчиков нагруженных систем.
— На конференции можно найти эксперта практически по любому вопросу, пообщаться с создателями технологий, на которых вы работаете.
— И вообще нетворкинг — важная часть HighLoad++ Foundation. Неформальная обстановка конференции позволяет говорить со своими о своём. И кто знает, какие новые идеи принесут эти разговоры и встречи.
— Премия HighLoad++ уже стала традицией. Она существует с 2018 года, и сейчас это фактически Оскар в сфере IT.
— Партнёрские стенды — это не только призы и лёгкая степень безумия, но и возможность расспросить, что там под капотом у самых крупных IT-проектов.

В этот раз к выступлению готовят более 130 докладчиков и несколько спецпроектов: OpenSource-трибуна, Яндекс.Трек, консультации экспертов, Премия HighLoad++ и многое другое.

Когда: 17-18 марта

Подробнее о конференции: https://tprg.ru/K6in

#ивент
👍6😁1
КРОК ищет мобильных разработчиков

Flutter-разработчик
Где: Москва, можно удалённо
Опыт: От 1 года

iOS-разработчик
Где: Москва
Опыт: От 1 года

Посмотреть другие вакансии компании: https://tprg.ru/nAvJ

#вакансии #работа
👎20👍4
Вышла первая версия Android 13 — Developer Preview 1

Это самая ранняя версия Android 13, которая ещё далека от релиза, но уже показывает основные изменения. В ней сосредоточились на улучшении безопасности и приватности пользователей, а также на полезных инструментах для разработчиков.

Что интересного:
системное API для выбора медиафайлов, которое предоставляет единый интерфейс для обмена пользователями фото и видео;
— новое разрешение NEARBY_WIFI_DEVICES, которое управляет соединениями устройств через Wi-Fi;
— Quick Settings Placement API для добавления быстрых настроек приложения в панель уведомлений;
— иконки приложений в меню теперь тоже могут поддерживать динамическую тему Material You;
новое API для выбора языка в приложении.

Подробнее обо всех изменениях можно узнать на странице Android 13. Попробовать систему в деле можно уже сейчас на устройствах Pixel и в Android Emulator.

#android
👍14😱14🤯1😢1
Подборка полезных ссылок для iOS-разработчиков

В одном материале собраны ссылки на видео, статьи, руководства, библиотеки и репозитории, которые будут полезны опытному iOS-разработчику:

https://sparrowcode.io/ru/resources-for-ios-developer

#ios
🔥9
Что нужно знать перед разбиением Android-приложения на модули

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

https://proandroiddev.com/android-modularization-preps-things-to-know-before-modularizing-your-app-deaf795aabec

#android
👍9🥰1
Компоненты Google Maps для Compose

Не так давно для Android-разработчиков стал доступен официальный инструмент для использования Google Maps вместе с Jetpack Compose. Поэтому внедрение карт в Android-приложение стало ещё проще.

Как использовать: https://github.com/googlemaps/android-maps-compose

#android #библиотеки #compose
Различные анимации на Jetpack Compose

В одном репозиторий собраны реализации 4 анимаций:
— переворачивающаяся карточка;
— двигающееся сердце;
— индикатор загрузки;
— кольцевая анимация кнопки записи.

https://github.com/canopas/Jetpack-compose-animations-examples

Кстати, о том, как всё это реализовано, объясняется в статье.

#compose #ui
12👍1🔥1
Переход с Java на Kotlin: все нюансы и «подводные камни»

Kotlin стал предпочтительным языком для Android-разработки ещё в 2019 году. Язык имеет множество полезных фич, таких как корутины, Data-классы, extension-функции, inline-функции и не только. Более того, многие популярные приложения тоже переписаны на Kotlin.

Поэтому если ваше приложение до сих пор написано на Java, то рекомендуем статью, где расписаны особенности миграции с Java-кода на Kotlin в большом проекте:

https://tproger.ru/articles/perehod-s-java-na-kotlin-pri-sozdanii-mobilnogo-prilozhenija/

#kotlin #android
👍8👎1
Избавляемся от «хвоста» старых версий приложений

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

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

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

#android #ios
👍5
Android 13: разбор обновления и способы установки

Большая статья на русском языке, где подробно рассмотрены нововведения системы и виртуализация, а также дана инструкция для установки на Pixel:

https://habr.com/ru/company/selectel/blog/571864/

#android
👍7
Изучаем с нуля Kotlin Flow

Flow — нативный инструмент в Kotlin для работы с асинхронным кодом, который пришёл на замену уже устаревшей RxJava.

Если вы с ним ещё ни разу не работали, то статья поможет изучить основные принципы работы Flow и его жизненный цикл:

https://proandroiddev.com/kotlin-coroutines-flow-in-a-nutshell-90399fc9aed7

#kotlin
👍16🔥2👎1