🎶 Sym - 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台

📕 思源笔记 - 一款桌面端笔记应用,支持 Windows、Mac 和 Linux

🎸 Solo - B3log 分布式社区的博客端节点,欢迎加入下一代社区网络

♏ Vditor - 一款浏览器端的 Markdown 编辑器

浅谈《12 种 JavaScript MVC 框架之比较》之感

大学时代说道 MVC,那只会觉得是服务器端代码,如今随着互联网的发展,JavaScript 也开始 MVC 了。

懒惰的我偏向简洁、快速、易上手、原生态的东西。对于各种新事物也只是停留在关注层面,不到万不得已是懒得去使用的 ^^(部分框架里面的功能总有你永远也用不上的。不过 Nginx 就比较好了,不要的模块可以删了)

前不久弄 CSS 框架的时候也不想着用什么其它的东东,后面要弄合并,压缩之类的。还是把 LESS 翻出来了(LESS 环境搭建

废话许久,大周末的,游戏打累了,胡言乱语思路不清晰了。又想接着玩了。。。

总的说来,尽量选择小巧、稳定的框架进行使用。什么级别的前端项目才能用到 JavaScript MVC 框架呢?要用都可以去用,只是没有必要把简单的事情复杂化。

例如在你引入 jQuery 后,你只需写一些 jQuery 的插件来进行辅助,写一些业务逻辑代码去进行处理就应该 ok 了。

但假如你要自己去写 js 框架,然后又需要什么按需加载,减少文件引入数目,那就不得不用一些辅助工具了。如:uglify-js,jslint 等等之类的。

呃,好像也都可以不用 JavaScript MVC 框架。今天读到下面这篇文章,首先觉得谈的太范了,其次觉得有一半是陌生的。看来真的对这方面不感兴趣啊 o(∩_∩)o

收工,求每日首胜去了

 

如果你对 JavaScript MVC 有兴趣不妨继续往下阅读

下文转自:12种 JavaScript MVC 框架之比较

Gordon L. Hempton 是西雅图的一位黑客和设计师,他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架,并在博客中总结了每种框架的优缺点,最终的结果是,Ember.js胜出。

此次比较针对的特性标准有四种,分别是:

  • UI绑定(UI Bindings)
  • 复合视图(Composed Views)
  • Web表现层(Web Presentation Layer)
  • 与其他框架良好协作(Plays Nicely with Others)

对于各种JavaScript MVC框架,Gordon都总结了优缺点:

  1. Backbone.js——优点:强大的社区,强劲的势头;缺点:抽象较弱,很多功能亟待增加。
  2. SproutCore——优点:对绑定的支持,可靠的社区,大量特性;缺点:过度规范,难以和不需要的特性解耦。
  3. Sammy.js——优点:易于学习,更容易和现存的服务端应用程序整合;缺点:过于简单,无法应用于大型应用程序中。
  4. Spine.js——优点:轻量级,文档很完备;缺点:它的核心概念“spine”是异步的用户界面,这意味着理想状况用户界面永远不会发生堵塞,而这个基础有缺陷。
  5. Cappuccino——优点:大型深思熟虑后的框架,良好的社区,很棒的继承模型;缺点:由iOS开发者创建,使用JavaScript模拟Objective-C。
  6. Knockout.js——优点:对绑定的支持,完备的文档和教程;缺点:绑定语法拙劣,缺少统一的视图组件层级关系。
  7. Javascript MVC——优点:可靠的社区;缺点:基于字符串的继承模型很差,控制器与视图关系过密而缺少绑定。
  8. GWT(Google Web Toolkit)——优点:全面的框架,良好的社区,可靠的基于Java的组件继承模型;缺点:可能无法经受时间的考验,另外,Java在客户端上的抽象有些笨拙。
  9. Google Closure——优点:很好的基于组件的UI组合系统。缺点:缺少UI绑定支持。
  10. Ember.js——优点:很丰富的模板系统,拥有复合视图和UI绑定;缺点:相对较新,文档不够完备。
  11. Angular.js——优点:对模板范围和控制器设计有很好的考虑,拥有依赖注入系统,支持丰富的UI绑定语法。缺点:代码的模块性不强,视图的模块化也不够。
  12. Batman.js——优点:代码清晰,绑定、持久化的方法简单;缺点:使用了单例控制器。

经过对以上各种 Javascript MVC 框架特性的比较,Gordon认为只有 Ember.js 能够完全满足他的要求,从而成为他最终选用的框架。


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

留下你的脚步