前
端
与
后
端
很多刚开始学计算机的同学都会很疑惑前端和后端都是什么?他们的区别是什么?到底该怎么学习,今天我就来给你捯饬捯饬,了解了解。通俗的讲,前端就是用户看的到的东西,负责页面交互和数据展示,就比如说计算机上的各种界面,用户能看到并且操作的就是前段;后端就是用户不能直接看到的东西,负责业务逻辑实现和返回正确数据,就比如说帮用户保持应用数据,处理数据的就是后端。
那具体前端和后端到底是什么呢?下面再给你深入讲解
1、前端开发:
网站的“前端”是与用户直接交互的部分,包括你在浏览网页时接触的所有视觉内容--从字体到颜色,以及下拉菜单和侧边栏。这些视觉内容,都是由浏览器解析、处理、渲染相关HTML、CSS、Java文件后呈现而来。前端开发,就是要创造上面提到的网站面向用户的部分背后的代码,并通过建立框架,构建沉浸性的用户体验。为了实现这个目标,开发需要熟练运用下列语言、框架、工具库。
2、后端开发:
为了让服务器、应用、数据库能够彼此交互,后端工程师需要具有用于应用构建的服务器端语言,数据相关工具,PHP框架,版本控制工具,还要熟练使用 Linux 作为开发和部署环境。后端开发者使用这些工具编写干净、可移植、具有良好文档支持的代码来创建或更新 Web 应用。但在写代码之前,他们需要与客户沟通,了解其实际需求并转化为技术目标,制定最有效且精简的方案来进行实现。
3、前端开发和后端开发的区别:
(1)展示的方式不同
前端指的是用户可见的界面,网站前端页面也就是网页的页面开发,比如网页上的特效、布局、图片、视频,音频等内容。前端的工作内容就是将美工设计的效果图的设计成浏览器可以运行的网页,并配合后端做网页的数据显示和交互等可视方面的工作内容。
后端是指用户看不见的东西,通常是与前端工程师进行数据交互及网站数据的保存和读取,相对来说后端涉及到的逻辑代码比前端要多的多,后端考虑的是底层业务逻辑的实现,平台的稳定性与性能等。
(2)所用的技术不同
前端开发用到的技术包括但不限于html5、css3、javascript、jquery、Bootstrap、Node.js、Webpack,AngularJs,ReactJs,VueJs等技术。
后端开发以java为例主要用到的是包括但不限于Struts spring springmvc Hibernate Http协议Servlet Tomcat服务器等技术。
比如做一个登陆页面,用户在前端页面上输入了账号密码,然后用鼠标点击了登陆按钮,这时候前端会将账号密码通过请求接口发送给后端做处理,后端收到数据会先检查此账号是否存在,如果不存在,则返回给前端一条类似于这样的信息:“你输入的账号不存在,请重新输入”,用户再次重新输入账号,此时后端查询账户存在,密码也正确,则后端返回登陆成功的信息给前端。现代计算机领域的难题如大规模负载,海量数据处理,实时计算也是后端的,前端集中在表示层。
(3)工作职责
前端工程师主要的工作职责分为三大部分,分别是传统的Web前端开发,移动端开发和大数据呈现端开发。Web前端开发主要针对的是PC端开发任务;移动端开发则包括Android开发、iOS开发和各种小程序开发,在移动互联网迅速发展的带动下,移动端的开发任务量是比较大的,随着5G标准的落地,未来移动端的开发任务将得到进一步的拓展;大数据呈现则主要是基于已有的平台完成最终分析结果的呈现,呈现方式通常也有多种选择,比如大屏展示等。
后端工程师的主要职责也集中在三大部分,分别是平台设计、接口设计和功能实现。平台设计主要是搭建后端的支撑服务容器;接口设计主要针对于不同行业进行相应的功能接口设计,通常一个平台有多套接口,就像卫星导航平台设有民用和军用两套接口一样;功能实现则是完成具体的业务逻辑实现。
(4)知识结构
在知识结构方面,前端开发涉及到的内容包括Html、CSS、JavaScript、Android开发(采用Java或者kotlin)、iOS开发(采用OC或者Swift)、各种小程序开发技术(类Html),随着前端开发任务的不断拓展,前端开发后端化也是一个较为明显的趋势,比如Nodejs的应用。后端开发通常需要根据业务场景进行不同语言的选择,另外后端开发的重点在于算法设计、数据结构、性能优化等方面,在具体的功能实现部分可以采用Java、Python或者PHP等编程语言来实现。对于不少中小企业来说,后端开发通常都会采用开源的开发平台,这样就可以把精力集中在业务处理上,通常应用级程序员就可以解决问题,相应的开发成本也会有大幅度的下降。
(5)应用范围
从应用范围来看,前端开发不仅被常人所知、且应用场景也要比后端广泛的太多太多。
一是PC (PersonalComputer)即个人电脑。目前电脑端仍是前端一个主要的领域,主要分为面向大众的各类网站,如新闻媒体、社交、电商、论坛等和面向管理员的各种CMS (内容管理系统)和其它的后台管理系统。
二Web App是指使用Web开发技术,实现的有较好用户体验的Web应用程序。它是运行在手机和桌面端浏览中,随着移动端网络速度的提升,Web App为我们提供了很大的便利。此外近两年Google提出了一种新的Web App形态,即PWA(渐进增强Web APP)。
三WeChat (微信)这个平台,拥有大量的用户群体,因此它也是我们前端开发另一个重要的领域。微信的公众号与订阅号为市场营销和自媒体从业者,打造了一个新的天地。
四Hybrid App (混合应用)是指介于Web App、原生App (主要是Android或iOS )之间的App,它兼具原生App良好用户交互体验的优势和Web App跨平台开发的优势。
五Game(游戏),HTML5游戏从2014年Egret引擎开发的神经猫引爆朋友圈之后,就开始一发不可收拾。不过现在游戏开发变得越来越复杂,需要制作各种炫丽炫丽的效果,还要制作各炫丽于2D或者3D的场景。
六Desktop桌面应用软件,就是我们日常生活中电脑中安装的各类软件。早期要开发桌面应用程序,就需要有专门的语言UI (界面)库支持,如C++中的Qt库、MFC库,Java的Swing、Python的PyQT等,否则语言是没办法进行快速界面开发。
七Server Node.js一发布,立刻在前端工程师中引起了轩然大波,前端工程师们几乎立刻对这一项技术表露出了相当大的热情和期待。看到Node.js这个名字,初学者可能会误以为这是一个Java应用,事实上,Node.js采用C++语言编写而成,是一个Java的运行环境。
虽然前端开发和后端开发的工作有巨大的区别,但是他们的工作都是相辅相成的,都是为了更好的用户体验。
暂无评论内容