为什么Discourse选择ember.js

简介: Discourse的推出在整个社区赚足了眼球,由于Discourse选择使用Ember.JS作为前端MVC框架,这促使Ember.JS也成为了热议的话题。一年多以前SproutCore2正式改名为Ember.JS后,本人持续的关注了Ember.JS的开发过程,见证着Ember.JS的成长。Ember.JS的API在整个社区共同协作的基础上日趋稳定,Ember.JS 1.0.rc1的推出,更是标着其API已经成熟。我相信越来越多基于Ember.JS实现的优秀的应用,将会像雨后春笋般涌现出来。

Discourse的推出在整个社区赚足了眼球,由于Discourse选择使用Ember.JS作为前端MVC框架,这促使Ember.JS也成为了热议的话题。一年多以前SproutCore2正式改名为Ember.JS后,本人持续的关注了Ember.JS的开发过程,见证着Ember.JS的成长。Ember.JS的API在整个社区共同协作的基础上日趋稳定,Ember.JS 1.0.rc1的推出,更是标着其API已经成熟。我相信越来越多基于Ember.JS实现的优秀的应用,将会像雨后春笋般涌现出来。

image.png

Robin Ward(Discourse的发起者之一)在2013年2月10日撰写了一片博文Why Discourse Uses Ember.JS,从他个人的角度阐述了为什么Discourse选择Ember.JS作为前端MVC框架。一下为Robin Ward的几个核心观点:


  • Ember.JS的文档简单易懂
    Robin Ward通过与Angular.JS Guides比较,Robin认为较Angular.JS而言,Ember.JS的文档简单易懂,对于初学者来说更是如此。
  • Ember.JS早期已经取得了令人瞩目的成绩,近期更是有了大幅的改进
    Meteor在推出的时候,同时给出了一个非常精彩的示例,但是它却缺少了一些非常重要的安全特性。但是就Ember.JS而言,在其最早期的时候(我想应该是指0.9.x),其提供的功能就已经相当的棒了。Robin感慨选择用Ember.JS来开发Discourse的正确性。另外,从Ember.JS的首次发布到现在,其API经过了非常大的调整,运行也变得越来越快。最新的API里面包括一个新的路由(Router)接口,这从很大程度上进一步降低了让人讨厌的重复代码。
  • Ember.JS核心开发团队在开源社区有骄人的历史成绩
    Yehuda Katz在Rails 3和Bundler完成了让人称口叫绝的工作(还有Merb、jQuery等),而且团队的其他成员也非常的优秀。Yehuda在与Robin的交谈时说他自己已经疯狂的迷恋上了Ember.JS,而Robin也深信这一点,因为Ember.JS实在是太优秀了。
  • Ember.JS采用了字符串类型的模板
    Ember.JS与Angular.JS不一同的一点是其采用了字符串类型的模板,而Angular.JS采用的是DOM类型的。这点完全是因为Robin的个人喜好,但是他也强调了如果要做一些服务器端的渲染,那么字符串类型的模板要比DOM类型的容易很多,因为不需要启动一个完整的PhantomJS的环境。
  • Ember.JS的运行循环
    Ember.JS的运行循环机制是其能得意获得高性能的一个基础,Ember.JS采用批量更新的方式来保持DOM的同步。相比其他很多框架采用循环逐一进行同步更新的机制来说要快了许多。
相关文章
|
6月前
|
存储 开发工具 git
我为什么选择 Wiki.js 记笔记?
我为什么选择 Wiki.js 记笔记?
|
前端开发
dva.js初识
dva.js初识
51 0
|
JavaScript 数据库 索引
Nest.js简单入门p3
Nest.js简单入门p3
|
JSON 开发框架 安全
Nest.js简单入门p1
Nest.js简单入门p1
|
JavaScript 关系型数据库 数据库
Nest.js简单入门p2
Nest.js简单入门p2
|
存储 JSON 缓存
Ember.js 项目开发之 Ember Data
Ember.js 是一个基于MVVM模型的开源框架,该框架主要用于创建复杂的多页面应用程序。它最大的特点是:持续推出最新的特性,并不会丢弃任何旧功能。
157 0
Ember.js 项目开发之 Ember Data
|
前端开发 JavaScript
skrollr.js中文教程
skrollr.js是一款轻量级且强大的js库,关于这款js库的相关的详细教程却不多。 所以这里根据国内一些大神们的笔记和skrollr官方文档进行总结,方便自己以后查阅,也方便大家学习。
3750 0
|
中间件 Linux Windows
|
Web App开发 JavaScript 前端开发
riot.js教程【一】简介
题记 这是一个系列文章的第一篇 如果关注riot.js的人,可以关注我的博客; 我接下来会持续不断的发这一块的文章; 系列文章内容大多来自官网翻译;  Riotjs简介 Riotjs是一款简单的、优雅的、组件化UI前端开发框架; 他支持自定义标签(custom tags),拥有令人愉悦...
1665 0
|
JavaScript
sui.js和workflow2.js内容详解
一、     二、   var config=$("div[name=lwnf]").sui().getConfig()~var config = this.zoo.getConfig();等同   三、注册组件   var zoos = {}; function register(name, com){ com.
1281 0
下一篇
无影云桌面