如何替换Angular?
有这个网站叫youmightnotneedjquery.com,这基本上是如何现代浏览器实际上有jQuery传统上使用的大部分东西。我有兴趣看到像Angular这样的东西。
我们主要使用四个角特征。我有什么替代方案?
> Angular指令 – > Web组件
>角模块 – > ECMA 6模块(不完全相同的东西)
>角路由 – > ???
> Angular 2-way databinding – > ???
PS。我们不想用类似Backbone或Ember的东西替换Angular。我们想用标准的网络技术来替代它,但是如果我们必须使用小工具填补空白,我们会考虑。
> Angular指令 – > Web组件使用polyfill,直到所有浏览器都支持它。
>角模块 – > ECMA 6模块部分问题是用HTML导入解决的。但你也可以使用Traceur,直到浏览器支持它。
>角路由 – >有一个组件为™使用<app-router>
。
> Angular 2-way databinding – > Polymer在普通标准Web组件之上添加了一个“魔术”层。这包括许多功能,包括data-binding。
更多
如果你想知道连接文件的构建过程,以减少HTTP请求的数量,请看看Addy Osmani’s post about Vulcanize. Spoiler:你可能不需要它与即将到来的HTTP 2优化。
许多Angular项目使用Twitter Bootstrap进行布局。聚合物可以做到这一点,它发挥很好与谷歌的Paper elements(完全可选,但超级真棒)。
如果你想让自己熟悉web组件一般,这里是一堆很好的文章:http://webcomponents.org/articles/
这里是一个丰富的网络组件:http://customelements.io/我不知道它将是一个新的NPM,但列表组件是令人印象深刻和成长。
为Angular组件公开API是相对复杂的。人们已经提出了从link function到emitting events的各种方法。在Web Components,however,it’s really easy,使您的组件与外部世界进行交互,确实,您公开的API和事件与标准HTML标签(例如< audio>)没有太大区别。
就像Angular,你也可以使用Polymer with Dart。
结论
总的来说,我没有看到任何理由使用角,除非:
>你有一个巨大的源代码投资角,并不想把一切都到标准网络。 (Angular 2.0将会弃用你的代码,所以你坚持使用Angular 1. *)
>您的团队太懒得学习新技术(在这种情况下,网络可能不是这种态度的正确平台)。
Angular是好的,它正在做什么,有自己的Hype cycle.Web组件解决了Angular试图解决的许多问题。可能Angular具有作为Web组件的概念证明的角色。但现在是时候继续前进。 Web每天都在重塑自己,这是不可避免的moves someone’s cheese。
我不是说聚合物是一切的最终答案。充其量是另一个角度,将在几年内无效,但现在是一个好时机,学习和使用它。容易地,聚合物倾向于更接近它们。
有一个元素为™是新的有一个应用程序的™