Комментарии 81
1. Вопрос привычки. Со временем приспосабливаешься.
2. Нужно стараться сохранять виджеты небольшими.
Но:
3. Для разметки HTML или JSX, конечно, поприятней будут, т.к. XML-подобная разметка зрительно выделяется лучше.
Если верстальщику/дизайнеру нужно знать язык — это минус языку (фреймворку).
Данные и код не должны смешиваться — разве что код вместе с данными write-only, или иным образом можно гарантировать что никто не будет править данные отдельно от кода, или что править будут только те кто знает язык кода — а это не всегда возможно.
Например?
Flutter для приложений, а не для текстовых сайтов.
Flutter вот-вот завоюет WebИ речь там идет про
Современные Web-сайты пишутся на HTML, JavaScript и CSS (и этот сайт в том числе). Наверно, вы сейчас прочитали это и подумали «да это же очевидно». А если я вам скажу, что можно написать сайт без использования этих трех технологий, у вас наверняка возникнут вопросы…Видимо показалось.
Однако, автор не упомянул о, возможно, самом важном преимуществе фреймворка и языка — мультиплатформенность, гораздо более простую и доступную, чем прежде.
Хороший пример Flutter Folio
HTML предоставляет очень много возможностей помимо копирования. Навскидку:
- доступность для слабовидящих
- режим чтения
- индексация для поисковиков
- адаптация страницы для печати
- кастомные пользовательские стили
- блокировка рекламы
- сохранение изображений на устройстве
Если сайты на Flutter не будут предоставлять эти возможности, то «в топку» такие сайты.
Когда хоронят текущий веб, вспоминается песня ДДТ:
Хоронили русский рок, хоронили
Тучи пепла, толпы гари и пыли
А он лежал в гробу хороший, пригожий,
Совершенно на труп не похожий
Рисование всего на канве также имеет свои последствия для производительности, но они не так плохи, как вы предполагаете. Я сделал тестовое приложение, которое интенсивно использует визуальные эффекты, и оно работает на моем MacBook со скоростью около 60 кадров в секунду. Даже когда вы тащите лист по экрану, оно все равно работает нормально, постепенно увеличивая размытие на изображении позади. Я ни в коем случае не специалист в Dart, так что, без сомнения, этот процесс можно было бы оптимизировать еще больше.Проверил на iPad — лагает, сильно, впрочем, как и ожидалось.
Текст на странице выделить нельзя, поиск по странице подглючивает.
Или предполагается что при попытке открыть такой «сайт» с мобильного устройства, меня будут настойчиво просить установить приложение? — лол, да это же, то, самое, «старое советское» будущее, ради которого стоило хоронить flash.
Андроид, ios, веб и много других устройств с одной кодовой базой — речь про это будущее.
Cordova даёт это же, но без лагов.
Кто побежал? Cordova сегодня один из самых популярных фрэймворков в мобильных приложениях. Возможно, проблема в том, что он сделан не гуглом, поэтому гугл пропагандирует Flutter.
Это принципиально разные подходы. Их нельзя сравнивать. Было бы все гладко у кордовы, никто бы не рыпался и с реакт нейтивом. А уж те кто на нативе пишут даунгрейдиться в кордову ради кросс платформы не желают.
А уж те кто на нативе пишутТак им и так норм, собственно, зачем что-то менять?
А если некто уже умеет в сайты и js, и по-быстрому надо приложение, без мега-требований, при этом неохота, опять же, учить два новых языка и сопутствующих (если забить на мобильную винду)… Или смотреть со стороны бизнеса, и задача — обёртка мобильной версии сайта (не спрашивайте зачем)…
Захватом веба тут как бы и не пахнет.
У меня на Ryzen 3600 лагает выдергивание шторки вне зависимости от количества попыток. Скролл картинок вроде более-менее нормально. Если для анимаций на сайте не хватает ryzen 3600, то в топку такие сайты. Бонусом при первой загрузке шторка была задвинута за экран и ее совершенно не было видно до тех пор, как я ее не вытянул.
Как с этим у flutter? Кто-нибудь в курсе?
можно написать сайт без использования этих трех технологий
Можно. Но не нужно.
этого не произойдет, если вы не знаете, как писать эффективный JavaScript или если ваши навыки в CSS оставляют желать лучшего
Конечно, не произойдет. Учиться надо, а не искать волшебную таблетку.
нужно учитывать различные браузеры, на которые вы ориентируетесь
Нет, если строго следовать стандартам, которые гарантированно поддерживают все современные браузеры.
ваш CSS может быть неработоспособным, когда пользователь попытается открыть вашу веб-страницу
Разумеется, может. Если написан безграмотно.
Мда. Свежее поколение
Мне кажется более вероятным, что приложения будут писать на TS / HTML / CSS. Научиться их компилировать в native-код, обеспечить библиотеками и доступом к системным ресурсам — и тола JS программистов сможет писать native приложения)) не так уж и невозможно вроде… нужен только какой-нибудь "гигант", который начнёт это двигать.
Это Кордова, она же phonegap в далёком 13 году. За это время это не оправдало надежды.
Тестовое приложение показывает наглядно, что пока не завоюет:
В принципе, можно постараться и на CSS тоже так всё сломать, но...
а как рекламу скрывать?
Flutter уже никуда ничего не завоюет, потому что вышел Flutter 2 и надо бежать переписывать все свои Flutter-приложения.
Я также, как и вы, кликнул на кликбейтный заголовок, однако статьей остался доволен. Ведь весь текст это по сути мечты, приправленные технологией, что есть на данный момент. И такие строки это подтверждают:
Представьте, если бы вы могли сделать веб-сайт, который работает быстро, и вы бы могли использовать один язык для разработки, стилей и написания бизнес-логики для вашего веб-приложения?
В общем, спасибо автору за перевод. Все же я считаю, что сам Flutter на это поприще больших успехов не добьется, однако придет вторая технология, за ней третья, которая в свою очередь сместит привычный стак web-разработки.
Все идет к общему консенсусу, это видно уже сейчас по тем же нодаприложениям, где буквально уже все можно написать на JavaScript, кроме XML-разметки. Не забывайте, что сейчас в web активно прорывается полноценное 3D (игры, вставки на сайтах и пр.) и для более эффективного и производительного использования JavaScript-а уже маловато.
Рано или поздно, что-то придет, а старая армия так и будет воевать за
старая армия так и будет воевать за коммунизм те технологии, что использовались ими большую часть жизненнорабочего цикла
Не в этом дело. А в дезинсекции с помощью тактических ядерных боеголовок: совершенно избыточно использовать технологии, созданные для разработки приложений для случаев, когда требуется создать сайт. Ни для СМИ, ни для форумов, ни для сборников статей, ни для чего, что должно быть источником информации и средством публикации информации не требуются приложения. Магазины, банки, игры — вот перспективная ниша для фреймворков наподобие описываемого в статье. Для остального же подобные новые технологии не дадут пользователю ни какого-то сверхудобного, ни какого-то сверхбыстрого экспириенса по сравнению с традиционными HTML/СSS/JS/[и ещё что-то со стороны сервера]. Как верно заметили в комментарии ниже:
Браузер умеет выполнять хренову кучу весьма сложных задач: рендеринг текста, выделение текста, поиск, рендеринг всяких прочих элементов, анимации итд итд. Но нет, давайте все перепишем и начнем рендерить вручную в канвас, заново все это имплементируя.
У нас есть браузеры. Готовые и универсальные «фреймворки» для веба. Вот и давайте использовать инструменты по назначению, а тем, кто не научился этого делать — стоит научиться. И рассуждения о том, что HTML/СSS/JS это «слишком сложно» выглядят убого и жалко.
А вот в флаттер для веба тоже совсем не верю.
gallery.flutter.dev/#
2. Медленный скролл, ненативное ощущение, загрузка CPU при скролле будто там майнят криптовалюту.
3. Осознаем что все это вместе с рисованием в канву уже было в Adobe Flash и JavaFX
Flutter в вебе ещё далеко ничего не завоюет.
Лаги на мобильных версиях сайта давно известны и сообществу и Гуглу соответственно. Если бы Гугл мог бы это быстро исправить, то сделал бы перед последним релизом. Но это не сделано, а стало быть проблема принципиального (возможно структурного) характера. Поэтому flutter, приходи в веб как 18 исполниться
Ох уж эти "заменители традиционного фронта"… После закономерного сдутия сильверлайта я перестал беспокоиться за свои нажитые непосильным трудом навыки :)
А может хватит изобретать какие-то велосипеды, чтобы переписать часть существующего стека на своих технологиях? Браузер умеет выполнять хренову кучу весьма сложных задач: рендеринг текста, выделение текста, поиск, рендеринг всяких прочих элементов, анимации итд итд. Но нет, давайте все перепишем и начнем рендерить вручную в канвас, заново все это имплементируя.
Давно мы что-то то веб не хоронили, самое время для новой подобной статьи. Преимущества Flutter в статье оказываются какими-то смехотворными:
Во Flutter, если вы хотите сделать определенную часть контента горизонтально прокручиваемым, а не вертикально прокручиваемым, это так же просто, как сделать виджеты в SingleChildScrollView
Ух ты, почти так же просто, как overflow-x: auto
При использовании этого свойства, вы можете записать ваши массивы в строку (элементы друг за другом) или в столбец (элементы друг под другом)
Вау, и flex-direction: row/column
тоже переизобрели
Однако в случае с Flutter, если вы размещаете виджет Text с определенным шрифтом, он будет выглядеть одинаково
Судя по приведенным демкам, "одинаково" означает "одинаково плохо"
Flutter не нужен webpack для сборки [...] В webpack нет ничего плохого; это высококачественный софт. Но это сложный инструмент и без того в сложном конвейере.
Так а в чем приемущество? Не используем чужой продукт, напишем свой, такой же сложный. Классический Not Invented Here (NIH)
И автор проверил производительность на своём Macbook, в то время, как 80% пользователей — это смартфоны, планшеты и прочие устройства, которым по производительности до macbook еще ого-го. Ну и HTML, JS, CSS и через 10 лет будут HTML, JS, CSS, а Flutter через 10 лет может загнуться и еще надо найти кто его знает.
Автор также не указал, что canvas — не единственный способ представления приложения в веб. Его можно так же скомпилировать в привычные html + css + js.
Пруф.
Я тоже так думал какое то время.
Но, к сожалению, узнал правду из видео на оф. странице веб флаттера. А она в том, что html - это canvas APIs. А canvasKit - webassembly и webgl.
В связи с этим, html меньше весит. И лучше подходит для мобилок. А cacanvasKit для десктопов, больше объем, но скорость тоже больше. По крайней мере они так заявляют в своем видео.
flutter — это "замена" программирования, но результат программирования — тот же самый, что и без этого заменителя — условно плоский веб.
А вот за десятилетия никак не изобретут достойную технологию программирования простыми способами принципиально другого отображения мира — трёхмерного (вместо нынешнего плоского веба). Даже в конце 90-х годов был какой-то VRML, а потом идею использования трёхмерных пространств в браузере вообще куда-то забросили.
Ещё бы Dart VM запилили в браузере, что бы соскочить с жаба скрипт, и ваше сказка будет
пысы Дартиум я даже где то откапывал на китайском сайте))
Приложение на флаттере позволяет глубже интегрировать рекламу. Так, что адблоком не достать. Может это ещё один нужный плюс для Гугла?
Flutter вот-вот завоюет Web