一个前端vue学的还不熟练,拿到offer的公司用的vue和react学哪个好框架。说是给我培训一个星期左右

我用 vue和react学哪个好 不用 Vue目前只有兩个原因:

  1. 我对 vue和react学哪个好 的熟练程度远超过 Vue ,在这种熟练程度下Vue 给我带来的解决问题的能力,并没有任何提升因此,不用
  2. 我生活、工作中有很多的问题需要我去解决,使用能用 vue和react学哪个好 解决的问题用 Vue 成本并不会变低。他们都是同一时代的产品不同的解决方案而巳当别人提起是 亚马逊 的商业模式正确还是 阿里巴巴 商业模式正确的时候,马云说:我希望两种模式都正确如果世界只有一种模式,那就太无聊了

前端大概是目前程序员届里对什么是「核心竞争力」最模糊的一个群体,造成这样的原因是因为前端程序员这个群体年龄還比较小人数又众多,所谓说有人就有江湖就是这个道理。

我一直提倡想成为一个厉害的人,既不能随波逐流也不能停止学习作為我个人,我不局限我所做的语言甚至是行业什么前端和后端其实只是软件设计的一种解决方案而已,程序员多看看市场、多了解产品多学学说话,多多修炼自己的写作多多锻炼自己的身体。

这么做的原因并不是毒鸡汤而是我之前说的一个核心:提升自己的「核心競争力」。每当说到 vue和react学哪个好 和 Vue 又或者是什么前后端框架的时候总会有几个人跟我争辩,其争辩的核心思想无外乎就是:xxx那么大公司嘚公司根本不需要你 xxx 样,你懂个 b 毛

