前端不是技术,是思想与态度
作者:秋了秋 发表时间:2016年11月27日
最近心血来潮,加了许多前端群来交流技术,作为一名前端者,谈技术比拉家常还滔滔不已,其中听到有人说前端其实没啥技术,扯着扯着又到了后端没啥技术,最后我总结一句:技术也不是技术~。
连技术都不是技术了,那还有啥是技术。。当然是态度和思想了。说前端没啥技术的人,其实是有一定技术,至少能游刃有余完成工作任务。当你技术达到一定级别之后,当你能统观整个行业领域的时候,当你遇到问题越来越少的时候,你会觉得一切都不是技术,写代码就如写文章,洋洋洒洒。但是一个技术还没到家的人包括以前的你来说,现在的你就是有技术之人。
前端群很多都是刚入门的人在问一些基础的问题或者是求职的,看着他们提的问题,觉得好蠢,又仿佛看到了当年的自己,我到底经历了些什么,鬼知道。诸如前端到底要掌握什么的问题,几乎在哪都看得到有人问。
我来说说我的看法,我目前所理解的web前端技术,就三个:html,css,js,可能有人会说,太肤浅了吧,你就是个切图崽,说这种话的人才是肤浅之人,这就体现了思想在技术领域的重要性。他们没有一个明确的认识,如果让他们说,他们肯定会说:html,css,css3,html5,jq,react,nodejs,vue,angularjs.....等等,然而他们是缺乏清晰的认识,不明白原理的一群搬运工,说的一大堆东西,都是基于html,css,js衍生出来的花样,再次声明下,前端实实在在的就这三个技术html(结构技术),css(表现技术),js(行为技术/逻辑技术)。其他的都是基于这三个衍生出来的框架或插件,然而这三个是可以学得趋向于完,而框架和插件是永远学不完的。
为什么我说"学得趋向于完",而不是"学得完",主要是里面包含太多技术含量了,尤其是js,你能完成工作,不代表你使用的方式是最好的,知识可以学得完,当你把知识学得差不多的时候,你会发现知识并不是关键,关键的是思想和态度。条条道路通罗马,你要走哪一条。你能保证所走的每一条道路最短且风险性最低?可能你需要大量的经验来铺路。在前端上是你实现该功能的方式是不是最好,维护成本低,代码写得优雅,俗称“完美”,而这是很难达到的顶峰。包括html和css,看似简单,其实看你脑洞够不够大,html的结构对页面上的交互起到至关重要的作用,好的结构能让你事半功倍的写js,里面有很多巧妙的用法,包括css,这些都是要靠思想和吸取经验教训累积的财富。
而框架的使用,不同公司的项目是使用不同的框架的,技术交流群里面很少说有大牛讨论框架的用法的,大部分都是一些入门的人在讨论。特别是培训的。最近热门的框架react,vue,angularjs几乎是培训班里面必讲的,因为热门嘛!这些只是框架,学的并不是技术,而是别人约定的用法!而且只要对js熟练并且有模板思想的人,用起来是非常快上手的,对着文档来写个例子几乎就会了,根本不需要怎么学。所以有大牛说:框架从来都不学,对着文档码就是了。我认为这些就是以js为引擎以模板为思想的插件!简单来说就是你用的时候给他传参数进去就行了,然而参数里面的东西还是要靠js技术来写,永远你也别想逃过js。模板建议看下handlebarjs或者jade文档,这样你就有了模板思想了,我的理解是:模板思想=正则替换+循环。
当你的技术达到一定级别之后,别忘了还有态度。更应该专注于产品的打造,技术不是问题的时候就应该专心把产品做到极致,不断抛光打蜡,犹如在打造一件艺术品。当技术不是问题的时候,更应该关注业务需求,并不是所有需求都可以通过技术实现的,就好比“一切皆有可能”这句谚语,这个可能性是多大?50%,20%,5%,0%?里面要付出的代价是多少,代价和价值要有一个权衡比,而这些需要沟通来解决。总的来说:不要玩弄技术,要创造价值。