前段时间,知乎上一条「为什么 vue 在国际上越来越没影响力?」的问题火了起来。
就在前几日,尤雨溪对这条提问进行了回答。
以下是回答详情:
这种问题问得真是糟心,下面有些回答更糟心,最糟心的是我其实无视了这个问题很久,懒得回答,但知乎还 tmd 老推给我。
“越来越没影响力“ 这个是怎么定义的?npm 下载量下降了?没有啊,去年这个时候周下载 189 万,现在是 285 万,一年增长了 50%,好像没啥问题吧。
整体占有率也没下降,甚至还提升了。npm 的数据跟 react 比维持在 1:4 左右的比例。react 的 npm 数据有相当一部分来自 React Native,纯 web 端的比较最靠谱的数据是看 Chrome 开发者插件的周活,React 在 3~4M 之间(可惜现在非作者看不到插件的具体周活了,只有一个大概范围),而 Vue 插件的周活是 1.92M(stable 1.7M + beta 0.22M),换言之纯 web 端的占有比例在 1:2 ~ 1:1.5 之间。
有些人可能觉得这些数据跟自己的认知不符合,所以我帮你们分析一下。
首先,web 开发是一个非常广阔的领域,不是只有大厂做的事情才是 web 开发。有些人拿找工作和一亩三分地的内推作为影响力的唯一指标,这就叫 echo chamber。FB 对硅谷乃至美国的大科技企业本身就有技术栈辐射效应,React 栈在这个生态圈内是良性循环,占有统治地位也很合理。但是放眼到整个 web 开发领域,硅谷甚至美国的科技公司并不代表一切:这世界大得很,web 上能做的事情也很多样,无论是从产品形态还是到使用者的定位,你所看见的那一个角落未必能代表一切,我还是相信数据。顺道说一句,别拿 Google Trends 说事... React, Vue, angular 这三个词拿来做关键词都有大量的 false positive,单独给某一个加上 js 的后缀也是不公平的,所以其实 Google Trends 在分析前端的趋势上几乎没有参考价值。
Vue 本来就是以低门槛起家,市场定位的主要用户自然是中小型企业,还有很大一部分用量在 freelancer(自由职业开发者)和小型的 agency(外包公司?)手里,这些场景在大公司打工人的世界观里是不存在的,自然会形成一种认知落差。
又比如 Angular,总有人说 Angular 掉队了不行了云云,其实人家下载量也很坚挺,活得好好的。为啥你听不见?因为很多传统企业的 IT 团队,用 java 的那种,用 Angular 用得很开心,只是他们不会三天两头在 Twitter 上面制造 hype,所以你不知道而已。
有些人因为自己的眼界里只能看到 React,就以为 React 就是整个世界。这叫一叶障目,不识泰山。互联网之广阔,有着足够的空间给其它框架去生存。
很多时候这种渗透用现实中的例子可能会比较直接:最近搬家到新加坡,本地在线买家具的网站,差不多一半用 Vue 写的(HipVan, FortyTwo, StarLiving...)。想买个 Lume Cube 的专业照明灯,发现网站 Vue 写的。为了转钱开了个 IBKR 账号(最大的在线 retail 交易平台之一),发现网页版 Vue 写的。想调整一下股票持仓买了个 Motley Fool 的付费服务,发现 Vue 写的。
真要说大机构,GitLab 是 Vue 写的,最近上市了,160 亿美元市值,可还行?Wikimedia(Wikipedia 背后的基金会)全线转向 Vue,算大机构不?NASA 的火箭发射控制系统有部分界面用 Vue 写的,够高大上了么(Vue 的贡献者因此都拿到了 NASA 2020 火星任务的 GitHub 徽章)?Google 的求职系统 careers.google.com 是 Vue 写的,用它投过简历不?苹果 SwiftUI 的教程 Vue 写的,学原生开发的时候看过没?LV 美国官网 Nuxt/Vue 写的,买过几个没?你翻墙上 P 站解决生理需求的时候,Vue 的 logo 也会亮起来,这个流量又如何?
这个问题下面一本正经分析 Vue 哪里不好 React 哪里好的,大部分都是在强化自己的偏见,就是立场先行然后找一堆理由证明自己的选择更正确而已。人家用 Vue 能上市,你用 Vue 产品做不成的话,我觉得真不是 Vue 的问题。纯技术的东西就不多说了,只提一个说 Composition api 是 FP 的,这种典型属于连 FP 是什么都不明白就在胡扯。
牛逼哄哄地捧一踩一的时候,看看你自己在做的产品用户量和市场占有率是什么水平?产品里面你一个前端贡献的部分又有多少?
有些人吧,数据道理没什么话好说了,就来挑剔我的态度。我觉得作为一个创作者捍卫自己的作品毫无问题,因为我是用心在做,所以才会用心去保护它。如果一个创作者连自己的作品都不敢去捍卫,我也不相信这个作品能好到哪里去。
来源:https://www.zhihu.com/question/472193255/answer/2235015723
VueJS 实际开发中会遇到的问题,主要写一些 官方手册 上没有写,但是实际开发中会遇到的问题,需要一定知识基础。
Vue.js是一套构建用户界面的渐进式的前端框架。 vueJS与后台交互数据的方法我所了解的有以下几种
Vue是一套构建用户界面的JS渐进式框架。 Vue 只关注视图层, 采用自底向上增量开发的设计。讲解js高级之响应式、过渡效果、过渡状态。
深入理解Vue.js响应式原理。Vue教程有关的视频都讲到,我习惯响应式开发,在更早的Angular1时代,我们叫它:数据绑定(Data Binding)。你只需要在Vue实例的 data() 块中定义一些数据,并绑定到HTML
在vue组件中,为了使样式私有化(模块化),不对全局造成污染,可以在style标签上添加scoped属性以表示它的只属于当下的模块,这是一个非常好的举措,但是为什么要慎用呢?因为scoped往往会造成我们在修改公共组件(三方库或者项目定制的组件)的样式困难,需要增加额外的工作量
vue现在使用的人越来越多了,这篇文章主要整理一些比较优秀的移动端ui框架,推荐给大家,例如:mint UI、vux、vonic、vant、cube-ui、Muse-ui、Vue-Carbon、YDUI等
webpack是开发Vue单页应用必不可少的工具,它能管理复杂的构建步骤,并且优化你的应用大小和性能, 使你的开发工作流更加简单。在这篇文章中,我将解释使用webpack提升你的Vue应用的4种方式,包括:单文件组件、优化Vue构建过程、浏览器缓存管理、代码分离
Vue-Access-Control是一套基于Vue/Vue-Router/axios 实现的前端用户权限控制解决方案,通过对路由、视图、请求三个层面的控制,使开发者可以实现任意颗粒度的用户权限控制。
Web 中的组件其实就是页面组成的一部分,具有高内聚性,低耦合度,互冲突等特点,有利于提高开发效率,方便重复使用,简化调试步骤等。vue 中的组件是一个自定义标签形式,扩展原生的html元素,封装可重用的代码。
Vue的实例是Vue框架的入口,其实也就是前端的ViewModel,它包含了页面中的业务逻辑处理、数据模型等,当然它也有自己的一系列的生命周期的事件钩子,辅助我们进行对整个Vue实例生成、编译、挂着、销毁等过程进行js控制。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!