自从自己关注简书中的程序员专题,经常在各位大神的文章中出现前端、后端、全栈工程师。说实话,只是听过这些名词,但根本不知道这些词代表的意义及这些工程师的分工或者说应该掌握的编程语言都是那些。以下是自己通过知乎、百度等方式在网络上看到的各式解释或说明:
1、前端/前端工程师
前端对于网站来说,通常是指网站的前台部分,包括网站的表现层和结构层。
前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括基本的HTML和CSS以及JavaScript/ajax,现在最新的高级版本HTML5、CSS3,以及SVG等。这三个是前端开发中最基本也是最必须的三个技能。前端的开发中,在页面的布局时,HTML将元素进行定义,CSS对展示的元素进行定位,再通过JavaScript实现相应的效果和交互。
HTML:指的是超文本标记语言 (Hyper Text Markup Language),这个也是我们网页最常用普通的语言了,经历了多个版本的发展,已经发展到5.0版了。
CSS::级联样式表(Cascading Style Sheet)简称“CSS”,通常又称为“风格样式表(Style Sheet)”,它是用来进行网页风格设计的。通过设立样式表,可以统一地控制HTML中各标志的显示属性。级联样式表可以使人更能有效地控制网页外观,可以扩充精确指定网页元素位置,外观以及创建特殊效果的能力。
Javascript:是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
前端工程师,也叫Web前端开发工程师。他是随着web发展,细分出来的行业。
Web前端开发技术包括三个要素:HTML、CSS和JavaScript,但随着RIA的流行和普及,Flash/Flex、Silverlight、XML和服务器端语言也是前端开发工程师应该掌握的。Web前端开发工程师既要与上游的交互设计师、视觉设计师和产品经理沟通,又要与下游的服务器端工程师沟通,需要掌握的技能非常多。这就从知识的广度上对Web前端开发工程师提出了要求。
2、后端/后端工程师
后端更多的是与数据库进行交互以处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。
3、全栈/全栈工程师
全栈(full-stack)中的“栈”是指software stack或者solution stack。全栈工程师,也叫全端工程师(同时具备前端和后台能力),英文Full Stack developer。是指掌握多种技能,并能利用多种技能独立完成产品的人。
全栈工程师并不意味着全能,什么都会。但是全栈工程师有良好的基础技能。 这个技能,既包括计算机科学的基础,也包括英语基础,有了这个基础, 加上积极的态度,开放的心胸,就能快速地学习所需要的技术。