LINUX.ORG.RU

Flutter 2

 , , ,


1

1

Не так давно анонсировали новый мажорный релиз кроссплатформенного фреймворка Flutter.

Flutter – это UI-фреймворк для создания приложений на языке dart.

Изначально Flutter поддерживал только мобильные платформы (iOS/Android), но начиная с Flutter 2 появляется поддержка Web и Desktop (macOS, Windows, Linux) в стабильной ветке. Как указывают сами разработчики, поддержка Desktop всё ещё в статусе «early release».

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

Другие важные изменения:

  • Поддержка Null Safety, включённая по умолчанию. Для совместимости со старым кодом, Null Safety можно отключить.

  • Dart FFI – поддержка прямой интеграции Dart и C библиотек

  • Реализация Google Ads на Flutter перешла в статус Beta

  • Улучшения виджетов для ввода текста на платформах Desktop и iOS, в том числе поведение выделение текста, приближенное к родному.

  • Значительное уменьшение использования памяти для Flutter внутри нативных приложений iOS/Android.

  • Flutter Fix. Инструмент для автоматического поиска и миграции старого кода, такого как использование deprecated API.

  • Новый тулинг Flutter DevTools для упрощения дебага и оптимизации Flutter-приложений.

Flutter Engage Russia

13 марта в 12:00 (MSK) состоится online-конференция, посвящённая Flutter 2 на русском языке.

  • «Flutter for Web. Из мобилки в веб» Александр Денисов (EPAM Systems, Flutter и Dart GDE)

  • «Переходим на Null Safety» Евгений Сатуров (Surf, основатель Flutter Dev Podcast)

  • «Монетизация Flutter приложений», Кирилл Адещенко (Tennesi.bet)

Подробности в Telegram-канале Flutter Russia.

Конференция пройдёт на youtube-канале GDG

>>> Официальный пост о Flutter 2 на medium

★★★★★

Проверено: a1batross ()

Ответ на: комментарий от mono

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

vertexua ★★★★★ ()
Последнее исправление: vertexua (всего исправлений: 1)

Реализация Google Ads на Flutter перешла в статус Beta

Самое важное в релизе ) Fuchsia когда-нибудь вообще родится?

One ★★★★★ ()
Ответ на: комментарий от One

Какая связь между интеграцией рекламы в один фреймфорк и другим фреймворком?

vvn_black ★★★★★ ()
Ответ на: комментарий от vertexua

были банально графические артефакты с текстурами порваными пополам прямо на окне

Звучит прямо как новая игрушка разработчиков KDE - Kirigami.

aquadon ★★★★★ ()
Ответ на: комментарий от vertexua

Они довольно быстро развиваются. Ещё прошлым летом Flutter Web работал довольно косячно с артефактами и детскими проблемами, а сейчас вполне приличный продукт.

Я сам ещё не смотрел что там у них не десктопе получается.

mono ★★★★★ ()

Флютер - не жилец. Я своей инженерной жо.... смекалкой чую!
Это совсем не то, что нужно как «универсальный фрэймворк».

Строго говоря, ХВАТИТ ДЕЛАТЬ БИНАРИ ОДНИ НА ВСЁ! Это не работает, это бред, это «одна ложка на всё».

Основа кроссплатформенности - СТАНДАРТЫ. Вот есть тот же JSON - ты его хоть на ПК делай, хоть в смарте, хоть в домофоне, это всё равно JSON! ВОТ ЭТО называется «кроссплатформенность».

Соответственно, для «одного гуя на всех» нужен не 100-мегабайтный шмот дерьма, где накомпилячено подо все платформы, а просто... документ! Стандарт, закрепляющий БАЗОВЫЕ КОМПОНЕНТЫ и их минимальное поведение.
Разумеется, стандарт нужен отдельно на «большие экраны», отдельно на маленькие писюльки типа смартов. Ввод рукой/мышой суть тоже различны.

