Все потоки
Поиск
Написать публикацию
Обновить
7.76

Flutter *

Фреймворк для кросс-платформенной разработки

Сначала показывать
Порог рейтинга
Уровень сложности

Определение App flavors для приложений Flutter

Время на прочтение4 мин
Количество просмотров3.4K

Этот пост будет полезен для Flutter-разработчиков, которым хочется поработать с флейворами (flavours), изменить и дополнить их. Сегодня мы не будем говорить о процессе создания флейворов с разными иконками, названиями и идентификаторами, благо таких публикаций существует уже очень много. Вместо этого речь пойдет о том, как определять флейвор в Dart-коде, а также о решении некоторых часто встречающихся при сборке приложений проблем, связанных с введением флейворов. 

Итак, я рассчитываю, что вы знаете, что такое флейвор и зачем он нужен (если нет, почитайте, например, вот этот материал). Поэтому мы сразу перейдем к тем вопросам, с которыми встречается разработчик Flutter, когда у него возникает задача определить новый флейвор. 

Читать далее

Flutter: как мы выбирали навигацию для мобильного приложения?

Время на прочтение11 мин
Количество просмотров25K

Flutter вышел в стабильной версии в 2018 году. Все это время он активно развивался: появилась поддержка Null safety, расширились возможности по темизации и локализации приложений, добавилось огромное количество новых виджетов. Одно из таких нововведений — Navigator 2.0, выпущенный Flutter осенью 2020 года. Это гибкий инструмент для решения непростой задачи навигации в мобильных приложениях. Разработчики начали применять Navigator 2.0, но столкнулись с трудностями и проблемами, о которых говорили команде Flutter в официальном репозитории, предлагая упростить использование инструмента. Самым подробным материалом по новому подходу является статья в блоге Flutter, но и ее мало для того, чтобы начать работать с Navigator 2.0 в продакшен-приложениях.

Хочу знать больше

Как мы обновляли мобильное приложение для официантов: трудности перевода стека KMM + UI на Flutter из теста в продакшн

Время на прочтение8 мин
Количество просмотров3.5K

Привет! На связи снова Сергей Арсёнов, руководитель мобильной разработки в компании r_keeper. Я уже рассказывал, как и почему мы выбрали стек Kotlin Multiplatform Mobile + UI на Flutter для обновления нашего мобильного приложения для официантов. А теперь посмотрим, что из этого вышло на стадии продакшн (спойлер: все получилось, но проблем хватило).

Читать далее

Нижняя панель навигации Flutter с вложенной маршрутизацией (автомаршрутизация)

Время на прочтение15 мин
Количество просмотров12K

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

Читать далее

Советы по оптимизации производительности растрового потока

Время на прочтение10 мин
Количество просмотров2.1K

Недавно я сел за работу по настройке производительности FlutterFolio, приложения, которое было создано в качестве демонстрации дизайна для Flutter Engage. С помощью одного изменения я сделал FlutterFolio значительно быстрее.

Читать далее

Flutter: о разработке плагинов с интерфейсом ActivityAware

Время на прочтение6 мин
Количество просмотров5.3K


В былые времена клиенты присылали цветные изображения документов со сканера по емейлу. Кто ленился или не мог — отправлял свой загранник по почте. С этим неплохо справлялось решение от ABBYY. Потом появились телефоны и люди стали присылать фотографии паспортов. ABBYY сломался. Перешли на решение от Smart Engines и даже с фотографиями, посланными через WhatsApp особых проблем не было. Но потом пошли умные мобилки с включенными по умолчанию водяными знаками типа «Xiaomi 9T» часто перекрывающими важнейшую часть паспорта. Вдобавок к этому наличие в кадре на фотографии пальцев и бликов тормозило общение с клиентом.

Примеры паспортов, непригодных к распознаванию

