前端 Vs 后端 开发内容

文章目录

后端详解 什么是前端?什么是后端?

前端

后端

相对于用户看得见的前端,那用户“看不见”的部分,就是由后端负责了,后端程序猿要负责业务逻辑的实现、订单、用户资料等数据的增删查改。

一款产品的后端,一般只会用一种编程语言编写。一些功能特别丰富的产品可能会用一种编程语言为核心,另外用1~2种语言实现一些这类语言擅长的模块,例如用Java做核心语言,但配套的数据平台用Python写之类的。

由于在同一款产品中,后端编程语言不像前端一样根据系统/设备不同各种开花。所以,后端程序猿就可以一个人负责多个业务模块的后端编写,甚至轮流负责不同模块的编写。

后端需要去实现各种业务逻辑,订单流传、登录、退出及权限管理,实现数据的存储导出,进行不同系统间的对接等等。

前端和后端的联系

前端展示的数据都是从后端拿过来的。

前端的代码会下载到浏览器,浏览器解释执行后就是一个网页。后端的代码跑在公司的服务器,两者互相协同。

前后端 Vs 前后台 如何区分?

前台,指的是用户直接能看到的页面,所有人都可以访问。

图片[1]-前端 Vs 后端 开发内容-JieYingAI捷鹰AI

后台,指的是有权限的运营人员或特殊用户(比如淘宝卖家)用权限登录后才能看到的页面,除了能看到普通用户看不到的报表外,在后台还能修改前台显示给普通用户看的内容。

图片[2]-前端 Vs 后端 开发内容-JieYingAI捷鹰AI

前台不等于前端。前台的界面是前端编写的;前台的业务逻辑是后端编写的代码实现的。

后台不等于后端。后台的界面同样是前端编写的;后端的业务逻辑同样是后端编写的代码实现的。

前台和后台指的是页面,前端和后端指的是代码和写代码的人。

前后端开发详解 前端 Vs 后端 开发内容

运行环境不同

Web前端代码主要在客户端(PC、手机、pad)运行;

Web后端代码主要在服务端运行,服务器可以在提供服务厂家的数据中心,也可以在云端。

与用户紧密关系不同

前端重用户体验,主要是考虑怎样能让用户觉得用起来更舒服,考虑界面布局、交互效果、大数据量页面加载速度等等,主要是偏向用户看得见的部分,客户端(pc、手机、pad)上浏览web页面,处理各个浏览器平台的兼容和对界面的渲染差异,对UI库的依赖较强;

后端更多是考虑业务逻辑、数据库表结构设计、数据的事务操作、跨平台API设计、负载均衡、应用和服务部署等等,更多的是考虑用户看不到的部分,保证业务逻辑处理数据的严谨,保证用户访问数据吞吐的性能。

需求变更带来的影响不同

前端主要怕系统原型的频繁变更,布局样式、交互效果的需求变更;

后端主要怕业务逻辑变更,或者当使用规模增大之后对稳定性带来的影响。

以开发一个网站为例,前端开发人员团队设计网站的外观,并通过测试不断修改;后端开发人员团队开发软件,并构建支持前端的数据库架构。

具体来说,假如我要开发一个类似b站的网站,那么要做的工作如下:

前端 Vs 后端 技术栈 前端后端

编程语言

HTML,CSS,JavaScript

PHP,Python,SQL,Java,Ruby,.NET,Perl

框架

Angular.JS,React.JS,Backbone.JS,Vue.JS,Sass,Ember.JS,NPM

Laravel,CakePHP,Express,CodeIgniter,Rubyon Rails,Pylon,ASP.NET

数据库

Local Storage,Core Data,SQLite,Cookies,Sessions

MySQL,Casandra,Postrge SQL,MongeDB,Oracle,Sybase,SQL Server

服务器

Ubuntu,Apache,Nginx,Linux,Windows

其他

AJAX,AMP,Atom,Babel,BEM,Blaze,Bourbon,Broccoli,Dojc,Flux,GraphQL,Gulp,Polymer,Socket.IO,Sublime Text

前端 Vs 后端 岗位区别

对于初学者来说

前端:入门简单,先易后难,能看到自己做出来的展示页面,有成就感

后端:入门难,深入更难,枯燥乏味,没有太大成就感,看一堆业务逻辑代码

对于程序员来说

在实际的开发过程中,这个阶段对前后端的要求还是蛮低的,尤其是后端,新员工经过培训之后都可以参与到后端开发中,这些都是比较浅的技术层面,没有太高的技术门槛,唯一需要做的是先编码成为熟练工种。

前端开发人员精通HTML、CSS和JS,能熟练使用JQuery,并能熟练应用于页面布局、页面样式和屏幕分辨率自适应以及交互效果的开发等工作。

后端开发人员熟练使用一门编程语言(比如:Java、C#、Python、C++等)和懂一些设计模式,会编写SQL语言并懂数据库设计。

对于工程师来说

对于有了一定经验的前端软件工程师来说,这个阶段需要懂Node.js、Vue.js、React.js等前端框架,涉及到前端开发架构和开发效率(比如:组件、模版和验证/解析方法封装等等)一系列问题。

对于有了一定经验的后端软件工程师来说,这个阶段需要懂Spring/MVC、iBatis等框架,涉及到数据结构、设计模式、后端开发架构和开发效率(比如:业务功能和方法封装等等)一些系列问题。

对于技术经理或者架构师来说

这个阶段编程已经不是主要工作了,但必须具备上面的技能,还需要具备架构能力,跟开发者已经不在一个水平上了,主要区别在于技术领导力,本文只探讨前后端开发,就不再往下延伸了。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享