浅谈前端
一、关于前端
我们必须纠正一下大家对于前端固有的错误印象。很多人总是以为前端人员就是写写页面这么简单,其实不是这样的,现代的前端岗位是一个综合素质要求很高的行业。
前端工程师
首先,作为前端程序员,不仅要掌握开发语言、数据结构、算法等编程素养,现在的前端应用场景复杂程度非常高,这就要求我们必须像后端程序员那样,具备很高的软件架构能力。
其次,前端的程序是直接跟用户交互的,现在的互联网竞争激烈,产品是否美观、操作是否友好,是吸引用户的重要因素,所以,还必须具备UI、美工、用户体验等多方面的设计能力。
最后,很多情况下,前端工程师要参与到产品运营推广工作中,这又要求总结、归纳、文案写作等能力,甚至是对数据的统计、分析能力等等。
有了对前端工作的正确认知后,我们接下来开始具体讲解。
二、技术学习路线
前端小白最好给自己规划一条合适的技术学习路线,以下是我个人的技术发展过程,我觉得还是能适合大多数的前端人员:
基础掌握
前端开发三剑客必须掌握:html、css、javascript。html负责组织页面结构及数据的承载,css是对外观显示效果的处理,javascript则是对行为、业务逻辑的处理。这些基础知识经过长期的迭代,目前已经发展到html5、css3、es6,大家必须掌握好。
进阶能力
对于进阶知识学习,这里推荐大家一些组件库、UI库,例如jquery或zepto(虽然他们以后会被取代)、ajax、bootstrap、less、sass等,这些内容的学习,不仅能直接提升你对基础知识的掌握、提高开发效率,并且能够实现大部分传统web应用场景的开发。
前端框架
这里的框架,指的是架构级别的基础框架,它必须对前端开发的各个方面提供支持,主流的框架以Vue、React、Angular为代表,这里推荐大家学习Vue,它提供了模板语法、组件、路由、监听、状态等一整套方案。框架的学习,让我们的编程思维得到更大的提升,对模块化、组件化、mvvm的开发思想会有新的认识。
前端工程化
现在越来越流行用工程化思想,来管理前端项目,这里的推荐组合是nodejs+webpack。通过webpack自动化搭建项目架构、组件安装及管理、测试管理以及代码压缩、混淆、编译、打包等。甚至跟一些诸如基于Vue的脚手架工具配合使用,能够搭建起开箱即用的项目架构。
技术加持
建议大家对诸如微信公众号、微信小程序等跟前端相关技术的学习,对自己的技术能力是很好的加持。
全栈开发
学有余力的同学,可以考虑一下全栈开发,目前阿里云和腾讯云等,提供了基于nodejs的云开发环境(云函数、云数据库、云存储等),可直接使用前端的js技术进行后端开发。
三、开发工具
俗话说,工欲善其事、必先利其器,下面对前端开发中的一些工具进行简单介绍:
WebStorm
被称为Web前端开发神器,对初学者非常友好,默认就提供了强大的功能,不需要像其它工具那样进行大量的插件安装,建议刚接触前端开发的同学使用。但是,这款工具比较消耗性能,内存占用大。
Sublime
这是我使用过的最轻量化的前端开发工具,对性能要求比较高的同学的首选,需要手动进行插件安装配置,才能发挥出强大的功能。
Vscode
这个是我个人强烈推荐的,除了性能外,各方面都比Sublime强大,特别是操作体验、习惯适合大部分人,另外,它还能用于c++/java等的开发。
四、前端发展方向
Web开发
Web开发自然是不用多说,不仅能进行电脑端网站开发,由于HTML5的响应式、移动适配能力,也能开发手机端的网页。
游戏开发
HTML5游戏开发,游戏开发向来都是很有前景的方向,这方面需要掌握html5的canvas、WebGL、SVG等技术,以及一些html5的游戏引擎。
多屏多端开发
现在的前端,已经可以用于Android应用、IOS应用、微信小程序、支付宝小程序等不同操作系统、不同应用平台的开发,甚至可以做到一套代码,就能发布为不同平台的应用。有兴趣多屏多端开发的同学,推荐学习uni-app框架。
另外,除了流行的移动端开发,通过Electron框架,也能使用前端技术,进行桌面端程序的开发。