Программерская индустрия уже выработала более-менее устойчивый набор контролов, который неплохо бы иметь везде - поэтому между Win/Lin/Mac проблем не будет вообще. И отдельно - стандарт «пальцетычных виджетов», которые показывают на 4"...6" экранчиках. Тогда и наступит мир!

matumba ★★★★★ ()

А я вот на днях «десктопное» приложение Google Keep обновил. И оказалось, что теперь оно не умеет работать оффлайн. Доверяйте гуглу дальше!

Im_not_a_robot ★★★★★ ()
Ответ на: комментарий от matumba

Одни сферы описуемы, другие невозможно описать даже в стандарте на 1000 страниц. JSON - первое. GUI - второе. Лучший стандарт что имеем по второму с намеком на кроссплатформенность - HTML5/CSS. Ну как, простой и элегантный стандарт?

Программерская индустрия уже выработала более-менее устойчивый набор контролов

Вообще не выработала. UI дизайнеры потом сделают мокап с поподвывертом и анимацией с афинной трансформацие и распускающимися лепестками роз и весь стандарт пойдет гулять. Или прийдется опять писать талмуд вроде SVG+CSS3. Хотя уже есть SVG+CSS3

vertexua ★★★★★ ()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от matumba

Так чем это отличается от флаттера?

Есть единый стандарт «на бумаге» – https://material.io/design

Есть его реализация под все платформы – Flutter.

Flutter не пытается быть эдаким Qt, который кроме UI умеет ещё кучу всего.

mono ★★★★★ ()
Ответ на: комментарий от matumba

Флютер - не жилец. Я своей инженерной жо…. смекалкой чую!

мужики, расходимся. матумба так сказал. это вам не какой-то гугель, это… маатууумба! :)

ergo ()

Собрал hello_world, на диске файлы заняли 50МБайт, при запуске создает 24 потока и занимает 140МБайт ОЗУ. Но это все еще в разы экономичнее hello_world на Electron.

No ()
Ответ на: комментарий от mono

Опен-сорц уже не работает для форков. Все что форкается, потом дохнет. Кроме случаев когда туда ушла основная команда. Обычно core team все пишет и иногда принимает патчи. Если будет другая команда - им лучше написать то же самое с нуля в рамках вкусовщины

Софта больше чем говна. Думаю уже умерла эпоха когда все такие в дружном хороводе «Смотрите, я пишу экспериментальное ядро, присоеденятесь». И все ура, возрадуемся, мы бесплатно, помогая друг другу движемся в светлое будущее.

Больше «Почему в поем громадном open-source DE на миллион строк заела кнопка? А ну признавайтесь, твари! Если вы мне не пофиксите это бесплатно прямо сейчас, я буду источать кал во все стороны. Вы там вообще, мрази, берега попутали. Я ваш софт юзаю и требую качественную работу. Я вам тут инонку простил, сколько вы будете мое терпение проверять?»

vertexua ★★★★★ ()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от No

Ты точно в релиз-моде собрал?

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

mono ★★★★★ ()
Ответ на: комментарий от No

Собрал hello_world, на диске файлы заняли 50МБайт,

  • 3.3M - web-приложение из стандартного flutter create.

  • 54M - оно же, десктопное, из них 50М - libflutter_linux_gtk.so.

vvn_black ★★★★★ ()
Последнее исправление: vvn_black (всего исправлений: 2)
Ответ на: комментарий от mono

Ты точно в релиз-моде собрал?

Запускал из build/linux/release/bundle, debug-версия занимает 140 МБайт на диске и 220 в ОЗУ

No ()

Моё первое дилетанское впечатление годовой давности: слишком замудрёно сделаны statefull компоненты (по сравнению с тем же реактом).

Можно было сделать эту штуку элегантней

Fizzika ()

У Electron-блоатвари появился конкурент!

Skullnet ★★★ ()
Ответ на: комментарий от matumba

