浅谈前端开发学习与发展

开发 前端
大约是从HTML5正式发布开始,前端技术进入了高速发展的时代,各种前端框架、组件、工具层出不穷。

 在前端技术眼花缭乱的时代,作为一个小白该如何学习、提高?在这里我结合自己的十年从业经历,来简单分享一下自己的经验看法。

 

浅谈前端开发学习与发展

 

浅谈前端

一、关于前端

我们必须纠正一下大家对于前端固有的错误印象。很多人总是以为前端人员就是写写页面这么简单,其实不是这样的,现代的前端岗位是一个综合素质要求很高的行业。

 

[[420198]]

 

前端工程师

首先,作为前端程序员,不仅要掌握开发语言、数据结构、算法等编程素养,现在的前端应用场景复杂程度非常高,这就要求我们必须像后端程序员那样,具备很高的软件架构能力。

其次,前端的程序是直接跟用户交互的,现在的互联网竞争激烈,产品是否美观、操作是否友好,是吸引用户的重要因素,所以,还必须具备UI、美工、用户体验等多方面的设计能力。

最后,很多情况下,前端工程师要参与到产品运营推广工作中,这又要求总结、归纳、文案写作等能力,甚至是对数据的统计、分析能力等等。

有了对前端工作的正确认知后,我们接下来开始具体讲解。

二、技术学习路线

前端小白最好给自己规划一条合适的技术学习路线,以下是我个人的技术发展过程,我觉得还是能适合大多数的前端人员:

1.基础掌握

前端开发三剑客必须掌握:html、css、javascript。html负责组织页面结构及数据的承载,css是对外观显示效果的处理,javascript则是对行为、业务逻辑的处理。这些基础知识经过长期的迭代,目前已经发展到html5、css3、es6,大家必须掌握好。

2.进阶能力

对于进阶知识学习,这里推荐大家一些组件库、UI库,例如jquery或zepto(虽然他们以后会被取代)、ajax、bootstrap、less、sass等,这些内容的学习,不仅能直接提升你对基础知识的掌握、提高开发效率,并且能够实现大部分传统web应用场景的开发。

3.前端框架

这里的框架,指的是架构级别的基础框架,它必须对前端开发的各个方面提供支持,主流的框架以Vue、React、Angular为代表,这里推荐大家学习Vue,它提供了模板语法、组件、路由、监听、状态等一整套方案。框架的学习,让我们的编程思维得到更大的提升,对模块化、组件化、mvvm的开发思想会有新的认识。

4.前端工程化

现在越来越流行用工程化思想,来管理前端项目,这里的推荐组合是nodejs+webpack。通过webpack自动化搭建项目架构、组件安装及管理、测试管理以及代码压缩、混淆、编译、打包等。甚至跟一些诸如基于Vue的脚手架工具配合使用,能够搭建起开箱即用的项目架构。

5.技术加持

建议大家对诸如微信公众号、微信小程序等跟前端相关技术的学习,对自己的技术能力是很好的加持。

6.全栈开发

学有余力的同学,可以考虑一下全栈开发,目前阿里云和腾讯云等,提供了基于nodejs的云开发环境(云函数、云数据库、云存储等),可直接使用前端的js技术进行后端开发。

三、开发工具

俗话说,工欲善其事、必先利其器,下面对前端开发中的一些工具进行简单介绍:

1.WebStorm

被称为Web前端开发神器,对初学者非常友好,默认就提供了强大的功能,不需要像其它工具那样进行大量的插件安装,建议刚接触前端开发的同学使用。但是,这款工具比较消耗性能,内存占用大。

2.Sublime

这是我使用过的最轻量化的前端开发工具,对性能要求比较高的同学的首选,需要手动进行插件安装配置,才能发挥出强大的功能。

3.Vscode

这个是我个人强烈推荐的,除了性能外,各方面都比Sublime强大,特别是操作体验、习惯适合大部分人,另外,它还能用于c++/java等的开发。

四、前端发展方向

1.Web开发

Web开发自然是不用多说,不仅能进行电脑端网站开发,由于HTML5的响应式、移动适配能力,也能开发手机端的网页。

2.游戏开发

HTML5游戏开发,游戏开发向来都是很有前景的方向,这方面需要掌握html5的canvas、WebGL、SVG等技术,以及一些html5的游戏引擎。

3.多屏多端开发

现在的前端,已经可以用于Android应用、IOS应用、微信小程序、支付宝小程序等不同操作系统、不同应用平台的开发,甚至可以做到一套代码,就能发布为不同平台的应用。有兴趣多屏多端开发的同学,推荐学习uni-app框架。

另外,除了流行的移动端开发,通过Electron框架,也能使用前端技术,进行桌面端程序的开发。

责任编辑:华轩 来源: 今日头条
相关推荐

2012-06-21 11:02:43

前端开发

2022-04-29 08:55:43

前端开发规范

2011-04-18 00:00:00

SQLPLSQL

2011-06-28 14:02:34

QT ARM

2009-07-15 17:11:31

JDBC的概念

2009-07-29 09:38:06

Web开发ASP.NET

2009-03-11 09:33:11

Lotus开发Workflow

2023-02-27 09:10:57

前端组件设计

2011-12-19 21:10:52

iOS

2022-03-09 22:48:28

前端开发Web

2009-06-17 15:25:59

Java学习

2020-06-28 14:15:52

前端架构师互联网

2019-10-21 09:40:17

JavaScript浏览器Flash

2011-08-31 10:51:39

MTKAndroid 开发

2011-07-28 17:20:55

2011-03-11 10:16:08

云计算

2011-12-26 15:19:20

聚合

2015-09-17 11:04:46

2015-06-25 15:56:08

2014-12-24 09:54:30

点赞
收藏

51CTO技术栈公众号