
Комментарии 3
У меня такой чисто дилетантский вопрос, если позволите. В чём вообще преимущество Дарта? Я это к тому, что хотя я в вебе не очень уверенно, но я веду чисто для себя записную книжку на Hugo, и шорткоды, которые на гитхабе нарыл, они как раз Dart Sass используют, в основном модульность. Но это доп звисимость, и мне пришлось повозиться, чтобы всё это запустить, и сделать деплой на гитхабе но оно работает. Однако там же довольно несложный процессинг-"транспиляция" из sass в css, ведь тоже самое можно было бы сделать и на Го и на Расте? В чём именно Дарт тут хорош? Я просто для расширения кругозора интересуюсь.
Не совсем знаком с Sass и тем более с реализацией Dart Sass, но исходя из своего опыта могу сказать почему:
Очень легко сделать cli под любую систему, не нужно думать об архитектуре сборки как в c++/rust. Не нужно думать об виртуальной машине в системе, как для Java/Kotlin
Имеет встроенный транслятор под js, он дает максимально оптимизированный и чистый от сторонних библиотек код на js
Имеет прямой доступ из dart к js через interop
Google активно принимает участи в разработке Sass
Достаточно быстро работает и имеет простой синтаксис
Отвечу своими словами, а в конце дам ссылку на официальные заявления.
Как разработчики, мы любим поменьше зависимостей, поменьше возни с разными версиями и вообще любим, когда все автоматизировано. И вот тут Dart получается как двойной агент: из коробки он и в бинарник собирается, и в JS компилируется. Для Sass это как раз очень важно, поэтому ставку и сделали на Dart Sass.
Еще, насколько я понимаю, сыграла роль близость к языку: ведущий разработчик Sass работает в Google, где Dart и сделали, так что он был под рукой и хорошо знаком.
Ну и честно скажу, я, как и вы, не силен в вебе, поэтому просто оставлю ссылку на первоисточник, где команда Sass сама все объясняет: https://sass-lang.com/blog/announcing-dart-sass/
Сборщик мусора в Dart. Часть 1: память и указатели