Основа кроссплатформенности - СТАНДАРТЫ. Вот есть тот же JSON - ты его хоть на ПК делай, хоть в смарте, хоть в домофоне, это всё равно JSON! ВОТ ЭТО называется «кроссплатформенность».

Ужосона стандарта нет!)

pihter ★★★★★ ()
Ответ на: комментарий от matumba

ВОТ ЭТО называется «кроссплатформенность».

Не, это - ПЛАТФОРМОСУВЕРЕННОСТЬ

BOSS-NIGGER ()
Ответ на: комментарий от vvn_black

54M - оно же, десктопное, из них 50М - libflutter_linux_gtk.so

strip -s уменьшает libflutter_linux_gtk.so до 13МБайт, приложение после этого продолжает запускаться.

No ()
Ответ на: комментарий от No

Вообще не понимаю почему все компиляторы не делают strip по дефолту. Все равно практически все дистры потом это делают. Можно было бы добавить опцию наоборот nostrip, как раз потому что это редко нужно

vertexua ★★★★★ ()
Ответ на: комментарий от No

Не очень понятно для чего нужен целый GTK

Где-то видел, что только для OpenGL.

vvn_black ★★★★★ ()

Реализация Google Ads на Flutter перешла в статус Beta

Flutter – выбор для будущих приложений Ubuntu по умолчанию.

В каком релизе Убунты ждать рекламного блока в эмуляторе терминала?

snizovtsev ★★★★ ()
Ответ на: комментарий от TooPar

ага, и 100500 успешных программистов с онлаен-курсов лососнут тунца

darkenshvein ★★★★★ ()

Теперь уродский материалдесижн и на десктопе.

FedyaPryanichkov ★★ ()
Ответ на: комментарий от snizovtsev

В каком релизе Убунты ждать рекламного блока в эмуляторе терминала?

Уже есть.

vvn_black ★★★★★ ()
Ответ на: комментарий от vertexua

Я б не сказал, что умерла, но видоизменилась, благодаря гитхабу. Форк перестал быть чем-то сильно болезненным.

Если автор какой-нибудь библиотеки бросил её, то ты делаешь форк одной кнопкой, и тебя найдут и поставят звёздочку.

Если гугл бросит флаттер, но найдётся кто-нибудь, кто станет поддерживать.

mono ★★★★★ ()
Ответ на: комментарий от mono

Яндекс-драйв недавно админку на флаттере выкатили

Можно увидеть, почему в web его используют неохотно - проблемы «неплавного» скроллинга.

Тоже самое было и на десктопе. Но, постепенно становится лучше.

vvn_black ★★★★★ ()
Последнее исправление: vvn_black (всего исправлений: 2)

К сожалению из текста новости непонятно главное: Flutter нужно ненавидеть за то, что он жирный (и тормозит) или за то, что ничего не умеет (и всё равно тормозит)?

ugoday ★★★★★ ()
Ответ на: комментарий от mono

Мне показалось, или оно тормозное? 60 МБ памяти кушает страничка яндекса и скроллинг тормозит.

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

int13h ★★★★★ ()
Ответ на: комментарий от ugoday

Flutter нужно ненавидеть за то

Что снижает порог вхождения в мобильную разработку. Попутно, претендуя на web и desktop.

vvn_black ★★★★★ ()
Ответ на: комментарий от int13h

Мне показалось, или оно тормозное? 60 МБ памяти кушает страничка яндекса и скроллинг тормозит.

Web тормозной, но над этим работают.

iOS/Android очень хорошо работает, чуть медленнее, чем нейтив.

mono ★★★★★ ()
Ответ на: комментарий от vvn_black

Что снижает порог вхождения в мобильную разработку

Совсем без знания нейтива на флаттере не получится писать.

Ускоряет разработку – да, снижает порог вхождения – не особо.

mono ★★★★★ ()
Ответ на: комментарий от mimico

Почему все контроля подчёркнуто «ios style»? Если не включать замедление анимации, то по скорости ещё норм. Скорее всего и базовая не самая быстрая включена. Надеюсь.

grem ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.