2017前端现状--答题救不了前端新人

众所周知,前端近几年闹了一场革命。前端在编程领域也掀起了学习潮。至少在中国,从2013年下半年至今,在搜索指数上,有着爆炸式的增长。可以看下数据:百度指数Google指数

一边是日新月异的新知识不断的冲击着前端,一边是各种新人疯狂涌入前端领域。这两股新流冲击下,倒是火了很多技术社区、问答网站,如:SegmentFault

打开SegmentFault,首页问答流上,前端相关的题目(包括Node),不说占十之八九,那也是半壁江山。即使是在老牌问答网站StackOverflow上,javascript相关的问答也是最多的。

我是很喜欢回答各种问题的人,一直逛着SegmentFault。几个月下来,我看到的出现最频繁的前端问题如下:

  1. Vue、React哪里哪里报错了,求看(React相关的少很多,angular更少)。
  2. 框架相关的一些UI、插件,如ElementUI什么什么组件怎么用、vue-router哪里哪里有问题。
  3. javascript this指向的问题、闭包的问题、数组循环相关问题等。
  4. webpack、npm等工程化相关配置问题。

那这些问题的本身有什么问题呢?

90%的问题,都可以通过文档查询到。而且大多不是文档偏僻、篇幅少的角落,更多的是诸如vue的父子组件通信这类文档长篇幅说明的问题。

而如this指向、闭包这类问题,以及其他语法上的问题,都是基础知识,而且大多都被网上各种博客讲烂了。想要理解它,闭着眼睛都能搜到。

还有很多问题都是重复式的问题,只要自己网上搜搜,就能找到答案。

这些问题反应了什么现象?

  1. 确实前端很火,引来了一批批新人。
  2. 前端小白们如火如荼的学习着现在前端流行的新技术栈。
  3. 但大多忽视了基础知识的学习。
  4. 而且不知道提问题的正确姿势。
  5. 甚至有些过分的伸手党。

为什么会这样?

我猜测是如下原因:

  1. 很多人学前端并非是对前端感兴趣,而是觉得前端门槛低,市场火爆,于是学了前端。没了兴趣就少了耐心,少了耐心就不太想看文档、书籍。
  2. 还有些新人并非科班出生,导致完全不明白编程学习的流程,以为就是靠问。
  3. 培训班也有锅。标榜着几周就能精通前端、搞定大公司。在教学上轻基础、重工具,导致前端学习者急功近利,以为熟练操作vue了就是精通前端了。
  4. 前端新人本身对新知识非常渴望,因为培训班或者自学一段时间后,发现没掌握的知识太多太多,在市场并没有竞争力。所以也会显得比较着急。

如果同学你正好符合我上述所说的,要注意了,你已经误入歧途了。前端门槛是低,但学习曲线不短。想找到一份好工作,也不是会用vue就够的。

我曾经听一个学弟说,自己的目标就是把Vue掌握了写溜了,我表示非常不赞同。

可能很多新人也是这个想法,但是我知道,大多数人所说的掌握,写溜,并非是真正的掌握。其实就是把文档背熟了,熟悉了语法糖,了解了生命周期过程。学习vue是非常好的,但真正的学习它不是就学习它怎么用,而是要深入学习它的设计理念、实现方式、阅读理解源码。

可惜的是,你可能根本看不懂它的源码。为什么?因为基础就没掌握。所以你的目标走偏了,目标应该是要先掌握好Javascript本身。在此之上,你才有可能说自己掌握了Vue。

那什么是正确的学习姿势?

首先打基础,html,css,js->es6,这些已经够吃一壶。怎么学?读书、看它们的参考文档,掌握基础用法。

在此同时,可以用vue这些框架去做一些工程化的项目实践,遇到不懂的地方,不必过分深究,会浪费很多时间。等你基础掌握到一定阶段,蓦然回首时,会顿时大悟。

基础掌握后,工具也能熟练运用了,甚至能快速的掌握它。之后再怎么深入学习,这里就不探讨了。

