专栏名称: 程序猿
本微信公众号:imkuqin,为程序员提供最新最全的编程学习资料的查询。目前已经开通PHP、C/C++函数库、.NET Framework类库、J2SE API查询功能。
目录
相关文章推荐
程序员的那些事  ·  苹果放弃 DeepSeek ... ·  昨天  
程序员的那些事  ·  微信听劝,这个扰人功能可以关了 ·  昨天  
码农翻身  ·  “DeepSeek出了一个昏招!” ·  2 天前  
程序员的那些事  ·  《人民日报》批谷歌安卓系统:假开源、真垄断 ·  4 天前  
程序员小灰  ·  DeepSeek + IDEA!辅助编程太强了! ·  4 天前  
51好读  ›  专栏  ›  程序猿

终极解密|前端、后端、全栈...你想了解的一切,看这一篇就够了

程序猿  · 公众号  · 程序员  · 2017-04-11 14:57

正文

本文来自硅谷前沿技术学习平台优达学城(Udacity)的干货分享,文末有史上最全“前端工程师技能清单”电子书免费下载!

日常生活中,很多网页呈现出来的简洁布局、精心设计以及各种灵动效果总是让我们赞叹不已,而创造这些酷炫体验的,正是背后的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的JPToto 说。“现在共有和私有API 已变成移动设备、网站以及其它互联系统交换数据的必备通道。创建对大家有用的API 是我工作里非常鼓舞人心的部分”

最新薪资参考


全栈工程师


有时前后端之间并没有明确的界限,“前端开发者通常需要额外学习后端技巧,反之亦然,尤其在特定市场条件下“,Matranga 说”开发者需要跨领域知识,有时甚至需要成为全才。“

全栈工程师,最初是6年多以前由 Facebook 带动的概念。全栈的核心,是指这批开发者能够承担包括前端、后端在内的所有功能开发任务,他们拥有一个技能全家桶。


“能够同时承担服务器端和客户端工作会为你带来更多机会,”Grovo 的全栈工程师Federico Ulfo 说“当然这也就意味着更多的挑战。以厨艺作类比,掌握烹饪和烘焙都需要时间与经验积累,同时掌握两者要花费更多精力。照着菜谱做谁都可以,我此处所说的是做出真正美味东西的能力。”

技能与工具


全栈开发者也通常在服务器端进行编程工作,但他们熟练前端语言,能够操纵网站面向用户的部分。基本上可以形容他们是百事通。

下图表来说明全栈开发不断增长的复杂性,这是过去与当前技术需求情况对比:



具体工具依项目和客户需求而定,全栈开发者需要对Web 架构的每一个层次都有足够的了解:搭建和配置Linux 服务器,编写服务器端API,利用客户端Javascript 代码驱动应用,将设计层面的东西转化到实际的CSS 代码。

掌握并使用大量工具的同时,全栈开发者需要敏捷地分配服务器端和客户端任务,提供解决方案并对比不同方案的优劣。

最新薪资参考:


--------







请到「今天看啥」查看全文