阅读更多

4顶
0踩

编程语言
AngularJS已然成为Web应用开发世界里最受欢迎的开源JavaScript框架。自成立以来,见证其成功的是惊人的经济增长以及团体的支持与采用——包括个人开发者、企业、社区。

Angular已经变成一个构建复杂单页面应用的客户端MVW框架(Model-View-Whatever)。它在应用测试和应用编写方面都扮演重要角色,同时简化了开发过程。

Angular目前的版本为1.3,该版本稳定,并被谷歌(框架维护者)用于支持众多应用(据估计,在谷歌有超过1600个应用运行于Angular1.2或1.3)。Angular 2.0正式宣布与去年10月份的尼日利亚会议上,该版本不会是一个复杂的重大更新。



为什么推出Angular 2.0?

在进一步讨论Angular 2.0(估计发布日期为2015年底)之前,让我们简单的思考下新版本背后的哲学。Angular 2.0开发始于解决以下问题:

  • 移动:新的版本将专注于移动应用的开发。依据是它更容易处理桌面方面的事情,一旦挑战涉及到移动(性能、加载时间),注重这方面会使问题得到解决。
  • 模块化:各个模块将从Angular的核心中移除,从而获得更好的性能。这意味着你可以选择你需要的零件。
  • 现代化:Angular 2.0将把ES6和“常青”现代浏览器(自动更新到最新版本)作为目标。这意味着开发者可以专注于业务领域相关的代码。

有哪些争议?

在尼日利亚会议上并没有提及迁移到2.0版本的途径。同时也指出跳转到2.0版本将会打破原有的1.3版本应用,不会有任何的向后兼容性。自从那时开始开发者社区一直充斥着不确定性和猜测,一些开发者也开始质疑是否值得开始一个新的Angular 1.3项目。

有哪些改变?

AtScript

AtScript是ES6的一个父集,被用于开发Angular 2.0。它是由Traceur编译器(连同ES6)处理来生成ES5代码并用TypeScript类型语法来生成执行时间的断言,以此来代替编译时的检查。不过AtScript并不是强制的,你仍然能够使用纯JavaScript/ES5代码代替AtScript来编写Angular应用。

改善依赖入驻(DI)

依赖注入(Dependency injection )模式的基本思想是客户类Client不用自己来初始化它所依赖的成员变量IServer,使用一个独立的对象创建IServer适当的实现类并将它赋值给Client的成员变量。它对模块开发与组件隔离特别有益。Angular 2.0将会解决Angular 1.X所存在的这个方面的问题。添加丢失的的特性,如child injectors和lifetime/scope控制。

Annotations

AtScript提供工具关联元数据和功能。这有助于构建提供必要信息到DI库的对象实例(检查相关元数据时调用一个函数或创建一个类的实例)。它还容易通过提供一个注解重载参数数据。

Child Injectors

一个child injector继承了其父类的所有性能服务。根据要求,不同类型的对象可以被调用,并且自动覆盖不同的范围。

实例范围

改进的DI库将以实例范围为特性,这在使用Child Injectors和自己的范围标识符时变得更加强大。

模板和数据绑定

在开发应用中,模板和数据绑定将齐头并进。

动态载入

这是当前Angular版本所缺失的一个特性,不过将在Angular 2.0中出现。这将让开发者可以在忙碌中添加新的指令或控制器。

模板

在Angular 2.0中,模板编译过程将是异步的。由于代码是基于ES6模块规格,该模块加载器将通过简单的引用组件定义来加载依赖关系。

指令

在Angular 2.0中将会出现三种指令:

  • 组件指令——这些将通过JavaScript、HTML或一个可选的CSS样式表的封装逻辑创建可重复使用的组件。
  • 装饰指令——这些指令将被用来装饰元素(例如添加一个工具提示,或使用ng-show/ng-hide来显示/隐藏元素)。
  • 模板指令——这些将把HTML改变为可重复使用的模板。模板的实例化以及嵌入到DOM可以完全由指令控制。这样的例子包括ng-if和ng-repeat。

路由方案

初始的Angular路由是被设计用于处理一些简单的情况。然而,随着框架的发展,越来越多的功能被添加。在Angular 2.0中路由已经是可扩展的,它将包含以下基本功能:

  • 简单的基于json路由配置;
  • 优于配置的可选协定;
  • 静态的。参数化的路由模式;
  • URL解析器;
  • 支持查询字符串;
  • 使用推送状态或Hashchange;
  • 导航模型(生成一个导航UI);
  • 文档标题更新;
  • 404路由处理;
  • 位置服务;
  • 历史操作。

