刚入门Web开发者总会听到前端开发、后端开发、全栈开发等岗位描述及相关介绍说明。很多人不清楚前端、后端、全栈到底指的是什么?对应岗位需求是什么?俗话说“磨刀不误砍柴工”,了解了互联网的工种定义、职能及技能需求,才能使你能更高效,更有计划的学习,从而迈向互联网经营的目标。本文就从概念、技术内容要求等角度对前端、后端及全栈进行简单说明。
前端开发前端开发主要涉及网站和 App,用户能够从浏览器上或 App 屏幕上看到的东西。简单地说,能够从浏览器上或 App 屏幕看到的东西都属于前端。技能与工具前端开发,就是要创造上面提到的网站面向用户的部分背后的代码,并通过建立框架,构建沉浸性的用户体验。为了实现这个目标,开发需要熟练运用下列语言、框架、工具库:● 三大语言:html,css,和 JAVAscript;● 此外,掌握 jQuery 和 LESS 等工具库也很重要,它们能帮助开发者以更高效的方式编码;● 很多前端开发岗也要求 Ajax 方法的使用经验,它可以帮助你使用 JavaScript 在后台从服务器拉取数据,协助实现页面的动态加载。使用这些技术,前端开发者能连接起网站设计者和后端开发者之间的桥梁。他们能提供用户体验方面的分析,构建模型和线框,给设计团队提出建议。他们能给后端编写的服务应用赋予生命,提升格调,营造美感,薪资参考图如下。
后端开发后端开发即“服务器端”开发,主要涉及软件系统”后端“的东西。比如,用于托管网站和 App 数据的服务器、放置在后端服务器与浏览器及 App 之间的中间件,它们都属于后端。简单地说,那些你在屏幕上看不到但又被用来为前端提供支持的东西就是后端。
技能与工具为了让服务器、应用、数据库能够彼此交互,后端工程师需要具有如下技能:● 用于应用构建的服务器端语言:php,Ruby,Python,Java,.Net 等;● 数据相关工具:MySQL,Oracle,SQL Server 等;● PHP框架:Zend,Symfony,CakePHP等;● 版本控制工具:SVN,CVS,Git 等;● 还要熟练使用 linux 作为开发和部署环境。后端开发者使用这些工具编写干净、可移植、具有良好文档支持的代码来创建或更新 Web 应用。但在写代码之前,他们需要与客户沟通,了解其实际需求并转化为技术目标,制定最有效且精简的方案来进行实现,薪资参考图如下。
全栈开发全栈开发,顾名思义,就是前端和后端的活儿都能干。这里的“栈”指的是网页应用的各个层,也就是这样的开发者具备了包括服务器程序、数据结构与模型、用户界面、用户体验等多层次的技术,掌握了业务中所需要的每一个阶段的技术。技能与工具全栈开发者基本上可以形容他们是百事通。企业对全栈开发岗位要求包括以下方面:● 用HTML,Java,JavaScript编写优化的前端代码● 在Ruby,Python / Java中创建和使用API并编写后端代码● 使用系统基础设施,包括硬件和操作系统● 理解,创建和查询数据库● 项目管理和客户协调
具体工具依项目和客户需求而定,全栈开发者需要对 Web 架构的每一个层次都有足够的了解:搭建和配置 Linux 服务器,编写服务器端 API,利用客户端 Java 代码驱动应用,将设计层面的东西转化到实际的 CSS 代码。掌握并使用大量工具的同时,全栈开发者需要敏捷地分配服务器端和客户端任务,提供解决方案并对比不同方案的优劣。不过全栈开发并不意味着整个项目都是你一个人来干。在大多数情况下,全栈开发者还是会将主要的精力花在前端或者后端之一的开发流程上。但和其他开发者不同的是,全栈开发者能在需要的时候跨越项目中的界限,比如能在改善用户体验的同时,优化数据库的模型,薪资参考如下图。
日常生活中,很多网页呈现出来的简洁布局、精心设计以及各种灵动效果总是让我们赞叹不已,而创造这些酷炫体验的,正是背后的 web 开发者。早在3年前,互联网就囊括了六亿八千多万的页面,这个数字还在持续快速增长。这意味着,web开发的人才需求空前繁盛。据估计,web开发方面的人才需求在接下来十年还会20%的增长,大大超过所有行业的平均水平。
从技术角度来看,Web 开发大致可分为三个具体方向:前端、后端和全栈。如果你对 HTML、CSS、Javascript 均有耳闻,或者会一点 Python想入门前端,可不太确定要在哪个方向上投入精力,那么这篇文章就是为你准备的!
网站的“前端”是与用户直接交互的部分,包括你在浏览网页时接触的所有视觉内容--从字体到颜色,以及下拉菜单和侧边栏。这些视觉内容,都是由浏览器解析、处理、渲染相关 HTML、CSS、Javascript
文件后呈现而来。
技能与工具
前端开发,就是要创造上面提到的网站面向用户的部分背后的代码,并通过建立框架,构建沉浸性的用户体验。为了实现这个目标,开发需要熟练运用下列语言、框架、工具库:
● 三大语言: HTML, CSS,
和 Javascript;
● 此外,掌握 jQuery 和 LESS 等工具库也很重要,它们能帮助开发者以更高效的方式编码;
● 很多前端开发岗也要求 Ajax 方法的使用经验,它可以帮助你使用 Javascript 在后台从服务器拉取数据,协助实现页面的动态加载。
打个比方,前端开发者的工作专注于“房屋”装修,而盖房子的工作由后端开发者负责。
通过一些专门的工具,前端开发者与设计师/用户体验分析师密切合作,帮助构建原型或是线框图,参与产品开发到发布的全过程。一些前端开发者甚至能准确定位影响用户体验的特定问题,并给出建议或是代码解决方案,对产品设计带来积极影响。在专业能力外,与其它团队协作,以理解特定目标、需求、机遇,以及高效的执行力也非常重要。
这听起来工作内容很多,但也回报丰厚。“我是一名技术人员,也是一名设计者,在数字平台上使用标记语言和代码修改视觉元素并与之互动是很自然而有趣的体验,”有八年前端开发经验的 Mikey Ilagan 说“这让我能够直接影响到用户体验,操纵应用和网站里用户所见并直接与之交互的元素,这非常棒!”
总之,前端开发者要为后端开发者搭建的“房屋”进行内部设计和装修工作。装潢风格由房屋所有者指定。Apptix 的产品市场负责人 Greg Matranga 表示:“前端开发者有时更容易为他们的工作感到振奋,因为他们有更广阔的空间发挥自己的创造力。”
*想了解更多的前端开发必备技能与学习资源指南? Udacity 为你提供了一份史上很全的前端开发终极技能指南,前往“前端开发工程师”硅谷课程页面,即可免费下载独家《前端工程师技能清单》电子书。
最新薪资参考
以下为在某主流互联网行业招聘网站上,搜索“前端”限定“3年及以内”经验后最先出现的4份岗位待遇信息。下文中后端、全栈薪资信息截图条件相同。
是什么给网站前端提供支持?数据存放在哪里?这就涉及后端内容了。网站后端包括服务器、应用还有数据库。后端开发者构建并维护这些组件,为网站提供多方面支持。
技能与工具
为了让服务器、应用、数据库能够彼此交互,后端工程师需要具有如下技能:
●
用于应用构建的服务器端语言: PHP, Ruby,
Python, Java, .Net 等;
●
数据相关工具: MySQL, Oracle, SQL
Server 等;
●
PHP框架: Zend, Symfony, CakePHP等;
●
版本控制工具:SVN, CVS , Git 等;
还要熟练使用 Linux 作为开发和部署环境。
后端开发者使用这些工具编写干净、可移植、具有良好文档支持的代码来创建或更新 Web 应用。但在写代码之前,他们需要与客户沟通,了解其实际需求并转化为技术目标,制定最有效且精简的方案来进行实现。
“我热爱后端开发因为我喜欢操纵数据”,资深后端开发者就职于 Wildbit 的 JP Toto 说。“现在共有和私有
API 已变成移动设备、网站以及其它互联系统交换数据的必备通道。创建对大家有用的 API 是我工作里非常鼓舞人心的部分”
最新薪资参考
有时前后端之间并没有明确的界限,“前端开发者通常需要额外学习后端技巧,反之亦然,尤其在特定市场条件下“,Matranga 说”开发者需要跨领域知识,有时甚至需要成为全才。“
全栈工程师,最初是6年多以前由 Facebook 带动的概念。全栈的核心,是指这批开发者能够承担包括前端、后端在内的所有功能开发任务,他们拥有一个技能全家桶。
“能够同时承担服务器端和客户端工作会为你带来更多机会,” Grovo 的全栈工程师 Federico Ulfo 说 “当然这也就意味着更多的挑战。以厨艺作类比,掌握烹饪和烘焙都需要时间与经验积累,同时掌握两者要花费更多精力。照着菜谱做谁都可以,我此处所说的是做出真正美味东西的能力。”
技能与工具
全栈开发者也通常在服务器端进行编程工作,但他们熟练前端语言,能够操纵网站面向用户的部分。基本上可以形容他们是百事通。
下图表来说明全栈开发不断增长的复杂性,这是过去与当前技术需求情况对比:
具体工具依项目和客户需求而定,全栈开发者需要对 Web 架构的每一个层次都有足够的了解:搭建和配置 Linux 服务器,编写服务器端 API,利用客户端 Javascript 代码驱动应用,将设计层面的东西转化到实际的 CSS 代码。
掌握并使用大量工具的同时,全栈开发者需要敏捷地分配服务器端和客户端任务,提供解决方案并对比不同方案的优劣。
最新薪资参考:
想学会创造简洁、灵动、让人难忘的网页,成为抢手的前端工程师?硅谷前沿技术学习平台优达学城(Udacity)与 google、GitHub、AT&T 和 Hack Reactor 联合推出前端工程师学习认证项目,从入门到进阶,你可以根据自己的背景和需求灵活选择:
●
加入“前端开发(入门)”,从零开始,通过实战创造你的第一个网页,为成为前端工程师打下扎实基础;
●
想更进一步?加入“前端开发(进阶)” 要加追踪链接课程,掌握前沿、通用的 web 开发高级技能,创造让人惊艳的网页作品,成为独当一面的前端工程师,还有机会内推加入滴滴、京东、优酷、新浪等国内领先科技企业!
两门课程都将为你提供:
●
硅谷行业领导者设计的独家课程内容和实战项目;
●
技术高手快速、逐行审阅你写的每一行代码,提供专业辅导;
●
加入同步学习小组,在导师监督下快速成长;
●
毕业后获得Udacity、Google、Github 共同颁发的认证证书。
看了这些,是不是对于未来的选择有更清晰的认识了呢?
部分素材来源于网络,如有侵权请联系删除。