Как стать автором
Обновить
26.44

Flutter *

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

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

RxDart для самых маленьких… проектов

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


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


Ниже буквально в 50 строк я на известном примере покажу, что реактивность


а) это не про оффлайн/онлайн
б) это очень просто
в) очень хороша для упрощения практически любого кода

Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии30

Как я делал desktop-приложение на Flutter (+ bonus)

Время на прочтение9 мин
Количество просмотров28K
Недавно попалась на глаза новость, что вышел очередной релиз Flutter (1.9), который обещает разные вкусности и, в том числе, раннюю поддержку веб-приложений.

На работе я занимаюсь разработкой мобильных приложений на React Native, но с любопытством поглядываю на Flutter. Для тех, кто не в курсе: на Flutter уже сейчас можно создавать приложения для Android и iOS, готовится к релизу поддержка веб-приложений, а ещё в планах поддержка десктопа.

Такое вот «одно кольцо, чтобы править всеми».

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

Под катом — рассказ о том как я решал привычные для React Native программиста задачи средствами Flutter, плюс общее впечатление от технологии.


Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии21

Первый Flutter meetup в Петербурге: видеозаписи докладов

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


26 сентября в питерском офисе Wrike прошел Flutter meetup. В преддверии второй русскоязычной конференции по Dart и Flutter – DartUP 2019 – мы собрались обсудить лучшие практики по разработке архитектуры приложений на флаттере и нюансы по работе с графикой и анимацией. За два года сообщество разработчиков на дарт и флаттер выросло до 2000+ человек, поэтому найти интересные темы и доклады оказалось не сложно.

Для тех, кто не смог прийти, мы публикуем видеозаписи.
Смотреть
Всего голосов 17: ↑16 и ↓1+15
Комментарии1

Тестирование Flutter-приложений. Начало

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

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


Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии4

Истории

Использование примесей во Flutter приложениях

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


Я работаю в компании, занимающейся разработкой игр, но как домашнее хобби мне последнее время стала интересна разработка мобильных приложений. Поэтому, когда друг пригласил меня съездить на митап, посвященный разработке мобильных приложений с помощью фреймворка Flutter, я с удовольствием согласился. Попробовав там Flutter в действии, я решил обязательно изучить эту технологию. Поскольку Dart, необходимый для разработки, мне был незнаком, изучение языка также включилось в обязательную программу. Немного посидев над примерами кода, я нашел Dart простым в понимании и лаконичным языком, что мне очень понравилось. Одной из особенностей Dart, которая мне приглянулась, являются примеси.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии5

Первый митап по Flutter в Петербурге – 26 сентября

Время на прочтение1 мин
Количество просмотров2.5K
Мы в Wrike очень любим Dart и Flutter. На связке Dart+Angular пишем фронтенд основного продукта, SPA Wrike, а флаттер просто бескорыстно поддерживаем и создаем на нем внутренние тулы. Два года назад мы придумали русскоязычное сообщество дарт и флаттер разработчиков (сейчас в нем более 2000 человек), ежегодно проводим в Питере DartUP — большую конференцию по этим технологиям, выступаем с докладами, а 26 сентября решили организовать ламповый неформальный митап в Петербурге. Что на нем будет? Выступления ребят из сообщества, обмен знаниями, общение и, конечно, крафтовое Wrike Dart пиво, сваренное нами по этому случаю.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии0

Как я делал трекер парковки для людей

Время на прочтение6 мин
Количество просмотров12K
Недавно меня опять заклампили. Я живу в Европе, и здесь вместо штрафов за неправильную парковку и эвакуаторов “клампят” — заковывают колесо твоего автомобиля в цепи. Чтобы выбраться, нужно звонить по телефону, платить круглую сумму и ждать мужика с ключами, который снимет цепь. Это долго, унизительно и порой (зависит от района) грабительски дорого.

В тот день я опоздал везде. Ожидая звенящего ключами работника, я размышлял, насколько глупо попался. Забегался, оставил машину на полчаса вместо максимальных бесплатных 20 минут — ровно на 21-й минуте и попался. Не повезло, полосатый фургончик парковщиков стоял недалеко, и они моментально среагировали. Ловили меня и до этого, по разным причинам: забывал, истекал оплаченный срок, а иногда и просто не мог найти свою машину в лабиринте улиц.