现在,让我们来看看那些让Angular 2.0达到新高度的路由特性:

子路由

子路由将把应用的每个组件通过为它们提供各自路由的方式转换成更小的应用,这将有助于封装整个应用的特性集。

屏幕激活

这将帮助开发者通过一组can*回调更出色的控制导航的生命周期:

  • canActivate——允许/阻止导航到新的控制器;
  • activate——响应成功到新的控制器的导航;
  • canDeactivate——允许/阻止导航远离旧的控制器;
  • deactivate——响应成功远离旧的控制器的导航;

这些回调将允许开发者返回Boolean值或一个命令(为了更低层次上的控制)。

设计

所有的这些逻辑都是使用流水线结构构建的,使得它非常容易将自己的步骤添加到流水线中或移除默认的东西。此外,它的异步特性将允许开发者使用服务器请求进行身份验证或为控制器加载数据,不过这还在规划中。

日志

Angular 2.0将包含一个被称为diary.js的日志服务——一个非常有用的特性,测量你在应用中时间花费在哪里。

Scope

$scope将从Angular 2.0中移除,取而代之的是ES6类。

结论

随着发布日期的临近,围绕Angular 2.0的兴奋和声音将会加剧。是否打破改变是一件好事?我们无法知道,不过反对者感到紧张是可以理解的,因为明显缺乏迁移的计划。Duang的一下就来了。不过其既然要来了,我们可以做的就是积极的迎接它。

原文来自:sitepoint
  • 大小: 237.6 KB
