- PVSM.RU - https://www.pvsm.ru -
Буквально накануне (UPD пока я писал статью, прошло двое суток 0_0), 4 декабря в Лондоне прошла конференция FlutterLive [1], посвящённая в основном мобильному фреймворку Flutter [2], но не ограничиваясь им. Какие новости нам рассказали, и что теперь является основным вектором развития для команды Google, включая некоторые размышления на этот счёт, вы можете прочесть ниже.
Так как мы в Wrike [3] сейчас одни из самых больших потребителей Dart (но, как показала конференция DartUP [4] далеко не единственные), то мы постарались сделать для вас детальный разбор, что этот анонс значит для всего IT мира.
Спойлер для затравки: скоро всё будет Flutter
TLDR;
— Если вы не знаете, что такое Flutter [2], Dart [5], то можно спросить об этом в чате русскоязычного сообщества [6]
— Все доклады можно найти в YouTube [7]
— Скоро мы увидим «идеального клиента» под всё
Версия 1.0 доступна для скачивания, и теперь можно без опаски катить ваши приложения в прод, не опасаясь, что они сломаются. Конечно, и до релиза breaking changes было не очень много, но тем не менее: цифра «1» в начале версии всё-таки даёт больше уверенности в завтрашнем дне. Конечно, релиз был достаточно ожидаем, ведь в последнее время коммиты в dev ветку летели как бешеные, но всё равно приятно. Что же было добавлено в основную версию, помимо стабильности?
Немного статистики про Flutter:
— 200+ миллионов пользователей Flutter приложений
— 250 тысяч разработчиков (с момента беты)
— 3000 приложений в Play Store
— 34-й по популярности в GitHub
На самом деле практически всё! Ну если и нет, то очень многое. Чтобы продемонстрировать полные возможности фреймворка, на конференции было показано приложение «History of Everything» (PlayStore [13], AppStore [14]).
По заявлению ребят, этот проект делали 3 человека part time 3 месяца. Учитывая обилие анимаций – выглядит очень круто. Конечно, скептики могут заметить, что хорошо показывать такие вещи на топовом телефоне, а что насчёт владельцев не самых мощных девайсов? Что ж, на конференции показали, что даже на iPhone 2013 года приложение запускается и вполне успешно работает. Надеемся, что исходный код этого приложения будет открыт, и мы увидим, как оно сделано.
Изначально Flutter задумывался как кроссплатформенный фреймворк, но платформы эти были, конечно, мобильные. Но, как оказывается, этим всё не ограничится.
Помимо экзотики, вроде RaspBerry Pi [22] фреймворк замахивается на мировое господство:
Да, Flutter уже запустили [23] на операционных системах! Конечно, пока это только прототипы, но выглядит так, что встраивание в Windows, MacOS, и Linux не за горами. А это даст отличный буст dev experience, ведь зачем ждать, пока запустится долгий эмулятор, если можно просто запустить программу на десктопе. Ну и конечно, сразу напрашиваются параллели с Electron [24]. Пока сравнивать рано, но чисто умозрительно что мы имеем:
Что будет в итоге – посмотрим.
Самая большая неожиданность этой конференции — это проект по запуску Flutter в Web.
Что это за зверь и с чем его едят? Как следует из этой статьи [25] команда решила взять все достоинства Dart как языка для Web разаботки: эффективную компиляцию в JS, и, конечно интероп с ним же, для переиспользования огромного количества библиотек. Однако не всё так гладко: если бизнес-логику построения виджетов переиспользовать для Web не так уж сложно, то вот с отрисовкой могут возникнуть проблемы:
Демо-приложение на Hummingbird
Сейчас команда экспериментирует с двумя путями:
Лично мне кажется более перспективным второй путь, но, конечно, по совместимости с браузерами он самый ненадёжный. Впрочем, на волне новостей о том, что от нас уходит IE — может не такой уж и плохой. Подробнее о проблемах можно прочитать в статье, а команда закоммитилась на то, что на грядущем Google IO мы услышим больше новостей.
И теперь немного размышлений на тему. В целом, для чего нужен Flutter? Вернее не так: почему он вызывает столько споров в среде мобильных разработчиков? Ну во-первых, как и в любой профессиональной среде, люди плохо принимают всё новое, независимо от того, что это. А во-вторых, основные опасения примерно такие:
Ну, давайте по-порядку. Насчёт непостоянства больших гигантов IT. Да, всё так. Но есть одна вещь — Flutter полностью open-source, весь код лежит на GitHub, и под открытой лицензией. Так что даже если Google решит закрыть его, то сообщество всегда может продолжить разработку.
Забавный факт: главный менеджер языка Dart и всего Flutter Tim Sneath до этого был главным по… Silverlight. Вот замечательный пост о релизе [27]. Рекомендую всем почитать, вспомнить былые годы.
По-поводу того, а нафига это нативным разработчикам? Если вы Senior Vice President iOS Architect — то не нужен. Ну серъёзно, вы быстрее и качественнее сможете написать приложение нативно. Но только одно. И под одну платформу. А что если мне как бизнесу не нужны супер-мега фичи? Мне нужно сделать всё быстро, относительно надёжно, и дёшево. И вот тут, почему бы не задуматься о Flutter?
К примеру, я совсем не мобильный разработчик, а вообще, стыдно признаться, фронтендер. И без особых знаний написал приложение для двух платформ и выпустил его в Store. И заработал денег (к сожалению, нет). Так вот, по ощущениям, в мире большинство запросов на мобильные приложения именно такие — несложные, но с конкурентным преимуществом в виде скорости разработки.
Ну и в конце концов, почему бы не относиться к Flutter как к инструменту для быстрого UI прототипирования?
Flutter уже неумолимо набирает обороты. Как к нему относиться — дело каждого. Однако сейчас, в век клиентоориентированных сервисов, уметь быстро создавать клиентские приложения – это залог успешного бизнеса. Об этом говорит хайп вокруг JavaScript как платформы. Однако у JS есть один большой недостаток — язык есть, а платформы нет. Слишком большой плюрализм клиентских решений становится сложной и большой махиной, которая требует очень широкой эрудиции. Тут и WebPack настрой и ReactNative запусти, а уж про обилие Web фреймворков давно ходят шутки.
Если бы в мире появился способ без особых трудов создать приложения под все платформы, при этом максимально переиспользуя код между всеми устройствами — это был бы победитель. И похоже у нас есть претендент.
Автор: bunopus
Источник [28]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/dart/301478
Ссылки в тексте:
[1] FlutterLive: https://developers.google.com/events/flutter-live/
[2] Flutter: https://flutter.io/
[3] Wrike: http://wrike.com
[4] DartUP: https://dartup.ru/
[5] Dart: https://www.dartlang.org/
[6] русскоязычного сообщества: https://t.me/rudart
[7] в YouTube: https://www.youtube.com/playlist?list=PLOU2XLYxmsILq4ysYNWXq5TOGLgYDJgVD
[8] этот репозиторий: https://github.com/xster/flutter-test/tree/master/t95_ios_settings_page
[9] тут: https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps
[10] webview_flutter: https://github.com/flutter/plugins/tree/master/packages/webview_flutter
[11] google_maps_flutter: https://github.com/flutter/plugins/tree/master/packages/google_maps_flutter
[12] отсюда: https://flutter.io/docs/development/accessibility-and-localization/internationalization
[13] PlayStore: https://play.google.com/store/apps/details?id=com.twodimensions.timeline
[14] AppStore: https://itunes.apple.com/ru/app/the-history-of-everything/id1441257460?l=en&mt=8
[15] 2Dimensions: https://www.2dimensions.com/
[16] Flare: https://medium.com/2dimensions/flare-launch-d524067d34d8
[17] отлично работает: https://docs.2dimensions.com/support/nima/export/export-to-flutter
[18] Nevercode: https://nevercode.io/
[19] Codemagic(Beta): https://codemagic.io/
[20] Square: https://squareup.com/
[21] SDK: https://squareup.com/flutter
[22] RaspBerry Pi: https://medium.com/flutter-io/flutter-on-raspberry-pi-mostly-from-scratch-2824c5e7dcb1
[23] запустили: https://github.com/google/flutter-desktop-embedding
[24] Electron: https://electronjs.org/
[25] этой статьи: https://medium.com/flutter-io/hummingbird-building-flutter-for-the-web-e687c2a023a8
[26] CSS Paint API: https://developers.google.com/web/updates/2018/01/paintapi
[27] пост о релизе: https://blogs.msdn.microsoft.com/tims/2007/04/16/introducing-microsoft-silverlight/
[28] Источник: https://habr.com/post/432206/?utm_campaign=432206
Нажмите здесь для печати.