Если Угловатый.Дарт полагается на теневого дома, это проблема?


Я только начинаю писать веб-приложение, и я подумал, что было бы интересно использовать Dart и Angular.Дарт за ним. Я использовал дротик и угловой.js оба немного, и они мне нравятся.

Я бы хотел, чтобы приложение действительно было доступно большинству пользователей интернета,и это кажется, возможно, угловым.Дарт (или, по крайней мере, некоторые из угловых.dart) полагается на тень dom. Из того, что я могу сказать, Chrome является единственным крупным браузером, который поддерживает shadow dom вообще, и даже если Firefox, IE и Сафари все это осуществит, что может произойти через годы.

Я действительно пытался запустить Главу 3 из углового.Dart tutorial с компилятором dart2js, и страница, которую он сделал, казалось, работала нормально в Chrome, но потерпела неудачу в Firefox и IE11.

Является ли моя оценка здесь точной? Будет ли это, вероятно, через пару лет, по крайней мере, до углового.Дарт будет полезен вне хрома? Есть ли планы на угловой.Дарт, чтобы позволить альтернативы своей зависимости от теневого дома?

Боюсь, мне придется выбирать между угловыми.js (не так весело), и дротик, возможно, только с полимером.dart (не так красиво / легко структурировано).

3 2

3 ответа:

Использование Shadow DOM в браузерах, которые его не поддерживают, в большинстве случаев не является проблемой. Существуетpolyfill , который добавляет поддержку Shadow DOM в каждый современный браузер.

Я не уверен насчет состояния Angular.дротик, но по крайней мере полимер.Дарт автоматически включает в себя теневой дом полифилл в данный момент.

Использование Shadow DOM не должно быть проблемой вообще.

Shadow DOM будет проблемой в некоторых мобильных браузерах. Патч Shadow DOM/work around with JavaScript (чтобы обеспечить функциональность браузерам без встроенного в него) еще не совсем там и постоянно страдает от ошибок. Мне даже пришлось какое-то время использовать отладочную версию.

Пока я использую Angular.dart (и, следовательно, Shadow DOM) в производстве, я бы не рекомендовал его, если вы можете его избежать. Пока. Это будет довольно удивительным, хотя в будущем.

Так что, собственно, я и делаю. считайте это проблемой. Полимер и теперь угловой.Дарт смотрит в будущее, и это здорово...Но они не должны использоваться, если вы действительно не можете контролировать вещи немного. Если вы можете создать приложение, в котором люди используют только определенные браузеры, то у вас не будет проблем. В противном случае, вы, безусловно, будете. В определенный момент.

Вы должны учитывать различия в содержании стилей в shadowDOM. Это может быть преимуществом или недостатком в зависимости от ваших требований.

Руководство по стилизации элементов