Когда паспорт распознается в видеопотоке на телефоне клиента, то этой проблемы так остро не стоит. Почему?

  1. Мобильное ядро отображает рамку документа в процессе распознавания, не просто маску поверх видео, а именно рамку документа, находящегося в руках. По моим ощущениям, это дает человеку понимание, где не должно быть его пальцев. Вообще, это интересная тема для отдельного исследования.
  2. Система использует механизм сатурации данными и готова выдать результат только после определенной уверенности в них.
Читать дальше →

gRPC + Dart, Сервис + Клиент, напишем? Часть 4: подключаем мобильное Flutter приложение

Время на прочтение5 мин
Количество просмотров4K

В этой части мы сделаем рефакторинг проекта и подключим клиентское мобильное Flutter приложение к сервису Umka.

В статье даны ссылки на исходный код, а в конце приведён пример команд, которыми проект можно запустить на своём локальном компьютере и "поиграться" с приложением.

Читать далее

Реализация in-app purchases на Flutter c помощью Adapty SDK

Время на прочтение7 мин
Количество просмотров5.2K

Привет, меня зовут Алексей, я разрабатываю Adapty SDK для Flutter. Сегодня я расскажу про внедрение внутренних покупок в мобильное приложение на Flutter с помощью плагина, который мы разрабатываем.

Flutter — это относительно новый фреймворк от Google для быстрого создания кросс-платформенных приложений. Второй популярный фреймворк — React Native, о покупках на Реакте мы писали в другой статье.

Читать далее

Два в одном: фронтенд и мобильная разработка на EPAM Meet Up

Время на прочтение5 мин
Количество просмотров4.6K

Что объединяет фронтендеров и мобильных разработчиков? И те, и другие ругаются на бэкенд!

Если говорить серьёзнее, понятно, что общего много: они работают на клиентской стороне, имеют дело с UI и так далее. Но технологии в вебе и мобильных приложениях различаются, так что технические доклады им нужны разные. А 29 сентября состоится онлайн-митап для тех и других сразу — как это возможно?

Секрет в том, что у митапа будут два параллельных трека (каждый из трёх докладов). Так что фронтендеры смогут узнать полезное на одном, «мобильщики» — на другом. В мобильном треке освещены и iOS, и Kotlin Multiplatform, и Flutter, так что есть интересное для самых разных специалистов. И состав спикеров заметный: например, Виталия Фридмана уже знают многие JS-разработчики, а Александр Денисов отлично известен Flutter-сообществу.

Под катом — подробное описание программы. А тут добавим, что при начале в 19:00 доклады завершатся уже в 21:05, так что полностью выпадать из жизни вечером среды не придётся. Впрочем, можно не только смотреть доклад, но и подключаться к дискуссии после него, и вот сколько времени вы там промучаете спикера вопросами — это больше от вас зависит.

Читать далее

Как мы обновляли мобильное приложение для официантов: выбор стека и тест трех версий. Кто победил?

Время на прочтение7 мин
Количество просмотров5.8K

Привет! Меня зовут Сергей Арсёнов, я руковожу мобильной разработкой в компании r_keeper. Хочу рассказать, как мы обновляли мобильное b2b-приложение для официантов и почему выбрали для него не совсем классический стек — Kotlin Multiplatform Mobile + UI на Flutter.

Читать далее

Flutter: 11 вещей, которые нужно помнить для вашего следующего проекта

Время на прочтение8 мин
Количество просмотров11K

Создание нового проекта на Flutter - это благословение - свежая кодовая база, никакого легаси кода (пока что), null safety, самые последние версии ваших любимых библиотек и так далее. Однако, в то же время, необходимо принять критические решения в самом начале, которые будут лежать в основании для будущего, такие как инструменты, пакеты, файловая структура, решение для менеджмента состояния, тестирование и планирование. В противном случае, в итоге, проект превратится в еще одну чашу спагетти с фрикадельками. Чтобы избежать этого, я подготовил список наиболее важных, по моему мнению, частей проекта, которые должны быть решены как можно раньше. Я надеюсь, что это поможет вам. Приятного чтения!

