菲洛嘉青春动能素135HA FILLMED® NCTF 135HA LED指示灯的常见故障分析 智微智能 Elkhartlake K075终端,零售产业新选择 天空蓝拓客管理系统详细介绍版 muso公链项目 天使计划 是什么?[秘] 独家揭秘最前沿的家装“黑科技”——掌赋 天博体育欧洲杯特辑,东道主法兰西的失意2016 亚马逊的送货侦察员 学习听起来像挡泥板 Google Comics Factory使ML变得容易 笑着说-男性或女性 Amazon Rekognition中更好的人脸检测 关于Spaun的真相-大脑模拟 两个聊天机器人彼此聊天-有趣又怪异 GANPaint:将AI用于艺术 WCF和WF给予社区 从耳朵到脸 所有神经网络的深层缺陷 蠕虫在尾巴上平衡杆子 Kickstarter上的OpenCV AI套件 TensorFlow-Google的开源AI和计算引擎 众包取代新闻工作者 Google的DeepMind学会玩街机游戏 哑机器人V智能机器人 .NET与.NET 5融为一体 Google的深度学习-语音识别 LInQer将.NET LINQ移植到Javascript 机器人TED演讲-新的图灵测试? GAN的发明者加入苹果 您的智能手机会监视您键入的内容 人工智能帮助改善国际象棋 Zalando Flair NLP库已更新 TensorFlow 1.5包含移动版本 AlphaGo输了一场比赛-比分3-1 虚拟机器学习峰会 Microsoft开源AI调试工具 SharePoint走向移动 F#4.0发出文化变革的信号 克里斯蒂拍卖AI艺术品 人工智能如何区分 Facebook在蒙特利尔的新AI实验室 Mozilla想要您的声音 微软使用极深的神经网络赢得ImageNet 建立AI合作伙伴关系 .NET Core 3-Microsoft几乎回到了起点 神经网络-更好的销售商? Google使用AI查找您的住所 虹膜-适用于Android的Siri证明苹果没有优势 TensorFlow 2提供更快的模型训练 深度学习研究人员将为Google工作
您的位置:首页 >计算机基础 >

AngularJS 2.0截然不同

AngularJS团队对框架的未来给出了看法,许多程序员发现它是不可接受的。与过去的几乎完全的中断意味着许多人正在使用那些将要过时的框架且没有升级路径的项目。

角横幅

Google的AngularJS是最受欢迎的UI框架之一,因此已在许多项目中使用。因此,有关下一版本将进行根本性的,非向后兼容更改的消息并不是很多人欢迎的事情-“这是在开玩笑吗?”是一个典型的评论。

在最初的演示中,甚至有人说从Angular 1.X到2.0不会有任何迁移路径,但是由于程序员担心他们的应用程序将被弃用,对此愤怒的回应令Angular团队发表了一篇博客文章软化了它及其在新版本中的整体位置:

“我们使用Angular 2的目标是通过保持与现有API的向后兼容性,为构建不受限制的Web应用程序提供最佳的工具集。有了Angular 2的初始版本后,我们将开始在Angular 1应用程序的迁移路径上工作。

第一大冲击是采用了最新的JavaScript和浏览器。Angular 2.0是使用ES6构建的,它当然目前尚不存在,应该在年底之前完成。Angular 2.0正在使用另一个Google项目Traceur编译器进行开发,该编译器将ES6编译为ES5。这意味着,在ES6广泛可用之前,您可以根据需要使用ES5,但是为了将来证明,计划使用ES6更好。

更激进的是Angular 2将为AtScript引入TypeScript可选类型的扩展。在这种情况下,您不必使用它,因为它肯定必须编译为ES6 / 5。

另一个重大变化是该框架将仅针对常绿”浏览器,即那些符合Web标准的浏览器-Chrome,Firefox,Opera,Safari和IE-但仅最新版本。这意味着旧的IE版本和Android股票浏览器可能无法正常工作。

AngularJS 2也将支持和使用Web组件-最初设计Angular时尚未准备使用的技术。

如果这还不足以使您担心,则框架的基本结构也将发生变化。统一的组件模型将摆脱控制器和模板,并提供一种更简单但不同的工作方式。语法正在发生变化,以使事情更加一致-括号以调用函数,括号为属性,仅给出两个示例。

为了提供一些细节,Angular团队给出了一个1.3模板的示例:

<div ng-controller =“ SantaTodoController”> <输入类型=“文本” ng-model =“ newTodoTitle”> <按钮ng-click =“ addTodo()”> + </ button>

<tab-container> <tab-pane title =“ Tobias”> <div ng-repeat =“ todo in todosOf(” tobias“)”> <input type =“ checkbox” ng-model =“ todo.done”>

{{todo.title}} <button ng-click =“ deleteTodo(todo)”> X </ button> </ div> </ tab-pane>

应该与2.0版模板进行比较

<div> <input type =“ text” [value] =“ newTodoTitle”> <button(点击)=“ addTodo()”> + </ button>

<tab-container> <tab-pane title =“ Good kids”> <div [ng-repeat / todo] =“ todosOf(” good“)”> <input type =“ checkbox” [checked] =“ todo.done > {{todo.title}} <button(click)=” deleteTodo(todo)> X </ button> </ div> </ tab-pane> </ tab-container> </ div>

您可以看到语法更改将不仅需要搜索和替换。

更改的目的是使Angular更快,更合理。例如,已放弃使用jqLit​​e来支持与DOM的直接交互,该交互现在被认为已足够标准,不需要性能降低包装器。此外,整个框架将是模块化的,从而可以仅加载您要使用的内容。

您可以在ng-europe 2014上看到以下视频中引起大惊小怪的演示文稿:

与新的Angular达成协议似乎需要学习很多东西。大多数更改似乎是个好主意。如果您要重新开始,那么他们会采用的方式会比原始框架更接近Angular 2,但这是批评家所抱怨的。他们说这是一个新的框架,具有简单的被盗的Angular名称!

通过提前发布新版本来过早终止当前版本还有众所周知的效果。AngularJS 2.0可能要到明年年底才能使用-但您会在可用之前启动一个新的AngularJS项目吗?即使在I Programmer上,其效果仍然是取消了一组Angular教程,因为如果您重新编写并且更重要的是重新组织以考虑到如此不同的内容,那将是什么意思。

关键是,无论AngularJS 2.0有多好,其影响都是让AngularJS 1.3陷入困境。

角图标

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。