[试读] Angular 5 高级编程
痛苦:学习难度如何?开发效率如何?运行性能如何?可维护性高吗?还有开发社区、发 展前景等因素需要考虑。评估任何一个框架不仅要看其优势,还要看它给开发者挖的坑有 多深。Angular 框架自最初的 AngularJS,迭代到最新的 Angular 5,其不变的最显著特征就 是其整合性。作为一个一体化框架,Angular 经过精心的前期设计,涵盖了开发中的各个 层面,层与层之间都经过精心调适。开发者借助这个“开箱即用”的框架,就可以完成大 ...............6 2.1.3 安装 Git...............................6 2.1.4 安装编辑器..........................7 2.1.5 安装浏览器..........................7 2.2 创建并准备项目.........................8 2.2.1 创建项目 创建项目.............................8 2.2.2 创建包文件..........................8 2.2.3 启动服务器........................10 2.2.4 编辑 HTML 文件................11 2.3 向项目中添加 Angular 功能.....13 2.3.1 准备 HTML0 码力 | 42 页 | 6.14 MB | 1 年前3ExtJS和AngularJS比较
试。我们选取了同样的组件,规范了测试的流程,以保证测试的结果。 ExtJS 对比 AngularJS: 特性比较 性能比较 框架比较 架构比较 进一步的分析 Sencha Ext JS 强大的企业级开发框架 良好的浏览器兼容性 基于MVC的框架开发 图标插件 Modern UI widgets AngularJS 对于 web apps的HTML的增强 可以与其他的类库协同工作 开源的javascript框架,google维 Bootstrap, K endo (and Angular-Kendo), Wijmo 和其他 的. 3. 开发单页应用 ✔ ✔ 4. 跨浏览器兼容性 ✔ AngularJS 基于jqLite/jQuery实现浏览器 的兼容。但是其集成的第三方组件不一 定支持跨浏览器兼容。 注意: AnugularJS (1.3 及其以上版本) 移除了对IE8的支持。如果需要对于IE8 的支持,请选择ExtJS 5 自带了Karma用于端对端的测 试。 Protractor 是用于 Angular apps端对 端测试的框架 性能 性能 14. Dom算法 深度优先,自底向上 对于DOM树,指令是深度优先、自底 往上的算法。而对于控制器则是自上往 下的方式。 15. 性能 高度的封装,所以 ExtJS 相对较慢 在我们的性能测试中, AngularJS 比Ext JS快3倍。 16. 轻量级 - 下载的包 ✘ ✔ 移动端 移动端0 码力 | 6 页 | 244.12 KB | 1 年前3[试读]Angular 应用安全编程
一个应用通常会包含很多功能模块。 3 像 JavaScript 模块一样,NgModule 也可以从其它 NgModule 中导入功能,并允许导出它们自己的功能供 其它 NgModule 使用。比如,要在你的应用中使用路由器(Router)服务,就要导入 Router 这个 NgModule。 把你的代码组织成一些清晰的功能模块,可以帮助管理复杂应用的开发工作并实现可复用性设计。另 外,这项技术还能让你获得惰性加载( 来获取英雄数据。BackendService 还可能再转而依赖 HttpClient 服务来从服务器异步获取英雄列 表。 2.2 依赖注入(dependency injection) 组件是服务的消费者,也就是说,你可以把一个服务注入到组件中,让组件类得以访问该服务类。 在 Angular 中,要把一个类定义为服务,就要用 @Injectable 装饰器来提供元数据,以便让 Angular 可以 把它作为依赖注入到组件中。 @Injectable 装饰器来表明一个组件或其它类(比如 另一个服务、管道或 NgModule)拥有一个依赖。依赖并不必然是服务,它 也可能是函数或值等等。 同样,也要使用 @Injectable 装饰器来表明一个组件或其它类(比如 另一个服务、管道或 NgModule)拥有一个依赖。依赖并不必然是服务,它 也可能是函数或值等等。 同样,也要使用 @Injectable 装饰器来表明一个组件或其它类(比如另一个服务、管道或0 码力 | 27 页 | 177.00 KB | 1 年前3快快樂樂學會 Angular 2 網站開發框架
(Render & Re-render) • 範本編譯:支援 Template 預先編譯機制 – 更小的 Library Size ( 透過 webpack 自動合併 ) – 支援延遲載入機制與伺服器渲染機制 (Node.js & ASP.NET ) • 學習曲線更低 – 採用 TypeScript 語法更簡潔 ( 類別、介面、屬性、方法 ) – 移除超過 40+ 個 directives • 具有新穎的 JavaScript 語言特性 ( let, const, for-of, … ) – 可透過 Babel 轉譯器將瀏覽器不支援的語法轉為 ES5 版本 • TypeScript – 此版本為 ES 2015 的「超集合」 – 具有強型別特性、內建 ES5 轉譯器 (Transpiler)、更好的工具支援 • Dart – 非 JavaScript 家族的程式語言 – 具有強型別特性 (Directives) 類別 ( Class ) • 建構式 (Constructor) • 屬性 (Properties) • 方法 (Methods) 中繼資料 ( Metadata ) • 裝飾器 (Decorator) • 針對類別 • 針對屬性 • 針對方法 • 針對參數 17 認識 Angular 元件的程式碼結構 import { Component } from '@angular/core';0 码力 | 38 页 | 1.12 MB | 1 年前3基于AngularJS的企业应⽤前端架构
重业务,轻视觉 • 界⾯面规整,模式单⼀一 • 键盘操作 • 逻辑复杂 • 加载速度的侧重不同 • 浏览器版本相对宽松 传统的B/S企业应⽤用前端 • B/S企业软件常⽤用的展现层技术 – HTC 在浏览器端扩展标签 – JSF等 在服务端⽣生成界⾯面 – GWT 编译阶段⽣生成界⾯面 – ExtJS ⽤用JS封装界⾯面组件 – Flex等 在创建界⾯面时,声明式代码是有优势的。 • HTML的标签集是⽐比较贫乏的。 • 服务端⾃自定义标签的劣势 • 曾经有过什么浏览器端⾃自定义标签机制 – html components(IE only) • 现在有哪些⽅方式在浏览器端⾃自定义标签 – polymer,angularjs 业务逻辑层 • 在良好的分层机制下,前端可以独⽴立出⼀一层 与界⾯面元素⽆无关的纯逻辑层0 码力 | 13 页 | 517.57 KB | 1 年前3Angular核心特性 大漠穷秋 2017-05-13
第五块内容:参考资源推荐 第一块:集成开发环境@angular/cli 2009年,前端Big Bang! Tool Chains based on NodeJS npm:世界上最糟糕的模块管理器 @angular/cli 把所有零散的Node工具都集成起来多好啊! @angular/cli @angular/cli >npm install -g @angular/cli NgModule 文件体积 请求数量 这里需要取得一个平衡 第三个核心概念:Router 问题:前端为什么需要Router? 前端为什么需要Router? 如果没有Router,浏览器的前进后退按钮没法用 如果没有Router,你将无法把URL拷贝并分享给你的朋友 Angular应用中路由形成的Tree形结构 Angular路由用法:静态路由 Angular路由用法:异步路由 第三块:Angular架构特色 依赖注入 依赖注入 Parent Injector Child Injector 注射器(Injector) 也是一个树型结构 依赖注入 依赖注入 每一个HTML标签上面都会有一个注射器实例 注射是通过constructor进行的 @Injectable是@Component的子类 https://vsavkin0 码力 | 52 页 | 2.50 MB | 1 年前3
共 6 条
- 1