“Для всего должно быть приложение” — подумал я и начал копаться в апп сторе. После вороха сомнительных результатов у меня поубавилось уверенности, и я решил уточнить: “для всего должно быть приложение на андроид”. После чего нашел свой хуавей и полез в недра плей стора. Оттуда на меня высыпалось еще больше мусора, и я, утопая в корявых поделках, плюнул. Либо я ищу как-то не так, либо не существует удобного и понятного трекера парковки. Вывод простой: если у нас чего-то нет, давайте сделаем это сами.

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

image
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии34

Getters и Setters в Dart и Flutter

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

Getters и Setters в Dart и Flutter.


Как и во многих других языках getters\setters это методы которые дают доступ на чтение\запись свойств объекта.


В статье рассмотрим простые примеры и запустим их на выполнение в dartpad.


Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии6

Flutter в примерах. Deep Links в приложениях на Flutter

Время на прочтение9 мин
Количество просмотров23K
Новый мультиплатформенный фреймворк от Google – Flutter – уверенно набирает поклонников. Все больше людей интересуются этой технологией и пробуют ее как в pet-, так и в коммерческих проектах. Все больше статей и примеров появляется в рунете, но какое-то время назад я обратил внимание, что, в отличие от Medium, на Хабре в основном преобладают обзорные статьи, посвященные технологии в целом и ее преимуществам или новинкам представленным в последней версии. Текстов, посвященных конкретным кейсам, достаточно мало. Поэтому я решил, что нужно исправлять сложившуюся ситуацию. Начну не с самого распространенного кейса, но достаточно часто используемого – Deep Links.
image
Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Комментарии3

Деплоим ML проект, используя Flask как REST API, и делаем доступным через приложение на Flutter

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


Введение


Машинное обучение уже везде и, пожалуй, почти невозможно найти софт, не использующий его прямо или косвенно. Давайте создадим небольшое приложение, способное загружать изображения на сервер для последующего распознавания с помощью ML. А после сделаем их доступными через мобильное приложение с текстовым поиском по содержимому.


Мы будем использовать Flask для нашего REST API, Flutter для мобильного приложения и Keras для машинного обучения. В качестве базы данных для хранения информации о содержимом изображений используем MongoDB, а для получения информации возьмём уже натренированную модель ResNet50. При необходимости мы сможем заменить модель, используя методы save_model() и load_model(), доступные в Keras. Последний потребует около 100 Мб при первоначальной загрузке модели. Почитать о других доступных моделях можно в документации.

Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии5

Flutter, руководство для начинающих

Время на прочтение15 мин
Количество просмотров32K
На дворе середина 2019 года, кроссплатформа плотно вошла в жизнь стартапов по всему миру, но все чаще в ее сторону смотрят и команды аутсорс-разработки, и клиенты, которые делают ставку на снижение затрат. Кто-то делает ставку на React Native, кто-то исследует возможности Kotlin Multiplatform, а новый гость подкаста AppsCast Евгений Сатуров saturovv последние полгода активно разрабатывает на Flutter, следит за обновлениями фреймворка и продвигает технологию в массы. Максимум полезных ссылок и советов для начинающего Flutter-разработчика: от гайдлайнов до репозиторием с примерами реализации архитектуры — в разговоре с Евгением.



AppsCast — подкаст, посвященный мобильной разработке и выходящий при поддержке конференции AppsConf. Каждые две недели новый гость, с которым мы с Даниилом Поповым (int02h) обсуждаем технологии, лучшие практики, жизнь разработчиков, а так же холиварим и делимся опытом.
Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии9

Flutter 1.7 — что нового в релизе от 10 июля 2019 года

Время на прочтение2 мин
Количество просмотров5.9K
Не так давно был релиз Flutter на Google I/O, но, команда Flutter опять выкатила новую версию с интересными новинками, которыми я не мог не поделиться.


Бесплатное фото подложки отсюда
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии0

Нативная разработка, React Native и Flutter: критерии выбора

Время на прочтение8 мин
Количество просмотров34K
Уже на стадии проектирования мобильного приложения важно понимать, какой язык выгоднее использовать для конкретного проекта. Наряду с нативной разработкой (например, для iOS — Swift или Objective-C, для Android – Java или Kotlin), используются кроссплатформенные фреймворки, такие как React Native и Flutter. Мы в SimbirSoft предлагаем несколько критериев, которые помогут в выборе как бизнесу, так и мобильному разработчику.

Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии26

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн

