D 的个人博客

但行好事莫问前程

  menu
417 文章
3446695 浏览
10 当前访客
ღゝ◡╹)ノ❤️

AngularJS 与 EmberJS

前端 JavaScript 框架对比

目前比较主流的几个浏览器客户端 JavaScript 框架对比:

前端 mvw 框架对比

从左到右是框架提供的功能特性由少到多,对应用开发的支持逐渐丰富;
从下到上是框架设计复杂度/上手难度由简单到复杂。

AngularJS v.s. EmberJS

这里重点对比 EmberJS 和 AngularJS 的差异:

                             AngularJS          EmberJS    
模版   通过 HTML 标签  自定义标签(字符串)
 社区支持  Google  个人
 性能  略好  略差
 标准化  可能性较大 可能性较小 

这两者都是浏览器客户端的 MVW 框架,从使用上看对开发的要求是基本相近的,都需要开发者以 MVC 的视角去设计前端(而不是针对页面、DOM 进行实现),这和服务器端的设计思路非常类似,有助于复杂应用进行模块化开发。细节上 AngularJS 的设计也更贴近 Java 风格的开发者(比如依赖注入、路由 API 等)。

AngularJS 使用须知

开发者在使用 AngularJS 时也需要使用和这个框架匹配的开发方式:

  • 非常适合于 SPA(Single Page-application),一个应用只有一个页面 (DOM),例如 Gmail
  • 标准分层(视图模版、控制器、服务),以“请求分发”为起点来规划模块
  • 优先使用 ng 模块实现需求(比如路由模块、动画模块),而不是使用其他库(jQuery)

AngularJS 与 FreeMarker

在生成 ng 模版时服务器端最好也是用模版引擎(例如 FreeMarker)来处理,基于 HTTP 请求-响应的交互过程如下:

AngularJS 与 FreeMarker

P.S. 服务器端选择 Node 可能更适合。