另外,当我们学习一个工具的时候,我们最基础的应该要知道人家到底是个什么?比如学习Vue,首先会介绍它是MVVM框架,你要是连MVVM都不知道,又怎么去学Vue呢?

我偶尔会看到一些问题:问在vue中如何去获取dom页面上的数据。原来是用着vue,然后以Jquery操作dom的方式去开发。这就是因为自己都不知道自己用的是什么。

我知道,前端知识实在是太多了,比如说node,又够大家吃一壶。难免会遇到问题,解决不了。但又确实需要解决它才能进行项目实践。不可避免的得提问题。

那什么是正确的提问题姿势?

  1. 遇到出错,首先应该想到的是查阅文档。很多时候我们遇到的问题,是因为自己用的姿势不对,到底怎么用,文档上可能已经写的一清二楚。比如我要在vue2.x的子组件中去修改父组件的传值,我一修改就报错,该怎么办?怎么办?查下文档就一清二楚。
  2. 文档查不到该怎么办?确实有时候,一些问题是文档中没暴露的,或者说没描述清楚的。这时候我们应该先在网上搜索该问题。哪儿搜?Google,项目本身的Issue,百度虽然大家都不喜欢,但真的去搜百度也无可厚非。
  3. 别人也没遇到怎么办?如果是工具本身的问题,首先想到的应该是看源码,源码实在看不懂或者理解不了,再去提问。
  4. 其他一些业务上的实现问题,自己确实没能力实现,可以去提问。
  5. 但提问题不仅仅是为了解决当下问题,更重要的是提高自己解决问题的能力。

第五点,我再单独说一下。有时候我会看到一些问题的最佳答案,并非是真正的最佳答案。很多题主,就想着能直接帮他解决当下问题就好。而有的答案虽然没有直接给出代码,却给了非常好的思路或解释,亦或者给了其他更好的设计方案,亦或者是给了某些相关的文档链接。

本来是授人以鱼不如授人以渔,但有些人却只要现成的鱼。

写在最后

所以啊,在目睹了很多白痴问题后,我终于发出了一声呐喊,答题救不了前端新人。希望这篇文章能稍微的让一些真正爱好前端的同学,更好的去学习前端。拿来主义,不是把别人的代码拿来,而是要把别人的知识拿来。

原文地址:https://www.cnblogs.com/homehtml/p/12222659.html

时间: 2024-08-01 08:15:12

2017前端现状--答题救不了前端新人的相关文章

006_饿了么大前端总监sofish帮你理清前端工程师及大前端团队的成长问题!

作者|Sofish编辑|小智 & 尾尾本文是前端之巅向 sofish 的约稿<什么样的人可以称为架构师?>.采访< 饿了么大前端团队究竟是如何落地和管理的?>以及 sofish 做客大咖说直播节目的总结和整理,希望能帮助各位淀粉更清晰地理解 sofish 的观点.获取大咖说视频下载链接,请关注前端之巅并回复"鱼老板",查看饿了么大前端更多实践请回复"饿了么".视频回顾 程序员成长之:跨界.困惑与架构师1. 如何看待"大跨度入

【大前端之前后分离】JS前端渲染VS服务器端渲染

前言 之前看了一篇文章:@Charlie.Zheng Web系统开发构架再思考-前后端的完全分离,文中论述了为何要前后分离,站在前端的角度来看,是很有必要的:但是如何说服团队使用前端渲染方案却是一个现实问题,因为如果我是一个服务器端,我便会觉得不是很有必要,为什么要前后分离,前后分离后遗留了什么问题,如何解决,都得说清楚,这样才能说服团队使用前端渲染的方案,而最近我刚好遇到了框架选型的抉择. 来到新公司开始新项目了,需要做前端框架选型,因为之前内部同事采用的fis框架,而这边又是使用的php,这

前端工程师如何求职就业 Web前端就业前景怎样