Функциональный подход обработки ошибок в Dart

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

При переходе на новую технологию, мы лишаемся привычных инструментов для разработки. В каких-то случая мы вынуждены смириться с их отсутствием из-за каких-то технических ограничений, но при возможности переносим инструменты с собой. Разрабатывая android приложения, за основу я брал пример чистой архитектуры предложенной Fernando Cejas. Разбираясь с используемыми во Flutter шаблонами проектирования, я решил отказаться от этой архитектуры в пользу BLoC. К данному шаблону я быстро привык, он очень похож на MVVM, с которым работал ранее, но с одной деталью я никак не хотел мириться. При вызове методов репозитория я должен был ловить исключения, кастить их к какому-то типу и в соответсвии с типом, создавать необходимое состояние. На мой взгляд, это очень захламляет блок и я портировал тип Either используемый ранее в android проектах, основанных на Fernando.

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии4

Как я пытался починить поиск по картам для водителей. Часть 3 (финал)

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



Собственно, к версии приложения 3.0 наконец получилось реализовать все основные функции, которые хотелось. После прошлой статьи из этой серии его скачало некоторое количество людей, и даже написали отзывы — спасибо, ко всем прислушался. Работал над новой версией месяца два интенсивно, все мелкие изменения не перечислить — по сути это на 80% новое приложение. С кардинально улучшенным интерфейсом, раза в 2 быстрее и значительно стабильнее. Опять же, приглашаю сочувствующих оценить и поругать. А под катом снова технические моменты.

Вот тут ссылки на айфон и андроид
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии12

[Екатеринбург, анонс] Флаттертон — воркшоп про разработку на Flutter

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

image


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


Чтобы не отставать от мировых трендов, контуровцы под присмотром Google Developers Group проводят воркшоп по написанию интерфейсов на Flutter. Изучим основные фишки платформы, познакомимся с языком Dart, научимся реализовывать фантастическую анимацию и создадим собственные приложения.

Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии2

Flutter: прокачиваем AppBar & SliverAppBar

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

Во Flutter для создания панели инструментов используется хорошо всем известный AppBar, ну а когда нам нужна динамическая панель инструментов, которая покажет контент при свайпе, мы используем отличный виджет SliverAppBar.


Оба виджета позволяют сделать приложение чуточку красивее, что во Flutter, без сомнений, весьма просто.


Я видел много вопросов на StackOverflow и в группах Facebook о том, как можно изменить AppBar и SliverAppBar с точки зрения поведения или дизайна.


Давайте рассмотрим две задачи.

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии1

Собираем Flutter приложение для десктопа

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

Всем привет!


Сегодня я покажу вам, как же запустить ваше существующие Flutter приложение на десктопе (MacOS, Linux или Windows).

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии7

Главный секрет Google I/O 2019, о котором не узнать из интернета

Время на прочтение11 мин
Количество просмотров15K
Титульная конференция крупнейшего гиганта рекламного бизнеса отгремела уже как неделю, а некоторые до сих пор пишут статьи. Так как всё, что можно было написать про программу и главные новинки, уже написано (привет phillennium), то что остаётся скромному посетителю? Только рассказать всё, что скрыто, обнажить тёмные уголки и понять, что вообще происходит в солнечной Калифорнии эти три дня в году.

Так получилось, что я был на предыдущей конференции и даже написал статью про это. Поэтому, с одной стороны, задача усложняется, ведь никто не хочет читать одно и то же два раза, а с другой, она усложняется ещё больше. Не хотелось бы превращать текст в отчёт в духе: «прирост посетителей: +20%, надои упали на 3%, настроение личного состава хорошее», поэтому давайте условимся: перед вами будет художественное описание личного опыта и немного объективной информации.

Внимание, это не детальный разбор программы, а своего рода виртуальный тур по конференции. Никто же не любит обманутых ожиданий, правда? Все доклады есть на YouTube


Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии5

Реализовываем CircularRevealAnimation на Flutter и попутно публикуем библиотеку на pub.dev

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

В Android есть очень интересная возможность анимации View, которая называется CircularRevealAnimation — дословно "круговое раскрытие". Flutter, в свою очередь, хотя и обладает богатыми возможностями для анимирования виджетов, не предоставляет такую анимацию из коробки.



В этой статье будет показано как реализовать такую анимацию средствами Flutter и опубликовать библиотеку на pub.dev для удобного доступа и распространения.

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии1