Vue 我从 Vue.js 回到了 jQuery

mingyuan0715 · 发布于 2016年10月19日 · 最后由 def1984 回复于 2017年3月14日 · 7093 次阅读
2329

之前用Vue 做过一个纯前端的项目,与后端通过api 交互数据,深深的感觉到了Vue的简约和强大。

最近做一个rails项目也尝试着用上了Vue, 发现 jQuery + turbolinks + ujs + erb 足够简单了,性能也足够好,很多用DOM操作很简单的事情,要换个思路硬是分离出数据和视图反而变复杂了。

正好也不用担心客户端渲染引起的其他比如SEO的问题。

共收到 43 条回复
10594

你的需求用不上vue啊~

23529

迁移有歧义啊,另外要jq的话可以试试bacon.js,部分场景有奇效

2329

#2楼 @mizuhashi 感觉是略有点标题党,感谢你的介绍。

10401

纯属标题党,场景不同就应该选择不同的框架

68

我是用了很多年的jQuery了,最近学习了Vue.js后,果断用上。心得是jQuery可以解决的问题,80%以上的情况下,Vue.js可以解决得更好。jQuery能不用就不用了。

13554

看场景,没有什么是银弹!

15802

个人认为vue的定位很尴尬,高不成低不就。重型场景有angular,轻重结合场景有react,微型场景有riot。vue没有自己的理念,不明白为啥vue2.0出了以后,突然很多技术板块都出现了vue的帖子,是一种营销吗?

10401

#7楼 @ch3rub1m 第一次看到这种说法,什么叫重型场景?什么叫轻重结合?还营销?开发者自己喜欢用什么自己会选择。没事多了解一下 趋势 和他们之间的对比,vue可以解决 所有angular 和 react 能解决的事,而且关键是比他们解决的更简单,更漂亮。有什么理由不用 vue???

3873

#5楼 @gazeldx 求举例子,如何不用jq换vue, 最好能和rails一起...

17580

用过vuejs了,表示不能接受纯jquery了,回不去了

15802

#8楼 @hxh1246996371 你这种说法太肤浅了,按你的说法jquery也能解决angular和react能解决的事,简单和漂亮每个人的定义不同吧。

7386

#11楼 @ch3rub1m vue作为一个没有公司背景的个人项目star破三万,绝不会是你说的这么简单。虽然我不懂vue,但是你所谓的“vue没有自己的理念”我表示怀疑,希望你进一步阐述为什么说它没有自己的理念。

https://github.com/vuejs/vue

10401

#11楼 @ch3rub1m Ok 我来给你列举一下场景

  • 阿里的weex 用 vue
  • gitlab 用 vue
  • laravel 用 vue
  • .....

不知道他们的场景是轻是重,不知道他们为什么不选择react 或者 angular。我相信他们都不是傻的

另外 自己看看 Gitlab 的这篇文章 why-we-chose-vue

你确定 【jquery也能解决angular和react能解决的事?】

至于简不简单,就拿angular1 来说吧,我相信正常人都能一眼看出来vue比它简单易懂

说话得拿出证据,当你不了解一个东西的时候 不要妄下结论

2329

我用vue想实现的是一个比较常见且简单的场景: index页面的列表,新增数据,刷新;

我用vue的思路:1.create方法调用后,递归组件增加内容;2. 直接把列表数据用vue model-view分离循环,然后create后返回列表数据。2应该是更符合vue理念的。

我开这个帖子也是想看看大家的讨论,@nong的观点我很赞赏,我也喜欢这种讨论问题的态度。楼上那些我的需求用不上vue,什么场景不同的,我也想说的是这样的答案意义不大,有心的话也可以谈谈我这个场景为啥不适合vue。

我这样的场景,我用vue也未尝不可。 只是我后来反思自己的这个技术选型,有些盲目追求新技术了。turbolinks + ujs 的理念已经足够领先了,而且非常简单,其实大部分单页应用都是可以这样来实现的。只是ujs跟jQuery 搭配使用更合口。

有很多做rails的兄弟一上来就把 turbolinks 禁掉了,又怎么能体会其精妙之处呢。

2329

#7楼 @ch3rub1m 我分别用angular.js 和 vue.js 做过纯前端项目,angular是参与公司的,vue是一个自己独立完成的。我的感受是,vue项目的代码量是angular实现同样需求的1/2 以下,加上vue入手比较简单,开发速度3倍左右。

5173

#13楼

没必要过度的捧,也没必要过度的泼冷水,时间会证明一切

15802

#17楼 @i5ting 终于出现明白人,我个人认为过度推广就是一种营销,而vue作为一个开源框架,这么做实在让人有些反感,也许不是那么客观。

#13楼 @hxh1246996371 你举的这些例子,难道我就没了解吗?当你没了解我是否了解的时候,也请不要妄下结论。不要上过github就像第一次进城一样。

#12楼 @sefier 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没有。

15802

#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框架,虽然那时候刚开始做前端写得不太漂亮。

10401

#19楼 @ch3rub1m 分析得很透彻仔细 +1,我也不想再争论下去,否则没完没了了,我已摆明观点,咱们暂且放在这,看看将来这三个框架的发展,谁会活下来。

附:就好比选手机,很多人永远只关注配置跑分,根本不知道什么叫用户(开发)体验

9263

用过vue, 但是遇到了问题去google是基本没结果的,仅有的不太相关的结果也是中文的,我想这也从侧面说明了一些事。

15802

#20楼 @hxh1246996371 我说的这几点恰恰都是开发体验

2

都只是工具而已,好多人看得太过头了

5173

#22楼 @ch3rub1m 可以转载一下你的这个回复吗?很对我的胃口

15802

#24楼 @i5ting 可以,欢迎

5173

#25楼 @ch3rub1m 死粉太多,快被喷惨了。。。。

15802

#26楼 @i5ting 你是发到哪里去了…我当年喷郭敬明的时候也被喷惨了

2329 mingyuan0715 Vue / React on Rails without JSON API 中提及了此贴 10月25日 13:41
15802

#28楼 @i5ting 过去围观了一下,感觉有点可怕,还是ruby-china的讨论氛围好点

1573

Vue 会如此受欢迎最重要的原因依我看就是:文档好。

96

#26楼 讨论而已,在你眼里就变成了喷,你这不是双重标准?

15802

#31楼 @nightire 我也是ember粉,以前潜水看了很多你的ember文章,可惜ember真是生不逢时

96

#5楼 @gazeldx 不用angular?

28150

#34楼 @nightire 说的真好👍🏻 无论什么技术都不能脱离了现实的需求。 那个choice form看着好牛逼…

1573

#36楼 @lwd369 眼下也就是看着牛逼一些罢了,我们自己也知道里面存在的不足,最近正在全力制作一些新的功能的新的体验,明年会更好,并且我们全面使用 Ember 了,目前的感受就是很爽,问题当然会有,但是基础框架是很满意的,具体的问题要创造性的具体解决,这是任何框架都会遇到的。

15802

#34楼 @nightire 不,你误解我的意思了。我说的“生不逢时”的意思是ember的理念过于超前,很多angular2和react的概念其实都是从ember那里借鉴的,但是正是过于超前,往往使得用户难以接受。当用户随着时间接受这些理念的时候,流行框架【适时】地推出用户可以接受的东西,这时候虽然ember早就有这些理念了,但是用户反而觉得ember不够新潮。其实angular2也开始出现和ember类似的状况了,因为它的理念【领先】了用户的接受程度,所谓的曲高和寡,我想表达的是这个意思。另外求ember qq群,我孤军奋战好久了。

445

@nightire 想请教一下,我近期项目也要做一个编辑器,类似cform但编辑内容不同。这样需要大量操作dom,用vue,react,ember合适吗?我想你指导下是怎么实现的。我熟悉vuejs,但是没学过ember

96

#34楼 @nightire 哎,我们在研究 angular2 深有体会

24479

目前 JS framework 选择性很高很多自由,但也经常碰到各种配置问题 (Webpack 就很多小细节要注意) . 经典 jquery 至少还是个比较简单的工具。

1475

比较 tools and frame 需要首先考虑 workflow, 团队规模, 即成本。被撺掇着用新技术而导致的灾难很常见,家丑满满。

  • ReactJS 让 html css js 三者的正交设计犹如白痴,近一步,Facebook 下一个计划是做基于双缓冲技术的浏览器了(此浏览器用PHP代替JS, dot.php vs node.js)
  • 造 angular2 时间不短,估计花钱不少,越来越像微软的谷歌与微软联合作孽... 微软拉了滩 s, 谷歌动手把 s 抹到了发布会的墙上
  • vue 资金来源是众筹平台, 鉴于 building large and ambitious single page applications, 将来会越来越重, 坐等内部上演分裂好戏,
  • growth hack: 粉丝越多,撕 b 越快,脑残粉越多,撕 b 越血腥
96

大洒店

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册