前端技术与 web 前端开发


web 前端开发现在虽然不是计算机中最热门的领域,但确实是发展速度最快的领域。它的世界里每年都会出现很多颠覆性的新事物,近年来发展速度惊人,因此也吸引很多年轻人去探索。

为什么他们会去从业 web 前端开发呢?因为 “新技术面前,资历不再重要,新技术面前,人人都平等”。他们可以更容易地与有多年经验的老程序正面竞争,并且潜在的发展机会也会更多。

要理解 web 前端开发是什么,我们先聊下前端技术。

前端技术与 web 前端开发

前端(front-end)一词是软件工程中的术语,与后端(back-end)相对应。大多数软件开发遵循 “前后端思想” ,即软件源代码分为两部分 —— 前端和后端,前端负责展示数据,后端负责提供和操作数据。在开发过程中的能实现关注点分离,以便提高软件开发效率。

举个例子,软件工程师通常在开发有图形界面的软件时,会将界面样式和用户交互等视觉部分单独写一套代码,将读取硬盘、储存数据等与数据有关的部分单独再写一套代码,开发时两者只约定好一个叫 “接口” 的东西,其余互不干扰,到最后再通过 “接口” 对接,软件就初步完成了,可以送去测试了。

不过这样的术语在客户端软件开发时并不常用,因为绝大多数平台的客户端软件(如 Windows、Android、IOS 应用程序),前端和后端的内容由同一个团队或程序员开发,工作内容差异也不大,无需特地独立出一个部门。

然而这种情况放在服务器网页应用的开发上,将大不相同。

我们电脑每天上网要看的网页内容是由网线另一端的服务器提供,电脑在收到它时是一串按一定格式书写的文本(即 “网页源代码”),浏览器会读取和解析这串文本,并在屏幕上显示相应的图形,这就是我们每天上网看到的网页。

在互联网早期,写这种 “网页源代码” 是一项极简单的工作,它语法简单,几乎零基础半小时就上手,即使对于一些需要读数据库的动态网页,也如开发客户端软件一样,一个软件工程师就能把两者承包。

随着互联网飞速发展、硬件算力不断提升,同时人们的审美要求也在提高,浏览器也要进步,于是这种 “网页源代码” 形式也变得越来越复杂,其中包括 —— 网页的骨架 HTML、网页的衣服 CSS 层叠样式表、网页的神经 JavaScript 脚本编程语言。这三者就是 “前端三剑客”,或称 “前端三驾马车”。

此时服务器上的软件程序员突然发现在大型项目开发时很难兼顾前台的显示效果与背后的数据操作,一方面也是这种 “网页源代码” 中一些内容与后端区别太大,于是决定把前端开发工作分配给单独的工程师,一个新的职业类型就诞生了,即 web 前端程序员。

当然顺便说一句,我们会经常在招聘市场看到某公司招聘 “前端工程师”,而不写是什么前端,不排除会有安卓前端、iOS 前端,但一般都会直接了当写安卓开发工程师、iOS 开发工程师,所以碰到有招聘 “前端工程师”的,我们可认为它指的是 web 前端。因为随着 web 前端的飞速发展,前端就是指 web 前端,后端就是指服务器应用开发的观念已深入人心。