更简单化依赖注入(设计)依赖注入依然是 Angular 区别于客户端框架的关键所在,它帮你消除了很多应用中的连接性代码,并且使默认的可测试性变成了现实。尽管在我们开发应用的时候已经很享受依赖注入带来的好处,但我们对目前的实现仍然不满意。我们可以让他变的更简单且功能更强大。 我们会看到一个更加简化的依赖注入,移除了配置阶段,使用声明式的ES6+标注取代命令式的代码来简化语法。通过依赖注入和ES6模块化的模块加载的集成而获得更加强大的功能。我们还会看到使用子注入器(child injector)的方式来实现模块延时加载的特性。 上面文档链接中是我们的初步设想,但是它是Angular 2中你现在就可以尝试的部分。你可以在这个代码仓库中看到目前实现的细节。 模板和指令(设计)能够直接使用HTML来定义模板,以及扩展HTML的语法,这些都是Angular赖以生存的东西。我们对Angular 2 的模板编译器新增了很多高级的改进:
对上面的这些内容,我们非常激动,以至于迫不及待地炫耀它们。有太多优秀的东西而不能都在这篇概要中摘录,所以请直接跳到设计文档来查看更多内容。 更强大的功能触摸动画(设计)用户们已经习惯于一些特定的触摸行为模式。比如,使用手指来滚动一个列表,循环查看轮播中的照片,通过滑动来删除一个列表项。然而:
我们想给这些场景以最一流的支持,来让你的应用尽可能达到最佳的用户体验。 路由(设计)初始的Angular路由只为一些简单的用例而设计的。随着Angular的成长,我们已经渐渐的加入了一些新的功能。然而,底层的设计始终不适合做更多深层次的扩展。 我们非常关注一些已知的用例以及其他很多应用框架的路由的实现,这样我们才能交付一个简单而又可扩展的路由,能够广泛地适用于各种应用。 我们特别热衷于支持的一些用例包括:
持久化(设计)在Angular简陋的 $http 之上,很多开发者渴望一个更高层次的抽象来处理来自服务器端的数据以及浏览器的本地持久化存储。 移动应用需要在一个“一直离线”的模式下工作,通过同步与服务器端保持一致。RESTful服务需要的远比我们$resource提供的更多。有些数据需要能够批量更新,而有些需要持续的流连接。 在这个新的持久化层,我们会为这些情景提供干净的架构,如果需要的话会从当前的样板文件中剔除更多。 问答什么时候能做完?如果你和我们一起经历了 1.2 版本的发布,你应该知道我们也不知道答案。:)尽管我们现在才发表设计文档,但我们已经为很多模块做过了原型。依赖注入和Zone.js甚至已经可以使用了。所有的工作都会在GitHub上完成,我们也会继续发布每周会议记录,你可以一直关注。 Angular 1.x 到 Angular 2 的移植过程将是怎样的?Angular 2 目前仍然在开发中,老实说我们也不知道。在我们的想象中,移植将会非常直接和简单,但是也不是不劳而获的。如何使用ES6的优势将是最大的工作重心。模板 的更新几乎就是机械的查找和替换的练习。如果你的控制器中包含的是你的业务逻辑,而没有使用太多现有的Angular API的话,升级将会非常简单。最需要考虑的部分会是你对模块和指令的使用。 Angualr 2 会是 PhoneGap 或 Ionic框架等移动技术的替代品吗?不是,Angular依然只是核心模块。你仍然需要使用其他的库,比如 Ionic框架来提供移动优化的 CSS/JS组件,PhoneGap之类的工具来打包和访问原生API。 Angular 2 和 AngularDart的关系是怎样的?在将AngularJS向Dart语言移植的时候,我们运用所有我们学到的东西创建了一个新的Angular版本。这篇文档中讨论的很多改进已经在那里了,比如改良的指令的概念和语法,以及类和基于标注的依赖注入。 尽管这不是我们在 2 中要实现的目标,但它是对未来的一个很好的预览。 我们在打造AngularJS 2的同时,我们也会不断升级 AngularDart,这样喜欢Dart语言的人可以和喜欢JS的人享用到相同的好处。我们的目标是根据你选择的语言都会有一个单一的框架。 其他有趣的文档原文链接: AngularJS 翻译: 伯乐在线 - 陈 鑫伟 译文链接: http://blog.jobbole.com/63264/ |