music unfamous original game design efficient software wtf
life ui algorithm fix programming

AngularJS,Byebye

作者:frinity  Javascript    2015-6-19  标签:  programming 

    这个年代,任何语言的程序员,多少都要沾染一些 JS,因为一些曲曲折折的关系,我竟到了非要了解 AngularJS 的地步。于是上官网看Document ,不得不说,AngularJS 是一个非常强大的JS 框架,强大到让人窒息。

    为什么我要对这么强大的框架说 byebye 呢?先来说说我为什么非要了解它。

    最近在找一种跨平台的移动方案,于是接触了cordova,然后是 ionic 基于 cordova 进行了一层包装,用的 JS 库就是   AngularJS 。抛弃 AngularJS  之后,以cordova 为基础同样是可以的。

    一,自定义标签

    Angular Team 又要召开 ng-conf 大会了,让我不由想起了那些 ng-modal,ng-bind...... ng 到底是什么玩意??以前我使用过 DWZ 这个前端框架,而且修复过一些bug或者说做了扩展,好像作者不怎么维护了,对于 DWZ ,我用过一个项目就抛弃了----同样的自定义标签(印象),而且一个非标准化的标签就定义了往后台 post 什么数据,这种自动化本身很好----如果作者自己使用的话。对于我,我认为它深度入侵了我的思维。

    二,Framework VS. Library

    一直从事C++的开发工作,对于Framework 的东西真的有点承受不来,它首先构筑了一个宫殿,同样也是一个繁华的监狱。你在它的地盘上必须要听它的,那些沟沟坎坎,那些曲折的,拗口的,必须实现又很隐蔽的回调。说实话,我有很久不用 Framework 了。这是编程哲学问题, Angular 很完美,是什么 MVC,MVV*,其实真的不知道从什么时候开始前端也开始 MVC 了,还 MVV*.. 那些 ng-* 的directives,factory,service,filter,jqLite,provider......好吧,你完全符合Framework 的特质。

    三,过度复杂和排他性

    即使当初那么扯淡的 DWZ ,相比 AngularJS  我还是不得不说:too simple,too young,正像上面提到的----那一堆熟悉的英文单词的东西几乎超越了所有的现存Framework,各种语言。

    而且和其他 JS 库,框架极难共存,甚至是CSS,看看 AngularJS  不得不自己重做的 bootstrap3,叫 ui bootstrap,还是自定义标签,他们对自定义标签这个事的态度是一贯的

    而 AngularJS2.x 即将到来,这是个尴尬的时刻,它会更复杂吗?1.x 会是什么结局?

    面对这个复杂性的问题,这帮人真把 JS 这么优秀的代码玩成了一坨屎。

    四,Google 出品

    不知道是不是贴牌,Google 的东西我一般都很喜欢。如果真的想用 AngularJS  ,推荐 www.w3school.com 上的AngularJS API,我想这些就够了,同时参考 AngularJS $watch 优化

    继续你们的学术研究吧,Angular Team。

    PS. 我想上面的理由已经够了,在移动端 IE 为主导的兼容性问题已经很小,主要还是性能,而 AngularJS 的双向绑定注定了其性能不会优秀。它的优势关键在于代码量少,有一句话用在这里很奇妙:少即是多。