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

Dart *

Язык программирования, созданный Google

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

Ключи во Flutter

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров5.1K

Во Flutter очень много виджетов и в каждом есть свойство key — ключ.  Используется оно не так часто и, на первый взгляд, может показаться несущественным. Но если использовать его неправильно, настанет хаос, разведутся баги, а приложение начнет вести себя неподобающе. Приставать к людям, наверное, не станет, но явно усложнит жизнь. 

У ключей во Flutter есть несколько разновидностей. Выбрать правильный тип ключа для конкретной ситуации — сложная задача даже для опытных разработчиков. Так что идём смотреть, как правильно использовать ключи и избежать потенциальных проблем в работе приложения.

Читать дальше

Как стать Flutter-разработчиком с нуля? Бесплатная программа обучения

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров32K

Мои знакомые часто интересуются, стоит ли им входить в IT и на кого учиться. Обычно я отвечаю, что если человек визуал, есть смысл попробовать Flutter. Во-первых, это востребовано. Во-вторых, достаточно просто на начальном этапе. А в третьих, это классный инструмент для разработки кроссплатформенных приложений.

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

Читать далее

Как я повысил производительность flutter приложения с помощью FragmentShader. Часть 2

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров3K

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

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

Читать далее

OpenStreetMap в Flutter-проекте: что такое flutter_map, как его внедрить и чем дополнить

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров10K

Всем привет! Меня зовут Анна Ахлёстова, я Flutter-разработчик в Friflex. Ранее мы обсудили, как использовать инструменты yandex_mapkit в Flutter-проекте. В этой статье рассмотрим еще один плагин для работы с картографическими сервисами – flutter_map, изучим его возможности, преимущества перед аналогами и реализуем простой проект в качестве примера.

Если вы начнете искать удобный, адаптированный под Flutter картографический сервис, основными результатами поиска будут GoogleMaps API и Yandex Mapkit SDK.

Их популярность в целом оправдана – они предоставляют обширный список функций: начиная от простого отображения самой карты и объектов на ней и заканчивая функциями геокодирования и навигации. Помимо этого сами карты достаточно точны и детализированы, что немаловажно для конечного пользователя. 

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

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

Для Flutter-проектов есть еще одно решение – применять OpenStreetMap. 

Этот картографический сервис является абсолютно бесплатным для всех пользователей. Создатели заявляют, что все загруженные в него данные доступны каждому пользователю. Подробнее о политике и самом сервисе вы можете почитать здесь.

Читать далее

Новый линт в Dart 3.2

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.4K

Разбираем новый линт annotate_redeclares и новую конструкцию 'extension type', которая пока доступна в Dart 3.2 под экспериментальным флагом.

Читать далее

Как подключиться к Flutter приложению в режиме нативного debug на ОС Аврора

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров3.2K

Привет, Хабр! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex и автор ютуб-канала «Юрий Петров | Всё об IT». Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. А также мы делаем  свой вклад в развитие экосистемы Аврора + Flutter. В этой статье хочу рассказать про то, как можно подключиться к нативной части ОС Авроры для тестирования нативной части Flutter-приложения.

Читать далее

Больше классов богу классов

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

Совсем недавно команда разработки Dart выпустила 3-ю версию языка, которая привнесла много новых крутых штук и возможностей. Одним из нововведений стали модификаторы классов, которые довольно сильно расширили выразительные возможности Dart. С одной стороны, новые модификаторы ложатся в стройную картину и даже логичны; с другой - чувствуется некоторая многословность ( abstract interface class вместо общепринятого interface) и появление ряда ограничений, которых ранее не было. Новые модификаторы классов безусловно интересны и требуют внимания, но сегодня мы будем говорить не о них). Оставим уже вышедшие модификаторы для одной из следующих статей. Логично задаться вопросом: о чем тогда сейчас пойдет речь? Заинтригованы? Тогда добро пожаловать под кат.

Читать далее

Создаем клон Instagram при помощи Flutter и Feeds. Часть 1

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров7.6K

В этой статье мы расскажем как вы можете с легкостью создать клон Instagram* при помощи Stream Feeds и Flutter.

Подойдя к вопросу с «максимальным креативом», мы решили назвать наш клон Stream-agram. Вы также узнаете многое про основные принципы работы с Flutter, и как с его помощью вы сможете улучшить анимации, жесты, переходы, а также управление состоянием.

Читать далее

Как подружить Elementary и BLoC

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

У каждого инструмента свои границы применимости, сильные и слабые стороны. Использовать решение в подходящей ситуации, а также комбинировать различные решения — хороший способ достичь эффективной разработки. Например, наша команда Surf удачно использует Elementary в связке с BLoC или Redux для управления бизнес-состоянием. 

Меня зовут Кристина Зотьева, я Flutter-разработчик. В этой статье вместе с Михаилом Зотьевым покажем один из примеров эффективного взаимодействия двух инструментов, которые могут удачно дополнить друг друга.

Читать далее

Сохраняем код чистым в приложении на Flutter

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

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

Читать далее

Как портировать SDK Flutter на ТВ-приставку для разработки и запуска приложений Android TV

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

Недавно мы успешно портировали фреймворк Flutter на ТВ-приставку c открытой программной платформой RDK. В этой статье расскажем о трудностях, с которыми пришлось столкнуться, и предложим решения для успешного запуска и повышения производительности. 

Учитывая, что программный стек RDK или Reference Design Kit сейчас активно используется для разработки OTT-приложений, голосового управления и других продвинутых функций для «видео по запросу» (VoD), мы хотели разобраться, сможет ли Flutter работать на ТВ-приставке. Оказалось, что да, но, как это обычно бывает, есть нюансы.

Далее мы по шагам распишем процесс портирования и запуска Flutter на встраиваемых Linux-платформах и разберемся, как этот SDK с открытым исходным кодом от Google чувствует себя на «железе» с ограниченными ресурсами и ARM-процессорами.

Читать далее

Лексоранги — что это такое и как их использовать для эффективной сортировки списков

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


Читать дальше →

Dart. Всё, что надо знать про константы

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


Константы — это не просто странная версия final переменных, которая будет преследовать вас во сне со всеми связанными с ними ошибками. Compile-time константы – это хороший способ повысить производительность вашего приложения, не создавая один и тот же объект несколько раз, а так сказать, «предварительно создавая» объекты во время компиляции.


const или final?


Давайте, разберемся с этим вопросом, прежде чем перейти к более глубокому изучению констант. Со стороны может показаться, что не имеет значения, у вас ключевое слово const или final перед переменной. Эти переменные не могут быть изменены после их объявления.

Читать дальше →

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

В CodePen добавлена поддержка Flutter

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


Сегодня (15 апреля 2020) мы рады сообщить, что CodePen, основная среда разработки для миллионов frontend разработчиков и дизайнеров, добавила поддержку Flutter! Для веб-разработчиков CodePen уже давно является отличным местом для обмена экспериментами по дизайну, новыми подходами и идеями. Теперь с появлением Flutter CodePen предлагает аудитории новые возможности, чтобы учиться, делиться и продвигать свое творчество.


Что говорит Alex Vazquez (один из соучредителей CodePen):

Читать дальше →

Просмотр Flutter Live в офисе Wrike 4 декабря

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


Давайте посмотрим Flutter Live 4 декабря в питерскоим офисе Wrike вместе!
Мы организовали открытую встречу и ждем вас в гости в Wrike, чтобы за пиццей и напитками посмотреть трансляцию Flutter Live. На ивенте, который пройдет в Лондонском музее науки, команда разработчиков презентует последние новости и апдейты Flutter SDK (открытая платформа для нативной разработки iOS и Android приложений с единой кодовой базой). Попкорн уже в микроволновках;)
Читать дальше →

Frontend Dev Conf 2016: герои, события и сюрпризы конференции

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

Чуть переведя дыхание после прошедшего события, а именно 2 недели, мы готовы в красках рассказать, как же прошла традиционная конференция Frontend Dev Conf.


16 апреля в Минске состоялась международная конференция Frontend Dev Conf! Уже в четвертый раз нам удалось объединить под ее началом более 300 участников и сделать FDConf громким событием во frontend-тусовке.



Все про FDConf здесь

Flutter 3.35 — Что нового во Flutter?

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров4.8K

Добро пожаловать в ежеквартальный релиз Flutter 3.35! Это обновление призвано повысить вашу продуктивность и включает в себя стабильную версию горячей перезагрузки с сохранением состояния в веб-версии и экспериментальный запуск предпросмотра виджетов! Благодаря усилиям нашего сообщества, Flutter 3.35 включает в себя 1108 коммитов от 168 уникальных участников, 39 из которых присоединились к нам впервые. Давайте узнаем, что нового!

Читать далее

Кроссплатформенный опыт Surf с Flutter Web

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.1K

Вместе с Самиром, Flutter-разработчиком в Surf, мы разберём, что за зверь этот Flutter Web. Посмотрим, что происходит у него «под капотом», какие трудности возникают в проде, как адаптировать UX под веб и какие виджеты помогут сделать интерфейс удобным.

Читать дальше

Что такое Home-виджеты и как их подружить с вашим приложением на Flutter

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.4K

Привет! Меня зовут Айдар Мавлетбаев, я Flutter-разработчик в AGIMA. С Flutter я работаю уже несколько лет. Несмотря на все преимущества, он не всегда оптимально решает задачи, которые требуют глубокой нативной интеграции. Существуют инструменты, разработанные специально под нативные платформы, но недоступные напрямую из Dart. И как правило, в таких случаях на помощь приходит PlatformChannel

Но существуют и нативные инструменты, которые интегрируются с Flutter. Например, создавать виджеты на Android можно с помощью Glance или XML, а на iOS — с WidgetKit. Эти технологии позволяют внедрять так называемые Home Widgets — элементы, с которыми можно взаимодействовать напрямую с домашнего экрана. В этой статье разберу основные инструменты, расскажу, как их внедрять и использовать во Flutter-приложениях.

Читать далее

Полный гайд по тестированию на Flutter. Часть 4: продвинутое модульное тестирование

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.4K

Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства продуктовой разработки Amiga. Это серия статей переводов о тестировании в Flutter, предыдущие выпуски вы найдете на моей страничке. Сегодня перевод посвящен продвинутому модульному тестированию. Всем приятного чтения!

Читать далее