嘿嘿,是啊那些个大公司就是想让你进去做一个螺丝钉。在你年轻力壮、呆头呆脑、初出茅庐的時候给你灌输「面试造火箭入职螺丝钉」的奇葩理论,把你这个加班勤快的小呆子绑在一台机器上让你以为这他妈就是全世界最好的笁作,于是你就被按在这台机器上慢慢磨成了这个机器上的某个特定零件,一离开这个岗位你发现自己连 b 都不是(心里还没 b

某一天,這台机器被抛弃了你不得不离开自己的岗位,去别的岗位的时候你会发现,自己仍然屁都不是你看,这是不是就是知乎上说的程序員中年危机

vue和react学哪个好 和 Vue 就算你再精通也好,都只是历史进程这台机器上某个特定时段的一个小螺丝这跟螺丝小到可以忽略不计。所鉯你再熟悉再屌,也没球用

这个时代是信息爆炸的时代,解决方案同样很容易被传播和推广所以光是掌握某个领域的某个技能,是唍完全全不够的就算你掌握了领域内的所有技能,仍然是不够多少大牛级别的人物一样是有中年危机,这些人都没来知乎发帖你自嘫是不懂。

所以主动跳出自己领域变成多领域的学习者,是成为一个牛人必备的关键技能这些领域包含但不限于:投资、商业、推广、策划、产品、人际关系等等。接下来分点来阐述:

  1. 人际关系大部分程序员最傻的就是沉浸在自己的世界里,以为自己研究了 xxx ooo 源码非常厲害而忽略了人际关系。很多时候人与人的交涉交流之中,能获得的往往是 1+1= n想想,到30多岁依然没搞明白自己认识了什么人,获得叻什么信息这多可悲?
  2. 现在的程序员经常被产品经理牵着鼻子走明明是掌握更多信息的人,反而被一些外行瞎扯淡带跑所以,程序員想提升自己的核心竞争力就要有产品思维。简单来说就是程序员真的是要比产品经理更懂市场更懂产品,更会好好说话才能提升洎己的核心竞争力。你们膜拜的 evan you 就是这样的人
  3. 一定要跳出自己的领域,不要觉得自己的领域就是神尤其是现在程序员可能是职场中的寵儿,钱多然而,这只是时代造成的并不是你比那些做科学的、做政治的、做经济的、做哲学的、做心理的、做生物的更厉害。一定偠跳出领域保持学习。

无论是 vue和react学哪个好 或者 Vue 都会像 bootstrap 或者 jq 一样被时代抛弃。选择当下对你、对团队成本最低的一个框架或者语言是朂实际最可靠的。

切记精通 vue和react学哪个好 或者 Vue 绝对不是提升核心竞争力的体现,过几年死都不懂怎么死。

刚开始学习前端的时候SPA(单页媔应用)还没有现在这么流行,可以选择的框架也很少而今天,我随便打开一个技术相关的网站、应用只需要简单的看几页,就可以看到丰富的前端框架世界 Angular 2、vue和react学哪个好、Vue.js、Ember.js

当我还是一个新手程序员,我从不考虑技术选型的问题因为不需要做技术选型、不需要更換架构的时候,便觉得框架丰富就让它丰富吧反正我还是用现在的技术栈。等到真正需要用的时候依靠之前的基础知识,我仍能很轻松地上手

可是一旦需要考虑选型的时候,真觉得天仿佛是要塌下来一般选择 A 框架,则使用过 B 框架的可能会有些不满选用 B 框架,则使鼡 A 框架的人会有些不满选择一个过时的框架,则大部分的人都会不满这点“小事”,也足够让你几天几夜睡不了一个好觉

年轻的程序员都是好奇的猫,玩过一个又一个的前端框架从毛球上弄出一条条的线,玩啊玩最后这一个个的框架在脑子里搅浆糊。

技术选型:鈈仅仅受技术影响

有太多的选择就是一件麻烦的事;没有选择时,就是一件更麻烦的事;有唯一的选择时事情就会变得超级简单。

倘若我是那个使用 Java 来开发 API 的少年,我会使用 Spring Boot 来作为开发框架尽管 Java 是一门臃肿的语言,但保守的选择不会犯上大错

倘若,我是那个使用 Python 來开发 Web 应用的少年我会使用 Django 来作为开发框架。它可以让我快速地开发出一个应用

只可惜,我不再是一个后台开发者我不再像过去,鈳以直接、没有顾虑的选择当我选择 JavaScript 时,我就犯上了「选择恐惧症」技术选型也是没有银弹的——没有一个框架能解决所有的问题。

茬《Growth:全栈 Web 开发思想》一书中我曾提到过影响技术选型的几个因素。

这时为了更好的考量不同的因素,你就需要列出重要的象限如開发效率、团队喜好等等。并依此来决定哪个框架更适合当前的团队和项目。

即使不考虑前端框架以外的因素,那么技术选型也是相當痛苦的一件事

每一个框架从诞生到受欢迎,都有其特定的原因和背景不同的开发者选择时,也是依据于其特定情景下的原因和背景

如 Ruby On Rails诞生之时,带来了极大的开发效率而开发效率正是当时大部分人的痛点。我们知道 Ruby On Rails 是一个大而广的框架它可以提供开发者所需要嘚一切,开发者所需要做的就是实现业务代码当开发效率不再是问题时,自由度变成了一些开发者的痛点此时像 Sinatra 这样的微框架就受这些人欢迎。

也因此开发效率会在很大程度上影响技术选型。毕竟开发效率在很大程度上决定了上线时间,上线时间很大地影响了技术選型

  • 用几星期的时间来做一个网站,我首先想到的会是找一个模板
  • 用几个月的时候来做一个网站,我仍然会想到找一个框架
  • 用几个姩的时间来做一个网站,我会想着是不是可以造几个轮子

遗憾的是,要遇到可以造轮子的项目不多

锤子定律:你需要更大的视野

年轻嘚时候,学会了 A 框架总觉得 Z 网站用 A 框架来实现会更好,一定不会像今天这样经常崩溃、出Bug**时间一长,有时候就会发现Z 网站使用 A 不合適,他们的问题并不是框架的问题而是运维的问题。

后来出于对职业发展的探索,我开始了解咨询师看到一本名为《咨询的奥秘》嘚书籍。在这其中提到一个有意思的定律“锤子定律”(又称为工具定律)——圣诞节收到一把锤子的孩子,会发现所有东西都需要敲咑 出现这种情况的主要原因是,开发者对一个熟悉的工具过度的依赖

认真观察,就会发现这个现象随处可见当一个新手程序员学会叻某个最新的框架,通常来说这个框架有着更多的优点这个时候最容易出现的想法是:替换现有的框架。可是现有的框架并没有什么夶的问题。并且凭估不充分时新的框架则存在更多的风险。

并且对于某个熟悉工具的过度依赖,特别容易影响到技术决策——看不到哽多的可能性这时候,我们就需要头脑风暴但是这种情况下,头脑风暴很难帮助解决问题

在这个时候,拥有更多项目、框架经验的囚可能会做出更好的选择。

在这个复杂的前端框架世界里我不敢自称是有丰富的徒刑经验。我只能去分享我用过的那些框架读者们洅结合其他不同的框架来做决定。

诞生之后由于其简单容易手、并且拥有丰富的插件,几度成为最受欢迎的前端框架大部分动态交互效果,都能轻松地找到 jQuery 插件即使,没有也能通过其 API快速地编写相应的插件。

在很多人看来jQuery 似乎是一个不会在未来用到的框架。可惜箌了今天(2017年)我仍然还在项目中使用 jQuery 框架。一年前我们仍在一个流量巨大的搜索网站上使用用 jQuery。在这几个项目上仍然使用 jQuery 的原因,大抵有:

  • 项目功能比较简单并不需要做成一个单页面应用,就不需要 MV* 框架
  • 项目是一个遗留系统与其使用其他框架来替换,不如留着鉯后重写项目

所以在互联网上仍有大量的网站在使用 jQuery。这些网站多数是 CMS(内容管理系统)、学校网站、政府机构的网站等等对于这些鉯内容为主的网站来说,他们并不需要更好的用户体验只需要能正确的显示内容即可。

因此即使在今天对于一般的 Web 应用来说,JavaScript 搭配 jQuery 生態下的插件就够用然而,对于一些为用户提供服务的网站来说前端就不是那么简单。

从 Ajax 出现的那时候开始前端便迎来了一个新的天哋。后来智能手机开始流行开来。Web 便从桌面端往移动端发展越来越多的公司开始制作移动应用(APP 和 移动网站)。jQuery Mobile 也诞生这个特殊的时候然而开发起中大型应用就有些吃力。随后就诞生了 Backbone、Angular 等等的一系列框架

毕竟,作为一个程序员如果我们觉得一个工具不顺手,那麼应该造一个新的轮子

Backbone.js 是一个轻量级的前端框架,其编程范型大致上匹配MVC架构它为应用程序提供了模型(models)、集合(collections)、视图(views)的结构。

Backbone 的神奇の处在于在可以结合不同的框架在一起使用。就像脊椎一样连接上身体的各个部分。使用 Require.js 来管理依赖;使用 jQuery 来管理 DOM;使用 Mustache 来作为模板它可以和当时流行的框架,很好地结合到一起在今天看来,能结合其他前端框架是一件非常难得的事。

遗憾的是Backbone.js 有一些的缺陷,使它无法满足复杂的前端应用如 Model 模型比较简单,要处理好 View 比较复杂除此,还有更新 DOM 带来的性能问题

Angular,一站式提高生产力

与 Backbone 同一时代誕生的 Angular 便是一个大而全的 MVC 框架在这个框架里,它提供了我们所需要的各种功能如模块管理、双向绑定等等。它涵盖了开发中的各个层媔并且层与层之间都经过了精心调适。

我们所需要做的便是遵循其设计思想来一步步完善我们的应用。Angular.js 的创建理念是:即声明式编程應该用于构建用户界面以及编写软件构建而命令式编程非常适合来表示业务逻辑。

我开始使用 Angular.js 的原因是我使用 Ionic 来创建混合应用。出于對制作移动应用的好奇我创建了一个又一个的移动应用,也在这时学会了 Angular.js对于我而言,选择合适的技术栈远远比选择流行的技术栈偠重要得多,这也是我喜欢使用 Ionic 的原因当我们在制作一个应用,它对性能要求不是很高的时候那么我们应该选择开发速度更快的技术棧。

对于复杂的前端应用来说基于 Angular.js 应用的运行效率,仍然有大量地改进空间在应用运行的过程中,需要不断地操作 DOM会造成明显的卡頓。对于 WebView 性能较差或早期的移动设备来说这就是一个致命伤。

而迟来的 Angular 2 则受奥斯本效应的影响逼得相当多的开发者们开始转向其它的框架。

颇受欢迎的个人电脑厂商奥斯本其公司的创新式便携电脑还没有上市,就宣布他们要推出的更高档的机器而又迟迟无法交货,消费者闻风纷纷停止下单订购现有机种最后导致奥斯本因收入枯竭而宣布破产。

vue和react学哪个好组件化提高复用

从 Backbone 和 Angular.js 的性能问题上来看,峩们会发现 DOM 是单页面应用急需改善的问题——主要是DOM 的操作非常慢而在单页面应用中,我们又需要处理大量的 DOM性能就更是问题了。于昰采用 Virtual DOM 的 vue和react学哪个好 的诞生,让那些饱受性能苦恼的开发者欢迎

传统的 DOM 操作是直接在 DOM 上操作的,当需要修改一系列元素中的值时就會直接对 DOM 进行操作。而采用 Virtual DOM 则会对需要修改的 DOM 进行比较(DIFF)从而只选择需要修改的部分。也因此对于不需要大量修改 DOM 的应用来说采用 Virtual DOM 並不会有优势。开发者就可以创建出可交互的 UI

除了编写应用时,不需要对 DOM 进行直接操作提高了应用的性能。vue和react学哪个好 还有一个重要思想是组件化即 UI 中的每个组件都是独立封装的。与此同时由于这些组件独立于 HTML,使它们不仅仅可以运行在浏览器里还能作为原生应鼡的组件来运行。

同时在 vue和react学哪个好 中还引入了 JSX 模板,即在 JS 中编写模板还需要使用 ES 6。令人遗憾的是 vue和react学哪个好 只是一个 View 层它是为了優化 DOM 的操作而诞生的。为了完成一个完整的应用我们还需要路由库、执行单向流库、web API 调用库、测试库、依赖管理库等等,这简直是一场噩梦因此为了完整搭建出一个完整的 vue和react学哪个好 项目,我们还需要做大量的额外工作

大量的人选择 vue和react学哪个好 还有一个原因是:vue和react学哪个好 Native、vue和react学哪个好 VR 等等,可以让 vue和react学哪个好 运行在不同的平台之上我们还能通过 vue和react学哪个好 轻松编写出原生应用,还有 VR 应用

在看到 Angular 2 升级以及 vue和react学哪个好 复杂性的时候,我相信有相当多的开发者转而选择 Vue.js

Vue.js,简单也是提高效率

引自官网的介绍Vue.js 是一套构建用户界面的渐進式框架,专注于MVVM 模型的 ViewModel 层Vue.js 不仅简单、容易上手、配置设施齐全,同时拥有中文文档

对于使用 Vue.js 的开发者来说,我们仍然可以使用 熟悉嘚 HTML 和 CSS 来编写代码并且,Vue.js 也使用了 Virtual DOM、vue和react学哪个好ive 及组件化的思想可以让我们集中精力于编写应用,而不是应用的性能

对于没有 Angular 和 vue和react学哪个好 经验的团队,并且规模不大的前端项目来说Vue.js 是一个非常好的选择。

虽然 Vue.js 的生态与 vue和react学哪个好 相比虽然差上一截但是配套设施还昰相当齐全的,如 Vuex 、 VueRouter只是,这些组件配套都由官方来提供、维护甚至连 awesome-vue 也都是官方项目,总觉得有些奇怪

除此,Vue.js 中定义了相当多的規矩这种风格似乎由 jQuery 时代遗留下来的。照着这些规矩来写代码让人觉得有些不自在。

除了上面提到的这些前端框架我还用过 vue和react学哪個好ive、Ember.js、Mithril.js,遗憾的是同 Vue.js 一样我没有在大一点的、正式项目上用过。也因此我没有能力、经验、精力去做更详细的介绍。有兴趣的读者可以做更详细的了解,也可以在 GitHub () 上给我们提交一个 Pull Request

今天,大部分的框架并不只是那么简单为了使用这个框架你,可能需要学习更多嘚框架、知识、理论一个很好的例子就是 vue和react学哪个好,这个框架的开发人员引入了相当多的概念,JSX、VIrtual Dom而为了更好地使用 vue和react学哪个好 來开发,我们还需要引入其他框架如 Redux、ES6 等等的内容。

这些框架从思想上存在一些差异但是它们都有相似之处,如组件化、MV**、All in JS、模板引擎等等欲知后事如何,请期待每周一更的《我的职业是前端工程师》:

我要回帖

更多关于 vue难学吗 的文章

 

随机推荐