[转]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 ...
随机推荐
- STL中map与hash_map的比较
1. map : C++的STL中map是使用树来做查找算法; 时间复杂度:O(log2N) 2. hash_map : 使用hash表来排列配对,hash表是使用关键字来计算表位置; 时间复杂度:O ...
- 【原创】QT编程 多线程
请先保证已安装QT,没有请参考 http://www.cnblogs.com/kavs/p/4608926.html 安装QT. 新建threads文件夹存放项目:mkdir threads sud ...
- MySql中常用语句
1.查询语句: SELECT 查询字段 FROM 表名 WHERE 条件 查询字段可以使用 通配符* 字段名 别名(把长的名字命名一个别名,比较短的) 通配符:SELECT * FROM ' ...
- IE6背景图片闪动问题
在IE6中,当JS触发事件时或者hover的时候,如果网速过慢 IE6背景图片重新加载会闪一下. 好的一个解决方案是 <!--[if IE 6]><script> try{do ...
- php中浮点数计算问题
如果用php的+-*/计算浮点数的时候,可能会遇到一些计算结果错误的问题,比如echo intval( 0.58*100 );会打印57,而不是58,这个其实是计算机底层二进制无法精确表示浮点数的一个 ...
- [转载]如何重装Grub,使其可以引导双系统
引言: GRUB是一个多重操作系统的启动管理器.用来引导不同的系统,如windows,Linux.一般来说要先装Windows,后装Linux,这样grub才能生效(grub存在于linux的安装中) ...
- 第一个CUDA程序
开始学CUDA 先写一个简单的 #include<iostream>__global__ void add( int a, int b, int *c ) { *c = a + b;}in ...
- complex(x):创建一个复数
使用python可以实现将一个整数或者浮点数转换为一个复数: 演示如下: >>> # 演示复数函数:complex(x) ... >>> x = complex(1 ...
- Cloud Test 在手,宕机时让您不再措手不及
1月28日,Github 上午 10:04 分宕机了,导致全球各地的用户不能访问.官方回复可能是网络中断引起的,到 10:28 分已经可以正常访问. 对于互联网公司来说,一旦宕机就会措手不及,如何才能 ...
- 不重复查询mysql
select EquipmentSID,MIN(MatureTime),MIN(ISlock) from table group by name String sql =” Select * from ...