Почему переходят с Flutter на Native: опыт команды Ozon Tech
На днях вышла нашумевшая статья, где руководитель разработки приложения «Пункты выдачи заказов» в Ozon рассказал, как его Android- и iOS-команды переписывают приложение на Kotlin и Swift соответственно.
Среди причин, по которым ребята решили осуществить переход, выделим несколько:
— разработчики предпочитают больше Kotlin или Swift, нежели не очень привычный Dart;
— Jetpack Compose и SwiftUI предлагают тот же удобный декларативный стиль для написания UI;
— некоторые специфические функции приходится всё-таки писать на Native;
— для обоих приложений можно использовать единую архитектуру, и проекты будет возможно вести в одном направлении.
Как вы думаете, действительно ли Flutter сдаёт позиции?
#flutter
На днях вышла нашумевшая статья, где руководитель разработки приложения «Пункты выдачи заказов» в Ozon рассказал, как его Android- и iOS-команды переписывают приложение на Kotlin и Swift соответственно.
Среди причин, по которым ребята решили осуществить переход, выделим несколько:
— разработчики предпочитают больше Kotlin или Swift, нежели не очень привычный Dart;
— Jetpack Compose и SwiftUI предлагают тот же удобный декларативный стиль для написания UI;
— некоторые специфические функции приходится всё-таки писать на Native;
— для обоих приложений можно использовать единую архитектуру, и проекты будет возможно вести в одном направлении.
Как вы думаете, действительно ли Flutter сдаёт позиции?
#flutter
💩30👍20🔥4🤮3❤1
Что посмотреть: доклад «Борьба за FPS и Android-камера, или Как видит зелёный робот»
Доклад с TechTrain 2021, где подробно рассмотрена работа с камерой в Android. В выступлении много говорится о работе с Camera API различных версий, обработку кадров нейросетями и использовании OpenGL:
https://youtu.be/0gEHDIOjskI
#android #доклады
Доклад с TechTrain 2021, где подробно рассмотрена работа с камерой в Android. В выступлении много говорится о работе с Camera API различных версий, обработку кадров нейросетями и использовании OpenGL:
https://youtu.be/0gEHDIOjskI
#android #доклады
YouTube
Дмитрий Гордин — Борьба за FPS и Android-камера, или Как видит зеленый робот
Подробнее о фестивале TechTrain: https://jrg.su/YR8JKw
— —
Хардкорный доклад про Android-камеру и обработку кадров нейросетями, OpenGL-фильтрами, AR-штуками.
В докладе будет:
– camera API (1,2,X) и форматы, NV21, YUV I420, библиотека yuv2buf;
– подбор «хорошего»…
— —
Хардкорный доклад про Android-камеру и обработку кадров нейросетями, OpenGL-фильтрами, AR-штуками.
В докладе будет:
– camera API (1,2,X) и форматы, NV21, YUV I420, библиотека yuv2buf;
– подбор «хорошего»…
🔥6
Все Telegram-каналы от Tproger теперь собраны в одном месте: @tproger_channels
Каналы по конкретным направлениям разработки, подборки полезных ресурсов, канал для начинающих, новости, мемы — всего около двух десятков каналов разного формата. Точно найдёте что-нибудь для себя.
Каналы по конкретным направлениям разработки, подборки полезных ресурсов, канал для начинающих, новости, мемы — всего около двух десятков каналов разного формата. Точно найдёте что-нибудь для себя.
👍1
GraphQL в мобильной разработке
Серия статей, наглядно показывающая использование GraphQL в мобильных приложениях. В них объясняется, как создать клиенты для Android и iOS простой социальной сети с лентой постов.
1. Создание простого бэкенда на GraphQL.
2. Клиент для Android.
3. Клиент для iOS.
#android #ios
Серия статей, наглядно показывающая использование GraphQL в мобильных приложениях. В них объясняется, как создать клиенты для Android и iOS простой социальной сети с лентой постов.
1. Создание простого бэкенда на GraphQL.
2. Клиент для Android.
3. Клиент для iOS.
#android #ios
🔥13👍7👎2
Сравнение кривых линий по форме в Android-приложении
Представьте: вы пишете гиперказуальную игру, где есть механика повторения линии: линия отображается на экране, и пользователю необходимо провести похожую достаточно точно. Как бы вы сравнили обе линии?
Каждая линия состоит из множества точек. И ввтор статьи пришёл к трём вариантам реализации:
— сравнение интегралов;
— построение триангуляции фигуры;
— сравнение направлений векторов между точками.
В итоге был выбран третий вариант. Почему и как это реализовано (на Kotlin) — в статье.
#kotlin
Представьте: вы пишете гиперказуальную игру, где есть механика повторения линии: линия отображается на экране, и пользователю необходимо провести похожую достаточно точно. Как бы вы сравнили обе линии?
Каждая линия состоит из множества точек. И ввтор статьи пришёл к трём вариантам реализации:
— сравнение интегралов;
— построение триангуляции фигуры;
— сравнение направлений векторов между точками.
В итоге был выбран третий вариант. Почему и как это реализовано (на Kotlin) — в статье.
#kotlin
👍8🔥7
Что посмотреть: онлайн-встреча VK Tech Talks
На встрече android-разработчики VK обсудят:
· «Как не надо интегрировать SDK»;
· «Интеграция GraphQL в Android-приложение»;
· «Frida для взлома и отладки приложений».
В конце встречи вас ждет викторина и призы. Запись трансляции сохранится в сообществе VK Team.
Регистрация по ссылке.
#ивент #android #доклады
На встрече android-разработчики VK обсудят:
· «Как не надо интегрировать SDK»;
· «Интеграция GraphQL в Android-приложение»;
· «Frida для взлома и отладки приложений».
В конце встречи вас ждет викторина и призы. Запись трансляции сохранится в сообществе VK Team.
Регистрация по ссылке.
#ивент #android #доклады
👍3
Знаете ли вы о всех полезных возможностях в Kotlin?
Developer Advocate из JetBrains Антон Архипов разобрал синтаксический сахар в Kotlin, рассказал о нужных библиотеках и поделился особенностями дизайна языка. И всё это — в часовом формате.
Доклад будет особенно полезен тем, кто переходит с Java на Kotlin:
https://youtu.be/X0M_I8p9jJ0
#доклады #kotlin
Developer Advocate из JetBrains Антон Архипов разобрал синтаксический сахар в Kotlin, рассказал о нужных библиотеках и поделился особенностями дизайна языка. И всё это — в часовом формате.
Доклад будет особенно полезен тем, кто переходит с Java на Kotlin:
https://youtu.be/X0M_I8p9jJ0
#доклады #kotlin
YouTube
Антон Архипов — Мои любимые возможности в Kotlin
Даты ближайшего фестиваля TechTrain будут анонсированы позднее.
Подробнее о TechTrain: https://jrg.su/YR8JKw
— —
В Kotlin много разных возможностей: расширения, вывод типов, лямбды с ресивером, функциональные типы — имя им легион! Многие из этих возможностей…
Подробнее о TechTrain: https://jrg.su/YR8JKw
— —
В 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
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 #доклады
«Райффайзенбанк» в начале февраля провёл онлайн-митап для 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
#ивент
Если вы никогда не были на 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
#вакансии #работа
— 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
Это самая ранняя версия 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
В одном материале собраны ссылки на видео, статьи, руководства, библиотеки и репозитории, которые будут полезны опытному 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
Большая статья, в которой разобрано несколько сложных моментов модуляризации приложения, в том числе управление зависимостями и сборкой проекта:
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
Не так давно для 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
В одном репозиторий собраны реализации 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
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
У многих часто обновляющихся приложений существует процент активных пользователей, которые сидят на сильно устаревшей версии приложения. Согласно статье, ситуация может породить 3 вида проблем:
— перегруженная техподдержка и низкие оценки в сторах из-за багов, которые были исправлены в последующих версиях;
— может использоваться старое серверное API, который сложно поддерживать наравне с новым;
— внедрение фич может замедляться, поскольку недостаточно статистики по их использованию.
Как с этим быть? В статье разобраны инструменты, которые помогают совершить принудительное обновление приложений, а также даны советы, как уменьшить размер и количество обновлений, а также убеждать пользователей обновиться.
#android #ios
👍5
Android 13: разбор обновления и способы установки
Большая статья на русском языке, где подробно рассмотрены нововведения системы и виртуализация, а также дана инструкция для установки на Pixel:
https://habr.com/ru/company/selectel/blog/571864/
#android
Большая статья на русском языке, где подробно рассмотрены нововведения системы и виртуализация, а также дана инструкция для установки на 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
Flow — нативный инструмент в Kotlin для работы с асинхронным кодом, который пришёл на замену уже устаревшей RxJava.
Если вы с ним ещё ни разу не работали, то статья поможет изучить основные принципы работы Flow и его жизненный цикл:
https://proandroiddev.com/kotlin-coroutines-flow-in-a-nutshell-90399fc9aed7
#kotlin
👍16🔥2👎1