热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前后端入门

文章目录前后端详解什么是前端?什么是后端?前端和后端的联系前后端Vs前后台如何区分?前后端开发详解前端Vs后端开发内容前端Vs后端技术栈前


文章目录

  • 前后端详解
    • 什么是前端?什么是后端?
    • 前端和后端的联系
    • 前后端 Vs 前后台 如何区分?
  • 前后端开发详解
    • 前端 Vs 后端 开发内容
    • 前端 Vs 后端 技术栈
    • 前端 Vs 后端 岗位区别


前后端详解


什么是前端?什么是后端?

前端


  • 狭义上指web前端,在电脑上或者手机上浏览到一个个页面,用到html、css、js这三类标记语言。
  • 广义上指大前端,包括web前端,APP,各类小程序。APP又包括移动端APP和PC端软件。
  • 前端也指人或工种,指的是制作网页,编写前端代码的开发人员。

后端


  • 实现前端的业务逻辑和数据库交互。

  • 用java、python等高级编程语言编写的用于实现业务逻辑的代码。

  • 后端也指人或工种,指的是负责实现业务逻辑和数据库设计与交互的开发人员。
    在这里插入图片描述
    具体来说,前端根据其实现的形式,常见的有:

  • 移动端APP

    根据手机系统的不同,有细分为苹果IOS APP 和 谷歌Android APP。除此之外,还有一些非常小众的手机系统APP。

  • PC端软件

    例如我们常用的Word、Excel、PowerPoint;电脑版的QQ、微信、QQ音乐;上网页用的浏览器等,都是PC端的软件。PC端也因系统的差异,前端也会进一步的细分。

  • 网页web

    网页基于HTML、CSS和Javascript实现。Web网页具有编程语言统一、与平台无关的特点,我们可以通过电脑或手机上的浏览器,甚至内嵌了网页浏览器的微信、QQ、支付宝等,实现网页的访问。

  • 小程序

    例如,微信小程序“流海云印”和“风雨同行”;支付宝小程序“蚂蚁森林”。

    是一种新生的事物,某些软件当用户规模足够巨大时,就可以设定一套规范,然后让前端程序员们直接为这些软件,而不是不同的系统,开发“程序中的程序”。

    这样的好处在于,用户不用需要手机上装各种各样的APP,一个软件里就能解决大部分事情

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

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

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

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


前端和后端的联系

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

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


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

前台,指的是用户直接能看到的页面,所有人都可以访问。
在这里插入图片描述
后台,指的是有权限的运营人员或特殊用户(比如淘宝卖家)用权限登录后才能看到的页面,除了能看到普通用户看不到的报表外,在后台还能修改前台显示给普通用户看的内容。
在这里插入图片描述
前台不等于前端。前台的界面是前端编写的;前台的业务逻辑是后端编写的代码实现的。

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

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


前后端开发详解


前端 Vs 后端 开发内容


  1. 运行环境不同

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

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

  2. 与用户紧密关系不同

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

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

  3. 需求变更带来的影响不同

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

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

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

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


  • 前端开发人员设计网站主页和各个页面的外观以及内容布局,对应的岗位是UI(User Interface)设计师。UI设计师主要的工作并非是敲代码,而是设计我们用户看到的网页都长啥样子,里面都有哪些内容
    在这里插入图片描述

  • 前端开发人员通过使用HTML、CSS和JS等语言和框架把UI设计师设计出来的页面实现出来。
    在这里插入图片描述

  • 后端开发人员要设计数据库,并实现与数据库有关的增删查改的业务逻辑。比如以b站的注册页面为例:
    在这里插入图片描述
    UI设计师设计b站的页面样子如上图所示,其他的前端开发人员编写代码,代码经过浏览器的渲染后,就真正成了我们用户看到的注册网页。

    当新用户注册时,输入的昵称、密码和电话号码信息就会从前端传递给后端,后端再使用SQL语言,将数据插入到数据库中,存储下来。这样用户就实现了注册。


前端 Vs 后端 技术栈


前端后端
编程语言HTML,CSS,JavascriptPHP,Python,SQL,Java,Ruby,.NET,Perl
框架Angular.JS,React.JS,Backbone.JS,Vue.JS,Sass,Ember.JS,NPMLaravel,CakePHP,Express,CodeIgniter,Rubyon Rails,Pylon,ASP.NET
数据库Local Storage,Core Data,SQLite,COOKIEs,SessionsMySQL,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等框架,涉及到数据结构、设计模式、后端开发架构和开发效率(比如:业务功能和方法封装等等)一些系列问题。

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

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


推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • java程序设计试题_《Java语言程序设计》期末考试模拟试题——填空题和编程题...
    一、根据题意,填写出空格中的内容Java平台包括三个技术方向,其中J2ME代表____________、J2SE代表___________、J2EE代表 ... [详细]
  • 校园表白墙微信小程序,校园小情书、告白墙、论坛,大学表白墙搭建教程
    小程序的名字必须和你微信注册的名称一模一样在后台注册好小程序。mp.wx-union.cn后台域名https。mp.wx-union.cn ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文讨论了如何在微信支付宝两套小程序中生成一张二维码,实现支付宝扫码进入支付宝小程序和微信扫码进入微信小程序的对应桌号进行点餐的功能,提供了一些实现方案供参考。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 微信开放外链的第二阶段:腾讯和阿里巴巴的博弈
    2021年11月30日,微信开始进行“开放外链”的第二阶段,允许在微信个人会话中打开外部链接和在微信群中打开电商链接。虽然这是腾讯和阿里巴巴都能接受的阶段性结果,但双方都不会太满意。接下来几个月,腾讯和阿里将展开复杂的博弈,我们作为外人很难看清全过程。工信部从未要求腾讯无条件开放微信API,本次开放的也只是普通的HTTP链接。 ... [详细]
  • 小程序自动授权和手动接入的方式及操作步骤
    本文介绍了小程序支持的两种接入方式:自动授权和手动接入,并详细说明了它们的操作步骤。同时还介绍了如何在两种方式之间切换,以及手动接入后如何下载代码包和提交审核。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • 微信答题小程序的设计与实现详解
    本文详细介绍了如何设计和实现一个微信答题小程序,包括题库的设计和题目的呈现。通过抽取题目编号和使用全局变量记录当前题目的信息,实现了题目的刷新和显示。同时,还介绍了题目的展示方式和容器的创建。本文适合零基础的小白学习微信答题小程序的开发。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • java io换行符_Java IO:为什么从stdin读取时,换行符的数字表示出现在控制台上?...
    只是为了更好地理解我在讲座中听到的内容(关于Java输入和输出流),我自己做了这个小程序:publicstaticvoidmain(String[]args)thro ... [详细]
  • 西安小程序开发,小程序制作,一个后台管理多端小程序功能性
    小程序已经发展4年多时间大全app下载汅api免费安卓。从最初简单demo到现在底层api接口。让我们的小程序和APP一样可以轻松的操作硬件信息。对于调取手机硬 ... [详细]
author-avatar
尖塔顶的Cat
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有