我刚刚开始编写一个Web应用程序,我认为使用Dart和Angular.dart会很有趣。我已经使用了Dart和Angular.js,我喜欢它们。
我希望这个应用程序实际上可以被大多数互联网用户使用,但似乎Angular.dart(或者至少一些Angular.dart)依赖于影子dom。据我所知,Chrome是唯一支持影子dom的主流浏览器,即使Firefox,IE和Safari都实现了它,也可能需要几年时间。
我实际上尝试使用dart2js编译器从Angular.dart教程中运行Chapter 3,并且它所做的页面似乎在Chrome中正常工作,但在Firefox和IE11中失败。
我的评估准确吗?至少在Angular.dart在Chrome之外有用之前可能需要几年时间吗? Angular.dart是否有计划允许替代它对阴影dom的依赖?
我担心我会被迫在Angular.js之间做出选择(不是那么有趣),Dart可能只有Polymer.dart(不是很好/容易构造)。
答案 0 :(得分:4)
在大多数情况下,在不支持它的浏览器上使用Shadow DOM不是问题。有一个polyfill可以为每个现代浏览器添加对Shadow DOM的支持。
我不确定Angular.dart的状态,但至少Polymer.dart会自动包含Shadow DOM polyfill。
使用Shadow DOM应该不是问题。
答案 1 :(得分:2)
Shadow DOM将成为某些移动浏览器的问题。 Shadow DOM补丁/解决JavaScript(为没有内置的浏览器提供功能)还没有完全存在并且经常遭受错误。我甚至不得不使用它的调试版本一段时间。
虽然我在制作中使用Angular.dart(以及Shadow DOM),但如果你能避免它,我不会推荐它。目前。虽然将来它会非常棒。
所以,实际上,我认为这是一个问题。聚合物和现在的Angular.dart正在展望未来,这很棒......但除非你真的可以控制一些东西,否则不应该使用它们。如果您可以构建一个只知道人们使用特定浏览器的应用,那么您就不会遇到问题。否则,你肯定会。在某些时候。
答案 2 :(得分:0)
您必须考虑shadowDOM中样式内容的差异。 根据您的要求,这可能是优势或劣势。