[转]Angular, Backbone, or Ember: Which is Best for your Build?
In order to choose which framework is right for your build, we’ve asked four important questions of each framework.
AngularJS
1. What is AngularJS?
AngularJS is a client-side JavaScript framework that allows you to organize large, client-heavy applications into something manageable.
2. What does Angular do better than competing frameworks?
Angular has nifty features such as two-way data binding, the ability to make custom HTML tags/attributes/comments that encapsulate functionality, and built-in directives that extend the functionality of normal HTML. Angular is also really versatile, it can be used for large, one-page app projects or for a small little element; there’s not much setup required to start using Angular’s built-in directives.
3. Where does Angular fall short?
Angular’s biggest drawback is that there can be many ways to do one thing. Until you use Angular for something fairly big, it can be difficult to find the best ways of doing things. Also, you have to be very careful to clean up events and DOM elements if you work with them in a “non-Angular” way or you may create memory leaks.
4. What type of applications are best built with Angular?
Angular is great for just about anything you want to do with JavaScript in the browser, big or small. If you want a framework that makes your HTML more declarative and gives you neat features like directives, then AngularJS is a great choice. If you want a more opinionated framework that forces you to structure code in a particular way, then you might want to look at another option.
Some applications built with AngularJS include:
- YouTube for PS3
- Our new Code School course system is a fairly large and complex AngularJS app. The two courses currently using it are Discover Drive and Shaping Up With AngularJS
- More examples found at: https://builtwith.angularjs.org/
Backbone.js
1. What is Backbone.js?
Backbone.js is a minimalistic JavaScript framework that gives structure to web applications by pulling your “truth” — your model — out of your DOM and into Backbone’s Model, Collection, and View objects.
2. What does Backbone do better than competing frameworks?
Backbone is relatively easy to implement on a small portion of a page, and at only 6KB for the entire production version library, a little code can mean a lot of organization for your application. With far fewer concepts to grasp than Angular or Ember, Backbone is easier to get started with and allows for greater control over the method of implementation.
3. Where does Backbone fall short?
The “hands-off” approach of Backbone may mean implementing many features that are already in other frameworks. Backbone doesn’t include data-binding, the ability to have changes in one place trigger a change elsewhere. You could set this up on a per-case basis, but it’s not a core feature of Backbone.
4. What type of applications are built with Backbone?
Being one of the first JavaScript MVC (or what most call MVV) frameworks, Backbone has a head start on other frameworks that have only become popular in the last year or two.
Some applications built with Backbone.js include:
- A number of Code School courses, like Try Ruby, Try jQuery, Try Objective-C, and yes, even Warming Up With Ember.js
- Khan Academy
- Groupon Now
- Stripe
- Airbnb Mobile Web
- More examples found at: http://backbonejs.org/#examples
Ember.js
1. What is Ember.js?
Ember is a framework for creating rich JavaScript web applications.
2. What does Ember do better than competing frameworks?
Ember has conventions that can help developers be more productive and write better code. These conventions help facilitate the collaboration between different developers working on the same project. Ember also has top-notch router and URL handling.
3. Where does Ember fall short?
After you get past the basics, Ember’s learning curve can be a bit steep. Since the API has changed so rapidly, a lot of the code examples you may find online are out of date.
4. What type of applications are built with Ember?
Ember is typically used for building long-lived applications, such as admin dashboards where a user is expected to keep their browser open for many hours.
Some teams that build with Ember.js include:
- Zendesk
- Yahoo!
- Travis CI
- More examples found at: http://emberjs.com/ember-users/
[转]Angular, Backbone, or Ember: Which is Best for your Build?的更多相关文章
- Angular.js vs Ember.js
Angular.js 拥抱 HTML/CSS Misko Hevery(Angular.js的开发者之一)回答了这一问题,他的主要观点如下: 在HTML中加入太多逻辑不是好做法.Angular.js只 ...
- 【转】Angular.js VS. Ember.js:谁将成为Web开发的新宠?
本文源自于Quora网站的一个问题,作者称最近一直在为一个新的Rails项目寻找一个JavaScript框架,通过筛选,最终纠结于 Angular.js和 Ember.js. 这个问题获得了大量的关注 ...
- Angular.js VS. Ember.js:谁将成为Web开发的新宠?
这篇博文陈述的非常好,比较全面的剖析了Angular.js与Ember.js,下面的链接,供学习与参考: http://www.csdn.net/article/2013-09-09/2816880- ...
- 【JavaScript】对比12 款优秀的JavaScript MVC/MVVC框架 你最喜欢Backbone or Ember
http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/ 目前基本所以后台程序都是面向对象MVC模式开发, ...
- AngularJS Backbone.js Ember.js 对比
看到一篇关于AngularJS Backbone Ember.js的对比,建议看一看 说说个人的观点(本人学艺不精,只是个人的观点,不保证观点完全正确,请轻拍): backbone.js 短小精悍,非 ...
- 【JavsScript】JavaScript MVC框架PK:Angular、Backbone、CanJS与Ember
摘要:选择JavaScript MVC框架很难.一方面要考虑的因素非常多,另一方面这种框架也非常多,而要从中选择一个合适的,还真得费一番心思.本文对JavaScript MVC框架Angular.Ba ...
- JavaScript MVC框架PK:Angular、Backbone、CanJS与Ember
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- JavaScript MVC框架PK:Angular、Backbone、CanJS与Ember(转载)
原文地址:http://sporto.github.io/.../comparison-angular-backbone-can-ember/ 原文作者:Sebastian Porto @Twitte ...
- Top JavaScript Frameworks, Libraries & Tools and When to Use Them
It seems almost every other week there is a new JavaScript library taking the web community by storm ...
随机推荐
- 关于c++的输入
vector<int> iv1, iv2; cout << "请为第一个vector容器装填整数元素,以s结尾:" << endl; int n ...
- (转)iOS学习之 plist文件的读写
在做iOS开发时,经常用到到plist文件, 那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.plist ...
- centOS 6.4 vsftpd 500 illegal port command
原先配置好的vsftpd突然不行了,不知为啥,感觉跟网络有关,这个网络总是有dns拦截的现象,..小公司.真烦人,用联通线路就没问题, 但同事就是连不上,我的笔记本却可以连接上..我的ubuntn,同 ...
- 《sort命令的k选项大讨论》-linux命令五分钟系列之二十七
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
- fstat().stat()函数
int stat(const char *path, struct stat *buf); int fstat(int fd, struct stat *buf); 唯一不同是参数不同,其他一样. 文 ...
- OpenCV2学习笔记02:MSVC2013搭建OpenCV开发环境
我这里编译的库是通过手动编译的.只是需要注意的是,手动编译一般会产生大量的文件,差不多7个多G的样子,实在是有点浪费硬盘存储呀,其实我们可以删除掉没有用的东西.因为我们在编译的时候指定了一个目录比如我 ...
- yii2源码学习笔记(十七)
Theme 类,应用的主题,通过替换路径实现主题的应用,方法为获取根路径和根链接:yii2\base\Theme.php <?php /** * @link http://www.yiifram ...
- Omnithreadlibary学习(3)-IOmniTask异步执行SendMessage
在任务中发送消息, 可以是函数或者对象方法 TOmniTaskMessageEvent = procedure(const task: IOmniTaskControl; const msg: TOm ...
- GPUImage 滤镜头文件
#import "GLProgram.h" // Base classes #import "GPUImageOpenGLESContext.h" #impor ...
- Remove linked list elements | leetcode
Remove all elements from a linked list of integers that have value val. Example Given: 1 --> 2 -- ...