Читать далее

Реализуем чистую архитектуру на Flutter с cubit

Время на прочтение8 мин
Количество просмотров22K

Соблюдать принципы чистой архитектуры – значит обеспечить удобство тестирования, поддержки и модернизации приложения. Понимание архитектуры и state management – это база, необходимая начинающему специалисту для успешной командной работы. В этой статье мы расскажем, как с помощью Cubit реализовать чистую архитектуру на примере стартового приложения Flutter – счетчика нажатий на кнопку. 

Читать далее

Dart Code Metrics 4.0: команды, поддержка монорепозиториев и новые правила

Время на прочтение8 мин
Количество просмотров2.8K

В предыдущей статье мы анонсировали Dart Code Metrics — инструмент статического анализа кода. Сегодня я расскажу про новые возможности, которые появились в Dart Code Metrics с выходом очередного мажорного обновления. Поговорим про появление команд, поддержку монорепозиториев, улучшения в интеграции с CI/CD, и, конечно же, про новые правила для анализатора. Теперь у инструмента появился сайт с документацией, его можно найти здесь.

Читать далее

Ближайшие события

Flutter + Socket.io — Обмен информацией в режиме реального времени

Время на прочтение7 мин
Количество просмотров17K

Когда скорость имеет решающее значение, когда необходимо иметь возможность обмениваться информацией мгновенно, есть несколько способы добиться этого, отправка множества сетевых запросов на сервер не всегда решает эту задачу, так как часто нам нужно поддерживать постоянное активное соединение с сервером. Тогда и появляются WebSocket.

Читать далее

Flutter: открытие виджетов ключами

Время на прочтение12 мин
Количество просмотров10K

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

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

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

- Какие бывают ключи и как они работают.

- Когда использовать ключ.

- Как работать с разными типами ключей

Читать далее

GetX for Flutter. Dependency Injection для частных случаев

Время на прочтение7 мин
Количество просмотров15K

GetX удобен. Действительно удобен, лаконичен, функционален, выразителен. Но порою его функционала не хватает.  В частности, речь об инжектировании контроллеров -Get.put/lazyPut/create/find - вот это все. Данная схема отлично работает в контексте навигации между страницами. Но не работает, например, в страницах PageView, или же при конструировании Get.bottomSheet. Ниже предлагается решение для этих случаев.

Читать далее

Инструкция: как написать собственный GitHub Action на Dart

Время на прочтение4 мин
Количество просмотров3.4K

Привет! Меня зовут Дмитрий Круцких, я Flutter-тимлид в компании Surf. Сегодня расскажу, как написать простейший GitHub Action, используя язык программирования Dart. 

Читать далее

Анонс эфира Flutter live-coding сессии

Время на прочтение1 мин
Количество просмотров1.3K

РЕГИСТРАЦИЯ

Представьте, пришёл заказчик и просит сделать приложение — язык в приложении должен быть всего один. Допустим, только английский. Приложение выходит на рынок, становится успешным, и заказчик радостно просит адаптировать апп под другой язык — скажем, китайский. Не, ну а что такого-то?

В этом месте разработчик испытывает мучительную боль и рвёт на себе волосы из-за своей непредусмотрительности.

Читать далее

Получаем реальное покрытие тестами для приложений на Flutter

Время на прочтение2 мин
Количество просмотров4.1K

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

Во Flutter есть несколько видов написания тестов. Они: Unit-тесты, Widget-тесты и Integration-тесты. Как порядочный разработчик, Flutter приложения вы будете писать вместе с тестами.

Читать далее

Тап в статус бар. Делаем простое сложно c помощью Flutter

Время на прочтение9 мин
Количество просмотров7.1K

В iOS есть такая фича - scrolls to top.

Посмотрим, может ли Flutter предоставить нам такую функциональность из коробки?

Читать далее