前几天在知乎上看到一个帖子,“前端发展太快,有些小伙只会用react(了解api),招个jquery熟练的外包较难,如何看?”
上面回复赞同比较多的是,“如果他会react,那么jquery他几天就可以上手”。
我暂且不评价这种看法,我先来说说前端发展史吧。
石器时代 - 简单的html和javascript编写静态页面,配合jsp、asp等服务端的混合开发。
铁器时代 - ajax的应用,jquery的诞生,js动态加载(AMD、CMD)技术的出现。大幅提高前端开发效率。
蒸汽时代- mv*框架的应用。Backbone、Ember、Angular、React、Vue等,组件化开发深入人心,提高了代码的可维护性,更好的解耦业务逻辑。
新的可能 - nodejs、serviceWorker、webGL...
其中jquery的出现,基本上就是催生了前端工程师这个职业,jquery以其强大的选择器、丰富的插件称霸了前端很长一段时间。(想想我当年就是使用jq+bootstrap开发的)
mv*模式的出现,将前端开发推向了一个高潮。在我看来,jquery是封装了许多功能的一个插件库,属于工具类。而react等是一种开发框架,它重在设计模式。
它们没有好坏高低之分,我倒是推荐直接从angular、react、vue入手的新前端们,去试用一下jquery,看看它的源码,你们一定会学到很多很多东西。
前端发展的确非常快,去年的开发框架,今年的构建工具,可谓是百家争鸣。whatever,我们可自己衡量选择其一来使用(当然你精力好可以多学几个)。万变不离其宗,只要我们掌握了编码规范、设计思想,我们也可以造很多轮子。记住,想法永远比编码高级。
书归正传,我下面来谈谈怎样学前端吧。
首先,什么是前端?
前端主要有两个重点,界面展示和用户交互。界面展示包括UI、UX设计,界面布局,数据展示等。用户交互主要是用户操作、状态效果的变更、前后端数据交互等。
前端是随着web发展而细分出来的行业,web前端开发主要有三个部分:
结构层(Html、Html5)
表现层(CSS、CSS3)
行为层(Javascript、ECMAScript6)
其次,前端能干什么?
我们每天打开浏览器看的新闻、视频,大数据的图表展示,云平台管理系统,可视化操作,移动端app,页面游戏,IoT物联网,AR/VR 3D效果等,你所能想到的都可以使用前端技术实现。
最后,怎样学前端?
前端涉及面较广,入门容易精通难。前端学习曲线是先快后慢,而且前端技术、框架更新太快,所以说前端学习是一个长期持续的过程,我们应有较快的学习能力和较强的好奇心。
我把我认为有必要学习了解的一些知识点列出如下:
html、css、javascript基础知识的了解和掌握。可以去 w3school、MDN 看看。
html5、css3、es6的了解和熟悉。可以看看 阮一峰的ES6.
UI、UX的了解,布局和响应式设计的掌握。(如bootstrap)
前后端数据交互的了解和掌握。如Ajax实现原理。
MVC、MVVM架构了解和掌握。
前端构建工具的了解和掌握。
浏览器的兼容和多终端的适配
性能的提升和框架的维护升级。
html、css、javascript基础知识是核心技能,所以大家应先把基础打好,其他的可根据兴趣去了解学习。
最后,在学习过程中,提几点建议:
兴趣很关键,不要因为现在前端火而盲目去学习。
养成良好的编码习惯,代码的可读性、可维护性、可拓展性非常重要。
要善于做笔记,将一些你遇到的问题或者认为写得很赞的代码记录下来,便于以后使用或者分享。
多浏览一些好的UI设计网站、开源社区等,看看别人的页面是怎样设计的,代码是怎样编写的。
推荐一些认为对我们有帮助的网站:
stackoverflow
segmentfault
知乎
github
MDN
dribbble
下一期,我开始介绍html的一些书写规范。(什么,html需要介绍?)
下期见。
领取专属 10元无门槛券
私享最新 技术干货