前端:
通常是针对浏览器而开发的,是在浏览器端运行的程序。
后端:
针对的是服务器,准确的来说应该是服务器端开发。
小结:
1、前端开发偏向于用户体验,比较直观,服务器端开发偏向于性能。
2、两者结合起来,是比较吃香的,可以称之为Web开发,偏向于编程。而PS,可以看成是视觉设计方面的职能。
前端主要是直接与用户交互的,主要涉及的是html,css,js等技术
后端主要是用于为前端提供数据以及从前端获取数据,涉及到的技术主要是PHP,javaweb,数据库等
而后台一般是指管理员 *** 作的系统/软件,这本身也是个软件/网页,包括它自己的前端和后端
举个例子:
你来百度搜索东西,你看到的这个网页是前端,你输入搜索内容是前端,百度把你的内容进行分析然后返回给你搜索结果是后端,你看到的搜索结果的页面是前端,而百度的数据分析员浏览近一个月的搜索记录和相关事件热度,这是后台。
前后端分离部署时,服务器A用于部署前端项目,称为前端服务器,服务器B用于部署后端项目,称为后端服务器。后端服务器通过开放API的方式,向前端服务器中的前端项目提供数据或数据 *** 作接口,以此实现前端与后端的衔接。若受项目的成本限制,将前端项目与后端项目部署在同一服务器上也是可以的,可以通过nginx等反向代理服务器根据访问地址进行分发。对于前后端分离,认识上有个误区,那就是很多人自称:我们老早就分离了,全AJAX,使用Angular或者什么什么就可以了。
这个说法是不合适的,打个比方,别人问的是逗如何解决家禽把蛋生在水草边的问题看地,但实际上人家养的是鸭子,答题的却是养鸡的,所以回答逗不让去水边就行了地,这显然不在点子上。
一、前端开发
前端开发主要涉及网站和App,用户能够从浏览器上或App屏幕上看到的东西。简单地说,能够从浏览器上或App屏幕看到的东西都属于前端。
1、技能与工具
前端开发,就是要创造上面提到的网站面向用户的部分背后的代码,并通过建立框架,构建沉浸性的用户体验。为了实现这个目标,开发需要熟练运用下列语言、框架、工具库:
三大语言:HTML,CSS,和Javascript;
此外,掌握jQuery和LESS等工具库也很重要,它们能帮助开发者以更高效的方式编码;
很多前端开发岗也要求Ajax方法的使用经验,它可以帮助你使用Javascript在后台从服务器拉取数据,协助实现页面的动态加载。
使用这些技术,前端开发者能连接起网站设计者和后端开发者之间的桥梁。他们能提供用户体验方面的分析,构建模型和线框,给设计团队提出建议。他们能给后端编写的服务应用赋予生命,提升格调,营造美感。
二、后端开发
后端开发即“服务器端”开发,主要涉及软件系统”后端“的东西。比如,用于托管网站和App数据的服务器、放置在后端服务器与浏览器及App之间的中间件,它们都属于后端。简单地说,那些你在屏幕上看不到但又被用来为前端提供支持的东西就是后端。
1、技能与工具
为了让服务器、应用、数据库能够彼此交互,后端工程师需要具有如下技能:
用于应用构建的服务器端语言:PHP,Ruby,Python,Java,Net等;
数据相关工具:MySQL,Oracle,SQLServer等;
PHP框架:Zend,Symfony,CakePHP等;
版本控制工具:SVN,CVS,Git等;
还要熟练使用Linux作为开发和部署环境。
后端开发者使用这些工具编写干净、可移植、具有良好文档支持的代码来创建或更新Web应用。但在写代码之前,他们需要与客户沟通,了解其实际需求并转化为技术目标,制定最有效且精简的方案来进行实现。
学习Java可以做网站Java可以用来编写网站,现在很多大型网站都用JSP写的,JSP全名Java Server Pages。它是一种动态网页技术,比如我们熟悉的163,一些政府网站都是采用JSP编写的。
所以学习Java的同学可以找开发网站方面的工作,而且现在找这方面的岗位比较多。
学习Java可以做软件
一般编程语言都可以做软件的,Java也不例外,例如Eclipse,MyEclipse等知名Java开发工具,有关开发软件组件,可以了解Java Swing编程或者awt相关知识。
比如:企业级应用开发,这里是JAVA的天地,大到全国联网的系统,小到中小企业的应用解决方案,Java都占有极为重要的地位。
另外还有移动领域,典型的应用是手机游戏,这里是J2ME的天地,其实应用范围是很广的。
学习Java可以做Android
Android是一种基于Linux的自由及开放源代码的 *** 作系统,其源代码是Java。所以市场上见到的手机系统例如MIUI ,阿里云,乐蛙等,都是修改源代码再发行的。
Java做安卓不单单是指系统,还有APP对于更多的开发人员来说,他们更多的时间是花在开发APP上面。
学习Java可以做游戏
或者你不知道,在以前诺基亚还很流行的时候,你玩的手机游戏有90%以上都是Java开发的。
当然现在已经很少人再去开发了,都转到安卓上去了。是。前端和后端之所以需要对接,是因为前端页面只负责提供视图没有内容,而后端只提供内容,两者所谓的对接,就是把后端的内容放在前端页面预留出来的位置上。虽然说是前端后端,但这一对接实际发生在服务器端。
1 前端框架一般指用于简化网页设计的框架,比如,jquery,extjs,bootstrap等等,这些框架封装了一些功能,比如html文档 *** 作,漂亮的各种控件(按钮,表单等等)。
2使用前段框架可以降低界面开发周期和提高界面的美观性。
3有些框架比较轻量,比如jquery,有些框架比较重量,比如extjs。一般来说重量的框架会封装更多的功能,比如extjs,封装的grid控件有很强的数据展示和 *** 作功能。
1对用户的价值:
大部分产品对用户的核心价值是功能和内容提供的,而不是由表现层和交互。譬如支付、电商、新闻、交友。
后端解决有还是无的问题,开天辟地。
前端解决有了以后好用的问题,锦上添花,在竞争激烈的领域确实至关重要。
2技术广度和难度:
广度上后端工作在服务器领域,能控制的硬件基本没有极限,CPU、存储、网络、集群等等,因此技术领域极广。一个优秀的后端需要掌握或了解大量技术如:并发、业务架构、数据库、几打流行框架、性能调优、分布式计算、集群架构、容灾、安全、运维等等,一层挖透了还有下一层。几十年计算机发展历史中大量的技术沉淀在服务器端。
Web前端一直工作在一个浏览器盒子里,先天不足,能承载的可能性太小,技术广度不足。
深度上,现代计算机领域的难题如大规模负载,海量数据处理,实时计算也是后端的,前端集中在表示层,这一层虽然也很复杂,但能称之为难题的技术几乎没有,也很容易复制。
前端要说深度也不是没有,但这一步需要跨到图形领域(如网页游戏),不是常见场景。
说到底前端代码能控制的硬件确实不如后端,因此在技术上,前端更容易。现在为什么说前端会比后端更值钱呢那是因为前端对硬件的控制能力提升了(html5odejsmobile),而后端分化得比较厉害,有一批后端专门只写业务逻辑,框架是别人写的,系统架构是别人搭的,服务器跑在云里,连机器物理地址都不知道。世人眼里可能觉得这种写MVC代码的人才是后端,这种被限制在一个“虚拟盒子”里的后端确实不怎样难上手。
一般而言网上说的互联网行业的技术含量排名大概是这样:
产品经理<设计师<前端<后端<其他更高级职位,比如算法工程师等等。
在广大中小公司,很多产品经理都是不会代码,不会设计。很多技校学艺术设计的毕业生,当上了美工。这些都是真,所以能力低,干的人多,自然就低。然而,你问Google设计师挣多少了嘛
门槛低不等于技术含量低。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)