Pull to refresh

Flutter.io закопать или сжечь?

Reading time2 min
Views12K


У нас был GitHub, DockerHub, VisualParadigm и целое множество мессенджеров всех цветов и фасонов, а также Sails.js, MongoDB и Trello. Не то чтобы это был необходимый запас для разработки, но если начал делать модно, стильно, молодёжно, то становится трудно остановиться. Единственное, что вызывало у меня опасение — это мобильное приложение. Нет ничего более беспомощного, безответственного и порочного, чем кроссплатформенное мобильное приложение. Я знал, что рано или поздно мы перейдем и на эту дрянь.

Мы занимаемся автоматизацией (если не сказать страшного, “уберизацией”), рынка ритуальных услуг с 2016 года.


В августе 2016 года, впервые в России, а может и в мире, заказ на ритуальные услуги был оформлен в электронном виде. И за 2 года мы прошли путь по внедрению в этот непростой бизнес самых передовых технологий, которые успешно используются в других отраслях: интернет-эквайринг, он-лайн кассы, создание карт с помощью съёмки с квадракоптеров, он-лайн бронирование, смс-оповещения клиентов и т.п.


Фактически, мы создали ERP B2B систему для ритуального бизнеса, который объединяет ритуальных агентов, поставщиков товаров, подрядчиков по оказанию услуг на кладбище и в крематории, менеджеров, бухгалтеров, с возможностью отслеживания исполнения заказа в реальном времени.


Основной стек технологий — это Sails.js + MongoDB + Webix, а также маленько PostgreSQL, всё это упаковано в десяток докер-контейнеров и обеспечивает работу восьми ролей пользователей 24х7. Ну и Amazon Cloudfront для доставки тайлов карт и картинок, и Amazon SNS для оповещений. Вообщем, настоящий стартап.


Одна из ролей в нашей системе — это роль мобильного агента. С самого начала мы создавали для неё веб-интерфейс, адаптированный для смартфонов. Но как ни крути, никакой веб-интерфейс не сравнится с нейтивом по удобству и отзывчивости. Были постоянные баги: то что-то непрогрузилось, на iPhone 5S что-то не влезает, то на андроиде вылезает. При том, что задачи, на первый взгляд, достаточно простые: заполнить несколько форм и выбрать товары/услуги и отправить заказ.


Итак, что мы хотели:


  • мобильное приложение
  • кроссплатформенное (у нас ровно ⅓ яблочных клиентов), и мы не хотели тратить ресурсы на две независимые разработки под Android / iOS

Естественно, вначале стали смотреть различные обёртки к веб-морде: PhoneGap/Cordova/Ionic. (подробнее о них тут). Но WebView — это WebView, медленно и печально.


Xamarin? Но перелезать на .Net & C# совсем не было желания. Да и по слухам, с UI не всё гладко на разных платформах.


Что же остаётся? Flutter.io!


  • пишешь на Dart (какое удовольствие после JS) — компилишь в нейтивный код
  • hot reload — пишешь и сразу видишь результат
  • интеграция с Google Firebase из коробки
  • куча пакетов на pub
  • плагины для основных IDE и текстовых редакторов
  • при желании, можно делать вставки на нейтивном коде для платформ
  • в нашем случае — действительно один код для всех платформ! (только иконки отличаются)

На первом этапе мы решили запустить приложения вообще без изменения API на стороне сервера, и наше приложение — повторяет по функционалу всё то, что можно сделать и в веб-интерфейсе, но быстрее и проще для пользователя. При этом вся информация зеркально отображается и в веб-интерфейсе и в мобильном приложении.



было-стало



было-стало


В планах:


  • работа в офлайне в т.ч. с картами
  • расчеты и оплаты с агентами в самом приложении
  • живой чат с менеджерами и колл-центром

Итого: Flutter’у жить и на кладбище и в крематории!

Tags:
Hubs:
Total votes 24: ↑16 and ↓8+8
Comments24

Articles