服务端和客户端可以归位一类,都是指的计算机及相关程序,是无生命的。而前端和后端可以归为一类,他们指的是开发人员,有生命的。其中开发服务端的人叫做后端,开发客户端程序的人叫前端。
前端人员所做的基本都是你在客户端(通常指浏览器)看的到的UI层面的,如网页的效果,动画,交互等等。
但是浏览器上的网页还有很多数据需要展现,这时候就需要后端处理了,后端人员编写的程序运行在服务器端,然后查询服务器的数据,返回给客户端,客户端拿到数据后,前端开发的程序就可以把获取到的数据给展示出来了。
这四端是谁也离不开谁的,总结一句话就是:前端开发的客户端向后端开发的服务端请求数据,客户端拿到数据通过前端程序进行渲染。
web前端
我们这里所说的前端泛指Web前端,也就是在Web应用中用户可以看得见碰得着的东西。包括Web页面的结构、Web的外观视觉表现以及Web层面的交互实现。
web后端
后端更多的是与数据库进行交互以处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。
简单的来说,前端面向的是用户编程,就是用户可以看得到摸得到的。后端是面向服务(服务器)编程,用户是无须知道里面的 *** 作的。
那么前端和后端都需要学习哪些技术呢?以Java为例。
以前在“如鹏网”学习Java的时候总结的Java知识点,可以作为参考。
除了Java基础,数据库,以及Java高级技术(集合,反射,内省等)这些是必须要掌握的基础知识点,还有web前端的知识。
除了HTML,CSS,JavaScript,jQuery等,还有一些是Java中核心的东西,比如说,servlet,ajax,三大框架等都是Java中的核心技术。
常见的框架
还有一些比较高级的技术也是需要学习的,分布式、设计模式、前端技术、网络支付、全文搜索引擎、Docker、WebService等内容。
前端开发主要做的是用户所能看到的前端展示界面;后端开发主要做的是逻辑功能等模块。其实主要区别体现在以下两个方面:知识结构与实现和工作职责。
1、知识结构
(1)展示的方式不同
前端指的是用户可见的界面,网站前端页面也就是网页的页面开发,比如网页上的特效、布局、、视频,音频等内容。前端的工作内容就是将美工设计的效果图的设计成浏览器可以运行的网页,并配合后端做网页的数据显示和交互等可视方面的工作内容。
后端是指用户看不见的东西,通常是与前端工程师进行数据交互及网站数据的保存和读取,相对来说后端涉及到的逻辑代码比前端要多的多,后端考虑的是底层业务逻辑的实现,平台的稳定性与性能等。
(2)所用的技术、技能与工具不同
前端开发,就是要创造上面提到的网站面向用户的部分背后的代码,并通过建立框架,构建沉浸性的用户体验。为了实现这个目标,开发需要熟练运用下列语言、框架、工具库:
后端开发者使用这些工具编写干净、可移植、具有良好文档支持的代码来创建或更新 Web应用。但在写代码之前,他们需要与客户沟通,了解其实际需求并转化为技术目标,制定最有效且精简的方案来进行实现。
(3)所用技术不同
前端开发用到的技术包括但不限于html5、css3、javascript、jquery、Bootstrap、Nodejs 、Webpack,AngularJs,ReactJs,VueJs等技术。
后端开发 以java为例 主要用到的 是包括但不限于Struts spring springmvc Hibernate >
2、工作职责
前端工程师主要的工作职责分为三大部分,分别是传统的Web前端开发,移动端开发和大数据呈现端开发。Web前端开发主要针对的是PC端开发任务;
移动端开发则包括Android开发、iOS开发和各种小程序开发,在移动互联网迅速发展的带动下,移动端的开发任务量是比较大的,随着5G标准的落地,未来移动端的开发任务将得到进一步的拓展;大数据呈现则主要是基于已有的平台完成最终分析结果的呈现,呈现方式通常也有多种选择,比如大屏展示等。
后端工程师的主要职责也集中在三大部分,分别是平台设计、接口设计和功能实现。平台设计主要是搭建后端的支撑服务容器;接口设计主要针对于不同行业进行相应的功能接口设计,通常一个平台有多套接口,就像卫星导航平台设有民用和军用两套接口一样;功能实现则是完成具体的业务逻辑实现。
扩展资料
前端和后端的应用范围
1、PC (Personal Computer) 即个人电脑。
目前电脑端仍是前端一个主要的领域,主要分为面向大众的各类网站,如新闻媒体、社交、电商、论坛等和面向管理员的各种 CMS (内容管理系统)和其它的后台管理系统。
2、Web App 是指使用 Web 开发技术,实现的有较好用户体验的 Web 应用程序。
它是运行在手机和桌面端浏览中,随着移动端网络速度的提升,Web App 为我们提供了很大的便利。此外近两年 Google 提出了一种新的 Web App 形态,即 PWA(渐进增强 Web APP) 。
3、WeChat (微信) 这个平台,拥有大量的用户群体,因此它也是我们前端开发另一个重要的领域。微信的公众号与订阅号为市场营销和自媒体从业者,打造了一个新的天地。
4、Hybrid App (混合应用) 是指介于 Web App、原生 App (主要是 Android 或 iOS )之间的 App,它兼具原生 App 良好用户交互体验的优势和 Web App 跨平台开发的优势。
5、Game(游戏),HTML5 游戏从 2014 年 Egret 引擎开发的神经猫引爆朋友圈之后,就开始一发不可收拾。不过现在游戏开发变得越来越复杂,需要制作各种炫丽炫丽的效果,还要制作各炫丽于 2D 或者 3D 的场景。
6、Desktop桌面应用软件,就是我们日常生活中电脑中安装的各类软件。早期要开发桌面应用程序,就需要有专门的语言 UI (界面) 库支持,如 C++ 中的 Qt 库、MFC 库,Java 的 Swing、Python 的 PyQT 等,否则语言是没办法进行快速界面开发。
7、Server Nodejs 一发布,立刻在前端工程师中引起了轩然大波,前端工程师们几乎立刻对这一项技术表露出了相当大的热情和期待。看到 Nodejs 这个名字,初学者可能会误以为这是一个 Java 应用,事实上,Nodejs 采用 C++ 语言编写而成,是一个 Java 的运行环境。
web前端需要与后台开发合作,web前端还要与需求分析人员合作,做好交互设计,设计网页的架构和代码都要与后台的代码相对应,后台负责实现具体的功能实现,web前端要保证用户体验效果。
虽然从工作上讲,web前端可能比后台开放复杂些,但是后台开发同样要掌握更多。下面是我引入的
Web前端:
1)精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构。
2)精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器。
3)熟悉JavaScript,了解ECMAScript基础内容,掌握1~2种js框架,如JQuery
4)对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案。
5)对性能有一定的要求,了解yahoo的性能优化建议,并可以在项目中有效实施。
Web后端:
1)精通jsp,servlet,javabean,JMS,EJB,Jdbc,Flex开发,或者对相关的工具、类库以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,对Web开发的模式有较深的理解
2)练使用oracle、sqlserver、mysql等常用的数据库系统,对数据库有较强的设计能力
3)熟悉maven项目配置管理工具,熟悉tomcat、jboss等应用服务器,同时对在高并发处理情况下的负载调优有相关经验者优先考虑
4)精通面向对象分析和设计技术,包括设计模式、UML建模等
5)熟悉网络编程,具有设计和开发对外API接口经验和能力,同时具备跨平台的API规范设计以及API高效调用设计能力
两者负责的内容不同,工作难度不同,学习内容不同。
1、定义不同前端称为客户端开发,在应用程序或网站的屏幕上看到的所有内容都属于前端。后端也称为“服务器端开发”,在系统“后面”所发生的事情。在后端服务器和浏览器或应用程序之间存储网站、应用数据和中间媒介的服务器都属于后端。在应用程序或网站的屏幕上看不到的所有东西都是前端的后端。
2、展示的方式不同
前端的工作是设制作网页,后台是结合数据库实现一些代码的功能逻辑。简单来说,就是前端开发人员在应用程序中创建一个界面,上面有一个按钮,按下按钮来获取客户的数据。后端开发人员写可使得按钮工作的代码,通过指出从数据库中提取哪些数据并将其传回到前端(并最终显示在那里)。
3、所需的技能不同
前端开发所需的技能:对美学,艺术和设计有很好的理解、了解各种 CMS,如 WordPress,Joomla 或 Drupal、直观的用户需求、PHP 和 OOP 知识(面向对象编程)、专业的质量保证、能够使用 PhotoShop,Sketch 或 Figma 等设计工具、网络托管基础知识等。
后端开发所需的技能:全面了解第三方附加组件、关于如何调试代码的批判性理解、将客户的业务需求转换为功能代码、了解 Web 服务器配置、兼容外部系统(支付处理,社交媒体网站)、批判性思维技巧、设计用户交互系统等。
4、入门难度不同
后端开发入门难深入更难,枯燥乏味没有太大成就感看一堆业务逻辑代码;前端开发入门简单先易后难,能看到自己做出来的展示界面有成就感。后端开发和前端开发的定义不同、展示的方式不同、所需的技能不同、入门难度不同。后端入门难,深入更难,枯燥乏味,看一堆业务逻辑代码。前端入门简单,先易后难,能看到自己做出来的展示界面,有成就感。
前端和后端两者工作的内容和负责的东西是完全的不同,两者的区别包括:
1、定义不同
前端称为客户端开发,在应用程序或网站的屏幕上看到的所有内容都属于前端。后端也称为服务器端开发,在系统后面所发生的事情。在后端服务器和浏览器或应用程序之间存储网站、应用数据和中间媒介的服务器都属于后端。在应用程序或网站的屏幕上看不到的所有东西都是前端的后端。
2、展示的方式不同
前端的工作是设制作网页,后台是结合数据库实现一些代码的功能逻辑。简单来说,就是前端开发人员在应用程序中创建一个界面,上面有一个按钮,按下按钮来获取客户的数据。后端开发人员写可使得按钮工作的代码,通过指出从数据库中提取哪些数据并将其传回到前端(并最终显示在那里)。
3、所需的技能不同
前端开发所需的技能:对美学,艺术和设计有很好的理解、了解各种 CMS,如 WordPress,Joomla 或 Drupal、直观的用户需求、PHP 和 OOP 知识(面向对象编程)、专业的质量保证、能够使用 PhotoShop,Sketch 或 Figma 等设计工具、网络托管基础知识等。
后端开发所需的技能:全面了解第三方附加组件、关于如何调试代码的批判性理解、将客户的业务需求转换为功能代码、了解 Web 服务器配置、兼容外部系统(支付处理,社交媒体网站)、批判性思维技巧、设计用户交互系统等。
4、入门难度不同
后端开发入门难深入更难,枯燥乏味没有太大成就感看一堆业务逻辑代码;前端开发入门简单先易后难,能看到自己做出来的展示界面有成就感。前端 - 通常是针对浏览器而开发的,是在浏览器端运行的程序,而后端 - 针对的是服务器,准确的来说应该是服务器端开发。前端开发偏向于用户体验,比较直观,服务器端开发偏向于性能。两者结合起来,是比较吃香的,可以称之为Web开发,偏向于编程。而PS,可以看成是视觉设计方面的职能。
工资的话很难说,一般是服务器端开发高点。另外还要看公司,如果一个公司重视前端开发,那么这个岗位的待遇不会比服务器端开发的人低。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)