每次我在Javascript上阅读新内容时,我都在阅读有关Durandal和Aurelia的文章。我听到开发人员要求在很多博客上从Durandal升级到Aurelia或类似的。虽然我确实有一个想法,但我很困惑这两者究竟是什么以及它们是如何相关的,或者它们是否相关。
以下是我的看法。 Durandal是一个轻量级的SPA框架,允许您利用其他最好的JS库和实用程序来构建应用程序。所以它本身并不是一个完整的包(与Angular不同),但可以使用不同的外部JS库 - 例如Knockout用于绑定,jQuery用于DOM,Sammy用于路由等等。
另一方面,Aurelia是混乱的地方。它是否也是一个SPA框架?或者它仅限于作为客户端(前端)框架?为了增加我的困惑,有Durandal blog只讨论Aurelia。我从互联网上知道Rob Eisenberg在开始研究Aurelia之前曾在Durandal工作过。那么Aurelia是Durandal的升级版,还是完全不相关的东西?我仍然有一些问题,但到目前为止,我猜测我的问题的结构只会要求自以为是的答案。因此,在关闭此问题之前,任何描述,链接和参考都将是惊人的。我也一定要在这里更新并添加有用的链接。
答案 0 :(得分:4)
根据Rob Eisenberg的说法:
" Aurelia只是Durandal的vNext。有时我们甚至称它为Durandal Aurelia。很像XBox 360和XBox One。网络正在发展,因此我们将Durandal演变为Aurelia以匹配。"
另一方面,Aurelia是混乱的地方。是吗? 还有一个SPA框架?或者它仅限于客户端(前端 结束)只有框架?
是的,这是一个SPA框架。实际上,它是构建Javascript客户端的框架,这意味着您可以为浏览器,桌面和移动开发应用程序。请观看此视频https://channel9.msdn.com/Events/Seth-on-the-Road/DevIntersection-2015/Rob-Eisenberg-on-Aurelia
与Durandal不同,Aurelia提供全套服务,您需要的一切都在那里。但是,它是完全可插拔和可扩展的,您可以根据需要组合任何其他技术。
以下是官方网站www.aurelia.io
提供的说明嗯,它实际上很简单。 Aurelia只是JavaScript。但是,它不是昨天的JavaScript,而是明天的JavaScript。通过使用现代工具,我们已经能够在ECMAScript 2016中从头开始编写Aurelia。这意味着我们可以使用本机模块,类,装饰器等等......您也可以使用它们。
Aurelia不仅用现代和未来的JavaScript编写,而且还采用现代的架构方法。在过去,框架一直是单一的野兽。不过Aurelia。它是作为一系列协作库构建的。总之,它们构成了构建单页应用程序(SPA)的强大而强大的框架。但是,Aurelia的库通常可以单独使用,在传统网站中使用,甚至可以通过NodeJS等技术在服务器端使用。"
Aurelia的一些最大优势(在我看来)是:
强大的数据绑定功能。与Angular等其他框架不同,Aurelia使用Javascript的新功能。因此,所有数据绑定内容通常在Aurelia中更快(来源http://blog.durandal.io/2015/12/04/aurelia-repaint-performance-rules/)
简单约定和简单语法。在Aurelia开发真的很容易。有很多功能可供使用。如果要覆盖某些约定,通常1行代码就足够了。 (见http://aurelia.io/docs.html#/aurelia/framework/1.0.0-beta.1.0.3/doc/article/getting-started)
希望它有所帮助!