前端工程师如何求职就业?Web前端就业前景怎样?Web前端入门简单.应用广泛,是很多转行从事IT开发的人们的首选.越来越多的人涌入Web前端行业加剧了市场竞争,而互联网技术的更新升级也让企业对于求职者有了更高的要求,出现"低端饱和.高端紧缺"现状.有人好奇Web前端就业怎么样?事实上,只要你的技术好.能够满足企业需求,就业薪资自然很高. 在这里小编建了一个前端学习交流扣扣群:132667127,我自己整理的最新的前端资料和高级开发教程,如果有想需要的,可以加群一起学习交流 那么,企业需

2018web前端学习路线,详谈web前端开发学习路线

近几年IT业可谓是发展火热,而且新生了很多的职业.在这众多的新生职业中备受瞩目的当属web前端工程师了,web前端在IT行业真正受到重视的时间不超过五年,但是web前端的发展前景却是非常的可观,好前景高薪资吸引了众多的人投入到前端开发的学习当中去,想学好web前端,这份web前端开发学习路线分享给你. 好的学习方法和掌握好正确的学习路线可以让我们的学习达到事半功倍的效果,如果你新手想要学习web前端的话,那么这份前端的学习路线图很适合你.这份学习路线的课程涵盖JavaScript.HTML5.C

前端工程师必须了解的主流前端框架

现在前端工程师的工作已经不想几年前那样,仅仅写一些页面调整一下样式就可以拿到高薪了.由于前端技术的发展,以及企业对前端工程师的要求越来越高,现在前端工作也越来越复杂.不过只要掌握目前比较流行的主流框架,完全可以轻松应对老板提出的各种需求.今天就和大家聊聊前端工程师必须了解的主流前端框架. 已经从事前端工作,或者正在学习前端开发的朋友们都知道.HTML/CSS/JS是前端开发的基本功.其中HTML负责结构,网页想要表达的内容由html书写.CSS负责样式,网页的美与丑由它来控制,JS负责交互,用户

前端现状与趋势

现状 由于前端软件发展越来越复杂, 不是最初简单网页的状态, 内容丰富.交互丰富, 对前端的发展产生的深远的影响.不管是工具和是自身发展. 模块化 最初的简单页面, 一个URL对应一个页面, js代码几十行的情况, 一去不复返. 现有应用,对页面代码要求更高, 一个页面能够显示很多内容,甚至是无限制的内容. 对于各种内容,在同一个的页面上实现, 则需要对页面各个部分的代码进行模块化存储和使用. 原始阶段: 1. 使用全局命名空间, 例如yahoo的 yui, xxx.yyy = {} 2. Im

2017年3月7日以前前端学习笔记(稍乱,待整理)

笔记: 1: jq环境搭建; <script type="text/javascript" src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> 2:stackoverflow  问题查询 3: < dl>< /dl>用来创建一个普通的列表,< dt>< /dt>用来创建列表中的上层项目,< dd>< /dd&

老男孩教育每日一题:2017年3月14日-将前端运行的服务或脚本,如何可以放置到后端进行执行

方法一: 可以利用screen命令进行后台运行: 在命令行执行screen 回车,进入一个随机的screen后台,可以输入命令,然后按ctrl +a+d保存退出即可,这时程序已经在后台运行. screen ls可以查看当前运行screen后台列表,执行screen r 加PID可以进入相应的后台,再次退出还需要按ctrl+a+d 如何想要删除screen,需要执行kill -9 3215(screen ls查看到的脚本后台进程号),然后执行screen -wipe 即可删除. 方法二: 可以利用

2017传智播客最新web前端14期视频黑马html5reactjsnode移动开发

01-HTML-基础班02-CSS-基础班03-JS-基础班03-JS-基础班04-JD实战05-前端基本功-JS06-前端基本功-DOM07-JS进阶-特效08-jQuery09-HTML5+CSS310-移动web开发11-Ajax12-JS高级13-Canvas14-框架封装15-AngularJS16-Node 下载地址:http://www.itsource.com.cn/thread-468-1-1.html