4
0
评论 共 3 条 请登录后发表评论
3 楼 white_crucifix 2015-03-05 15:09
其实最复杂的是Extjs MVVM, 呵呵
2 楼 lihao312 2015-03-04 11:27
react不是说好吗
1 楼 sp42 2015-03-04 10:33
太蛋疼的复杂,经历过框架之疼,才知道什么叫小而精

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • ORACLE 内存调整(SGA和PGA)

    SGA+PGA最好不要超过总内存的70%,内存详细调整方案,供学习。

  • SGA调整命令和总结

    SGA总结sga 调整:系统全局区又称SGA (System Global Area)oracle 9i:sga_max_sizeoracle 10g:sga_target_size,sga_max_size;命令:alter ...

  • Oracle数据库配置SGA

    修改init.ora文件或spfile文件:init.ora文件或spfile文件是Oracle数据库的参数文件,可以在其中设置SGA的大小。在修改参数文件时,需要找到SGA相关的参数(如SGA_MAX_SIZE、SGA_TARGET等),并设置它们的值。使用自动SGA调整功能:在Oracle数据库中,可以启用自动SGA调整功能,让Oracle自动调整SGA的大小以适应系统的需求。无论使用哪种方式来配置SGA,都需要根据数据库的负载和硬件资源情况来确定SGA的大小,以提高数据库性能。

  • SGA和PGA调整

    PGA_AGGREGATE_TARGET的值应该基于Oracle实例可利用内存的总量来设置,这个参数可以被动态的修改。从9i开始oracle支持不同块大小的 表空间,相应的可以为不同块大小的表空间指定不同块大小的数据缓冲区,不同块大小的数据缓冲区可以用相应的db_nk_cache_size来指定,其中 n可以是2、4、6、16或32。–如果PGA设置太小,导致PGA有时大于PGA_AGGREGATE_TARGET的值,此处为0,说明PGA没有扩展大于TARGET的值,如 果此值出现过,那么增加PGA大小。

  • ORACLE修改SGA,PGA大小

    发现此时报错,虽然提示的MEMORY_TARGET值最少为2256M,但是发现修改为参数文件还是无法启动数据库实例,此时可以把memory_target设置为0,此时禁用掉AMM管理方式,Oracle 数据库实例将无法自动调整和管理内存分配。ASMM 是 AMM 的一个特定功能,用于自动管理 SGA 内存中的共享池和数据库缓冲区的大小。总结来说,AMM 是一种更广义的自动内存管理技术,包括对SGA和PGA的管理,而 ASMM 是 AMM 中专注于自动管理 SGA 内存的一个具体功能。注:用的是sys用户。

  • oracle中修改sga和pga

    根据输出的结果显示 memory_max_target=0 与 memory_target=0 说明目前已经是 ASMM 模式直接修改sga与pga大小即可。INMEMORY_AUTOMATIC_LEVEL增加了一个新的值HIGH,我们只需设置一个大小,设置一个级别HIGH,就全搞定了。#如果memory_max_target非0 与 memory_target非0,使用下面命令将值改为0。思路:首先通过spfile指定路径创建一个pfile作为备份,然后在数据库中进行内存参数调整操作。

  • 设置SGA的原则以及修改它的大小

    一,设置SGA的原则: 有时候会碰到在配置SGA中出现了问题,由于分配的内存过多,数据库启不起来了。 而且还要注意,在WINDOWS平台下,32位的操作系统,SGA分配不能超过1.8G,64位的扛得住一些,所以我的数据库服务器换成64位的WINDOWS2003了。 内存结构=SGA(系统全局区)+PGA(程序全局区) SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再

  • ZT:Oracle常用dump命令

    http://ningoo.itpub.net/post/2149/287794Oracle常用dump命令,记录一下备查。一.Memory Dumps1).Global AreaALTER SESSION SET EVENTS...

  • 如何学习Oracle-写在《Oracle数据库性能优化》前面的话

    出处:http://www.eygle.com/blog链接:http://www.eygle.com/archives/2005/08/ecinieoracleouo.html很多朋友经常问起学习Oracle的方法,在这里我把写在《Oracle数据库性能优化》一书前面的话贴在这里,供大家参考,希望能对大家学习Oracle起到一定的指导作用!-----------------...

  • oracle调整sga大小,Oracle调整SGA大小

    Oracle调整SGA大小Oracle 11g 只要设置memory 就可以了。不需要单独对sga_max_size 进行设置,设置memory_max_target、memory_target 一般原则是 物理内存的1/2。设好了重启实例,sga_max_size 将自动变成memory_max_target设置的值memory_max_target < shm 切记,否则Oracl...

  • Oracle SGA大小调整策略

    #查看SGA信息 SYS@PROD> show parameter sga #修改SGA必须保持的原则: 1).sga_target不能大于sga_max_size,可以设置为相等。 2).SGA加上PGA等其他进程占用的内存总数必须小于操作系统的物理内存。 #确定启动是用哪个参数文件 SYS@PROD> show parameter spfile #调整原理 1.SGA_MAX_SIZE是静态参数,而SGA_TARGET可以动态修改,当要改的SGA_TARGET值超过SGA_MAX_SIZ

  • Oracle11gSGA调整方法

    oracle11g修改sga要先修改memory_target等参数,否则服务重启时会出现错误ORA-00844: Parameter not taking MEMORY_TARGET into account, see alert log for mo re information。       Oracle内存参数结构:              修改SGA必须保持的原

  • Oracle 调整SGA、PGA大小

    SQL> show parameter sga; SQL> alter system set sga_max_size=4096M scope=spfile; System altered. SQL> alter system set sga_target=4096M scope=spfile; System altered. 如果是RAC环境,需要这样增加sid='*':

  • 调整SGA大小

    调整SGA大小 SGA 图 如何设置SGA Oracle的一个重要发展方向就是自动管理,当然,SGA与PGA也不例外。从Oracle 9i开始,就出现了一个新的参数sga_max_size,可以保证在此数值之内的内...

  • SGA设置过高问题

    1、检查alter文件警告信息,如下: WARNING: EINVAL creating segment of size 内存地址 fix shm parameters in /etc/system or equivalent 则说明系统内核参数设置不合理或与SGA不匹配,检查/proc/sys/kernel/shmmax配置文件 oracle@eGroup2:~> cat /proc/s

  • Oracle调整SGA大小

    Oracle 11g 只要设置 memory 就可以了。不需要单独对 sga_max_size 进行设置,设置memory_max_target、memory_target  一般原则是 物理内存的1/2。设好了重启实例,sga_max_size 将自动变成memory_max_target设置的值 memory_max_target < shm 切记,否则Oracle实例将启动失败,报 ...

  • 对oracle实例的内存(SGA和PGA)进行调整,优化数据库性

    一、名词解释(1)SGA:SystemGlobal Area是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。(2)共享池:Shared Pool用于缓存最近被执行的SQL语句和最近被使用的数据定义,主要包括:Librarycache(共享SQL区)和Datadictionarycache(数据

  • Oracle Parameters

    如何查看数据库的parameter 方法1-show parameter SQL>show parameter NAME TYPE VALUE ————————— ———– —————————— background_core_dump string partial background_dump_de...

  • oracle SGA的查询与调整

    Oracle SGA主要由数据高整缓冲池(database buffer cache),共享池(shared pool),日志池(redo log buffer),大池(large pool),java池(java pool)组成   共享池部分由库高速缓存、字典高速缓存及其他一些用户和服务器会话信息组成   共享池(Shared pool) Shared pool的优化应该放在优先考虑

Global site tag (gtag.js) - Google Analytics