- 终于出现明白人,我个人认为过度推广就是一种营销,而vue作为一个开源框架,这么做实在让人有些反感,也许不是那么客观。
- 你举的这些例子,难道我就没了解吗?当你没了解我是否了解的时候,也请不要妄下结论。不要上过github就像第一次进城一样。
- vue的出现就是对angular 1.x的模仿,无论是模版还是双向绑定。
ember有个cli可以一键生成项目,vue就出了个vue-cli。
react出了jsx之后,vue也添加了对jsx的支持,react的vdom号称性能牛逼,vue2.0就也实现了vdom。
react有reflux、redux实现单项数据流,vue就也实现了个vuex。
react-native和weex孰先孰后双方各执一词,但是react-native无论是立意还是正式发布都早于weex。
借鉴本无可厚非,然而其它框架基本没有受到过vue的反哺。
我说的vue没有理念指的就是vue总是在借鉴、模仿别人,将别人的思想重新实现一遍。
然后再通过一些技术社交平台来进行推广,就连微信小程序面市,vue2.0都要借势宣传一波,所以js社区才有娱乐圈这种雅称。
当然这只是我个人的喜好问题,我不喜欢vue,是因为我认为框架最重要的是思想而不是实践。redux的源码也不过几千行,我相信很多人理解redux思想之后,自己实现一个也不是太大的问题,甚至可以比redux实现得更优雅。
正如rails现在已不如前几年那么"coooool",可是它的思想可谓被无数web框架借鉴乃至依然显得伟大。
angular和react/flux也做到了这点,可是vue没有。
#13楼 @hxh1246996371 另外你要我列举我所谓的场景,不妨我就稍微说说我的看法抛砖引玉
首先是Angular2引入了ts,可以用作静态类型检查,更方便地写测试代码。引入了模块化,解决了react组件业务切分不明,组件粒度过细导致开发起来常常束手束脚的缺点。有model层可以实现前端管道过滤不规则json,有指令可以实现自治组件,有service可以拆分逻辑代码。Angular2的开发体验更接近后端项目,例如做一个业务极其复杂的企业系统(例如erp、oa等),或者是上千个页面的中大型网站,我很难想象用react或者vue开发如何能够做到多人协作组件复用化还能使项目不杂乱。
目前和vue使用人群重叠最大的就是react,这二者都是细粒度木偶组件+自由组合智能组件+单向数据流的开发方式,而react当初被提出其实只是fb想要实现一个前端view层的复用,因此数据流动方式其实除了redux这类前端flux思想实现外,还有如relay、graphql以及第三方的meteor等后端框架来让开发者自由使用,此时的开发场景就不仅限于spa页面了。我说的轻重结合,实际上就是指组件拆分细化的话,无论何种场景都可以根据使用情况打包不同的组件来达到快速开发而打包的js文件也不会太大。
至于weex,一个阿里的kpi项目,用脚趾头想也知道只能选个人项目vue了吧。
另外riot这类新兴的微型框架就是在这方面做到极致,比如你开发一个只有一个页面的spa,引入一个riot就可以使用各种mvvm特性,打包的js文件还小,这就是我说的微型场景。
而vue的定位真的很尴尬,高不成低不就。如果你要强行说vue可以开发全部的场景,那也是可以牵强地成立的。不过同时我说jQuery也可以做到,你还要否认的话就是双重标准了。我两年前就用jQuery实现了一个组件化的mvvm框架,虽然那时候刚开始做前端写得不太漂亮。