Angularjs bootstrap jquery jquery easyUI extjs 详解
AngularJS不能做什么?对比Angular/JSjQueryUI/Extjs1.angularjs html和js之间的数据衔接层,可以操控html元素(数据绑定、重复、隐藏)等,上手很容易,但想要精通,了解内部运行机制不容易。 2.bootstrap 用于页面布局样式设计,CSS等,与数据无关,是一种UI设计工具,一般搭配angularjs使用。 3.jquery 是一个JavaScript函数库,与angularjs作用一直,但更偏重于操作dom元素,对dom遍历和修改。 4.easyUI 是基于jQuery的框架,它侧重于页面显示部分,即UI,但是所有效果都是用jQuery实现的。
框架就好比兵器,你得明白你手里拿的是屠龙刀还是倚天剑,刀法主要是砍,剑法主要是刺。对于那些职业喷子和脑残粉,小僧送你们两个字:呵呵;同时祝你幸福,请点右上角。 首先要明白Angular不能做什么,或者Angular没有提供什么,然后再来看它能做什么,来看Angular与其它一些主流框架的对比。
对于上面的表格,有人可能要跟我抬杠,咱大jQuery不是有各种插件吗!不是有各种EasyUI、LigerUI等等一大堆UI吗! 我只想说,你特么到底有没有做过大型的开发?各种东西倒腾在一起的组装货能比得上品牌机?另外遇到jQuery版本不兼容就够你喝一壶了吧!说jQueryUI各种乱已经是对它客气了,实际上是一塌糊涂! 提醒某些小白区分好概念,小僧的喷点是jQueryUI,而不是jQuery,jQuery这把小巧玲珑的瑞士军刀小僧还是非常喜欢滴!另外,也有 一批基于jQuery的UI套件做得非常优秀,比如KendoUI,但是一分钱一分货,好东西基本上都是收费的。这么多年下来了,你应该早就习惯了这条行 规。再说一次,好!东!西!都!是!收!费!的! 又有人说,怎么没把bootstrap列在里面对比一下?请问油漆桶和Tank战车怎么比?你比给我看看。 关于前端UI体系的特别说明对于前端UI系统,特别说明一下。一般来说,前端UI必须包含以下控件和工具(参照了我最熟悉的Extjs):
Angular没有提供完善的UI,没有提供CSS样式套件,也没有对移动平台进行直接支持。所以,如果你使用Angular,你一定需要其它东西来配合。例如,如果需要UI,你需要使用jQueryUI,或者自己封装UI组件;如果需要CSS样式,你可以选择bootstrap或者LESS;如果需要支持移动平台,还是需要你自己 去开发。 好了,看到这里有人开始嘀咕了,这特么岂不是什么都没有嘛!!! 莫急,再来看Angular有什么。 Angular能做什么?1、自动化的数据双向绑定;
2、MVC;
3、依赖注入---DI系统;
4、指令系统(可以自定义语义化标签)---Directive机制;
5、模块化---Module机制;
6、路由机制---Route机制;
7、服务---Service机制;
8、内嵌表达式---Expression机制;
9、前端代码单元测试和集成测试的自动化(借助于Yeoman等工具);
10、模板;
11、动态加载;
这么多机制里面,核心的核心是指令系统,实际上其它所有特性都是建立在指令系统之上的。本质上说,Angular写了一个JS版的编译器,一切都构 建在这款编译器之上。对于使用者来说,可以把解析器看成一个JS虚拟机,有兴趣的人可以自己阅读Angular的Parser(HTML解析器)源码。 HTML解析器机制是其它所有框架所不具备也不敢这样做的,它是Angular的灵魂。 结论很显然,Angular并没有打算做一个高大全的所谓【框架】,它的核心价值在于,把一堆后台框架的概念带到了前端框架中,比如依 赖注入(来自Spring);同时又从其它地方抄了一些概念,比如数据自动双向绑定(貌似来自Flex)、模板、MVC、动态加载(来自 RequireJS等),等等。当然,这些理念都挺好。基于这些理念和工具,你可以把前端应用组织得非常良好。 但是,有一点请特别注意(尤其那些负责技术选型的所谓“架构尸”,请瞪大你的钛合金狗眼看好下面的内容):对于界面非常复杂的业务 型系统,必须要要有完备的UI支持(Form、DataGrid、Tree、Tab、Window等)。如果你的团队整体JS水平很烂,或者压根没打算自 己去做很多东西,请慎用AngularJS!尤其是那些只有两三条破枪,连美工都没有的小公司,您请靠边儿凉快,这儿没您什么事儿。
白及说: 有一些项目总结在里面,但是不是很全面,对于小白来说,可以听听简单理解一下! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |