Комментарии 99
А если серьёзно, краткое содержание пертурбаций я вижу так:
- Потыкали "достаточно богатую стандартную библиотеку" — получилась ерунда, нужен фреймворк.
- На тот момент из чего-то похожего на фреймворк был лишь PolymerDart.
- Пилили спокойно на Полимере. Ничего не предвещало беды. И тут Гугл его закапывает.
- Инвесторам-то не скажешь, что "мы пилим не на передовой технологии, а на мёртвой".
- Надо менять коней. А тут уже AngularDart подоспел.
- Перепилили на Ангуляр. Ничего не предвещало беды. Но тут Гугл и его закапывает.
- Инвесторам-то не скажешь, что "мы пилим не на передовой технологии, а на мёртвой".
- Ладно, перекраивать одеяло не впервой, что нам там предлагают? Flutter for Web? Серьёзно? Мобильный UX растянутый на десктоп? Пользователи такого не примут.
- В вебе сейчас везде используется
jQuery 2.0React. Нужно что-то такое, но на Дарте. О, есть же уже OverReact! - Ээээ, но это же не фреймворк, а огрызок, к которому нужна куча либ, которая есть для экосистемы Реакта, но которых на Dart никто и не думает портировать. Их и на TS-то не спешат портировать — хорошо хоть комьюнити тайпингов напилило.
- Делать нечего, ради Реакта, придётся переходить на TS. Осталось только как-то помягче сказать всем, кого так долго убеждали, что за Дартом будущее, что они дальше сами по себе.
Не, ну, когда деньги позволяют, чего б не поиграться с разными технологиями, превращая приложение в монстра франкенштейна микрофронтенд.
Я честно не понял, почему в своё время они взяли дарт вместо TS. Он тогда был менее удобным в части сахара, но по применимости в промышленных условиях в общем-то не сырее. Возможно, никто из ЛПР не понимал опасности вендор-лока такого масштаба (а TS даже в теоретическом сценарии "MS его всеми силами закапывает" в разы менее лочащий, в конце концов весь TS превращается в JS).
Основной аргумент был: на JS/TS много говнолиб из которых надо мучительно выбирать, а на Dart есть лишь одна стандартная библиотека, где всё уже решили за тебя.
Примечательно, что отсутствие на рынке Dart разработчиков, тогда никого не смутило. Фигня вопрос, берём java/.net бэкендеров, переучиваем их на Dart, получаем фронтенд не хуже.
А когда я показываю кому-нибудь $mol, то самый популярный ответ: "штука интересная, но на рынке мало специалистов по нему, поэтому даже не станем пробовать". А это всего-лишь TS фреймворк, даже не новый язык программирования.
Основной аргумент был: на JS/TS много говнолиб из которых надо мучительно выбирать, а на Dart есть лишь одна стандартная библиотека, где всё уже решили за тебя.
Я по этому поводу припомнил накопители Synology (NAS и прочие), у которых уже очень давно довольно-таки прекрасно и быстро работающая вебморда, которая еще и мультиоконный UI. И работает это всё на… ExtJS. И почему-то не закапывается. Ах да, наверное потому, что ExtJS покупают, а не берут бесплатно с надеждой что добрый дядя будет тащить поддержку.
Wrike выпустил много успешных фич на Dart. Успех ведь не в том, чтобы остаться со стеком навсегда. Не задумывался почему деньги позволяли?
Только вот благодаря Dart или вопреки?
В соседнем комментарии упомянули JQuery. Он сейчас является страшнейшим легаси. Вот у меня к вам вопрос: он был хорошим? Решал ли он задачи? Кажется что просто пришло его время. А JQuery, кто бы что не говорил, прекрасен. Точно также и с Dart. Думаю что основная проблема в том, что AngularDart все.
Важно отметить, что мы не прощаемся: Dart по-прежнему будет большой частью нашей разработки. Но для новых проектов мы теперь будем рассматривать другие возможности.
Решил открыть вашу ссылку на очень не популярном девайсе (iPhone 11)
https://habrastorage.org/webt/pq/rm/ac/pqrmaca2l933mm645s-uznfnfiy.png
И бесконечный скрол сломался
https://habrastorage.org/webt/0r/wf/_4/0rwf_4_bo9yj4d1rhcm5imlxac8.png
Выбор точно пал НЕ на Clojure! Если бы они выбрали Clojure, то написали бы название языка в голосовалке правильно.
Для веба ответ "потому что флаттер" не имеет смысла ни сейчас, ни в перспективе.
но уже вполне позволяет получить мобильное приложение работающее прямо в браузере
Примерно никому (кроме людей, пытающихся задешево выкатить что-то одновремненно в веб и в мобилки) не нужно "мобильное приложение прямо в браузере".
Людям нужны нормально работающие вещи. Если вы хоть раз открывали в браузере gallery.flutter.dev — вам должно стать кристально очевидно, почему это не взлетит. Это, на секундочку, официальная "витрина" flutter web от самого гугла. Жрущая ресурсы, тормозящая (еще бы, учитывая что это canvas на всё окно), работающая "как мобила" (нафига мне тач-скриновые жесты в браузере?), и совершенно не умеющая в работу с текстом (еще бы, всё "запечено" в canvas, ни поискать, ни скопировать).
В обмен на это я получаю что? То, что разработчикам дешево это выкатить?
Примерно никому (кроме людей, пытающихся задешево выкатить что-то одновремненно в веб и в мобилки) не нужно «мобильное приложение прямо в браузере».
Вы попадаете в ловушку нового опыта. Пока нет результатов использования этого подхода, говорить о ненужности невозможно.
Клиенту все-равно как хорошо и на чем написан код
Конечно. Пока этим удобно пользоваться и оно не тормозит. А тем, в что результирует flutter web — неудобно пользоваться, и оно тормозит.
Посмотри количество вакансий на ReactNative
Посмотрел на career.habr.com, чтоб далеко не ходить. React Native — ~40, ios и android — каждая по 200 с лишним, веб-разработки вообще вагон.
Это, оказывается "много"? А пацаны-то и не знали.
Да с текстом пока плохо.
Зато имеем одинаковое приложение везде. В мобильных браузерах вообще неплохо, в десктопных — пока посредственно. И никто не мешает даже сейчас комбинировать, часть на классическом веб, а часть на flutter web. Проблема только в том, что сейчас нельзя легко сделать web component, приходиться использовать iframe.
А нормально работающие вещи — это приложения, а не web :-)
В мобильных браузерах вообще неплохо
В мобильных браузерах, стоит только у вас быть телефону постарее — тормозит.
Флаттер конечно хорошая вещь, но для мобильных (и то не для всех кейсов). В вебе он ну вообще не вариант для чего нибудь хоть сколь крупного.
Не, если вы говорите именно о мобильном приложении — согласен. Но если о мобильном вебе… Да блин, хоть сколь нибудь сложные веб приложения на флаттере у меня на ноуте в браузере fps явно даже меньше 30 выдают (i7 предыдущего поколения, 16 гигов). Даже при простом скролле.
А в чём проблема завернуть в веб-компонент?
Смотри github.com/flutter/flutter/issues/32329
На нас свет клином не сошёлся, всё-таки по меркам всего мира Wrike маленький. И, конечно, остаётся Flutter, как уже написали. Он локомотивом тащит Dart вперёд
Так всегда, самые ответственные решение приходится принимать в самое не подходящее время.
Да, в самом языке уже есть примитивы, которые позволяют работать с DOM напрямую, но такая разработка может подойти для индивидуальных разработчиков, а не для больших команд.А как вы всё это время разрабатывали если платформа вас так ограничивает? По поводу локальных стейт-менеджеров — напишите свой. Или рассмотрите альтернативы — давным давно (по меркам фронтенда) существует Mobx, с которым тоже можно использовать локальные сторы. Порт на Dart: github.com/mobxjs/mobx.dart
TypeScript конечно в разы богаче, чем Dart — union типы, mapped типы, условные типы. Но ради этого переписывать кодовую базу на 2.5 миллиона строк…
— ActionScript
— Flow
Проголосовал за экзотическое Phoenix LiveView. Оговорюсь это не мой выбор, а предположение. Сам бы выбрал Clojure/Script+Reagent
Ваг аргумент "нет поддержки всех самых модных фишек" понятен, но, честно говоря, не очень убедителен.
Даже если оставить в стороне вопрос о том, а действительно ли нужны все эти фишки. Вы, как "один из самых больших потребителей Dart за пределами Google", могли бы подхватить инициативу и добавить в AngularDart все необходимое сами. И не зависеть более от прихотей Гугла.
Lit второй версии на подходе, надо хватать. Слишком мало потрогали веб-компоненты, теперь уже пора, да и реакт+тс будет слишком скучно :)
Я тут немного посчитал. Если каждый разработчик будет писать в день ну, допустим, 1000 строк кода, то 100 разработчиков произведут за год примерно 24 миллиона строк кода. А это как раз размер ядра Линукса, причём на весьма низкоуровневом C. Похоже через год нас ждёт новая операционная система на базе менеджера задач.)
И ещё пару недель отлаживать
Так современный фронтенд как раз про горы копипасты. Да и бэкенд (go), впрочем, тоже. Да даже если поделить на 2, то получим ядро Линукса уже через 2 года. А то и быстрее, если продолжать раздувать штат.
Ну только делить надо не на два, а на двадцать. Я у себя на проекте ежемесячно смотрю сколько мы в релиз мержим. На 5 разрабов выходит чё-то около 6000-7000 строк в месяц на питоне. Это уже после прохода через руки тестровщиков и фикса багов, ясное дело. Питон, конечно, довольно лаконичен, и на фронтенде будет больше выйдет из-за всяких html/css, но не настолько же.
Ну, если по себе судить, то на последнем проекте (коллаборативный визивиг) я вообще всего 15К строк написал за два года. Это около 30 строк в день. Но это в MAM экосистеме поощряющей микромодули и обобщённые решения. В индустрии же сейчас популярны низкоуровневые абстракции сдобренные изрядной долей копипасты.
Мы вполне успешно нанимали и нанимаем, так что в этом смысле цифры говорят о том, что это не настолько важно
Достаточно смешная новость.
В итоге выбрали jira.
Такие большие проекты должны быть максимально абстрагированы от сторонних фреймворков. Сколько вы их уже сменили, и столько же еще поменяете. При этом подходе, по идее, Dart не должен быть такой уж большой проблемой. Тем более, что в результате все равно получается js. А там, глядишь, и Flutter for Web подрастет.
У ребят управление CNC с машинным зрением выходит на 50-60 тысяч строк all inclusive. A тут, вы только вдумайтесь, 2,5 миллиона! Я, видать, чего-то не понимаю в современной разработке…
Нет, я честно говоря впервые слышу
Даже mail созрел быстрее и понял, что надо переводить их стек с perl, на что-то живое, ибо наивные студенты отказываются жрать г*вно, и давно уже поняли, что их где-то обманывают, рассказывая про то, как они будут бороздить просторы вселенной на перле.
Это же постирония.
У вас Dart только в вебе используется или где-то еще? Бекенд, cli тулы, мобайл…
Фанаты хорошей типизации наверняка выберут ReScript
После такого признания нужно уволить тех. дира. Все что вы перечислили как проблемы Dart было очевидно и 5 и 10 лет назад. А проблема ваша в индустрии известна еще раньше. Человек, который принимал решение написать 2.5 млн. строк кода на языке без коммьюнити не может рулить таким проектом.
Wrike уходит от использования языка Dart. Часть 1