前端和后端概述
前端 | 什么是前端开发?Frontend 前端开发主要涉及网站和 App,用户能够从 App 屏幕或浏览器上看到东西。简单地说,能够从 App 屏幕和浏览器上看到的东西都属于前端。 网站和移动 App 的前端 我们就以你现在正在浏览的网页为例。网页上的内容、图片、段落之间的空隙、左上角的图标、右下角的通知按钮,所有这些东西都属于前端。 移动 App 的前端和网站是一样的。例如,你所看到的内容、按钮、图片,它们都属于前端。另外,因为移动设备的屏幕是可以触摸的,所以应用程序对各种触控手势(比如放大 / 缩小、双击、滑动等)做出的响应也属于前端,它们是前端的活动部分。 |
后端 | 什么是后端开发?Backend 后端开发即“服务器端”开发,主要涉及软件系统“后端”的东西。比如,用于托管网站和 App 数据的服务器、放置在后端服务器与浏览器及 App 之间的中间件,它们都属于后端。简单地说,那些你在屏幕上看不到但又被用来为前端提供支持的东西就是后端。 网站和移动 App 的后端 网站的后端涉及搭建服务器、保存和获取数据,以及用于连接前端的接口。如果说前端开发者关心的是网站外观,那么后端开发者关心的是如何通过代码、API 和数据库集成来提升网站的速度、性能和响应性。 与前端类似,移动 App 的后端与网站后端是一样的。为移动 App 搭建后端有这些选择:云平台(AWS、Firebase)、自己的服务器或 MBaaS(移动后端即服务,Mobile Backend as a Service)。 后端开发使用 Ruby 、 Apache 、 Nginx 、 PHP 、 MySQL 、 MongoDB 等技术。
|
前端和后端开发者所需技能
前端开发者必备技能 | 后端开发者必备技能 |
很好的审美和设计能力 | 熟悉第三方插件 |
了解各种CMS(内容管理系统) | 熟练调试代码 |
了解客户需求 | 将客户需求翻译成代码 |
具备PHP和面向对象知识 | 具备Web服务器配置相关知识 |
具备质量保证知识 | 如何与外部系统集成(第三方支付、社交媒体) |
熟练使用设计工,如PS、Sketch、Figma | 良好的思维技能 |
Web托管基础知识 | 设计用户交互系统 |
前端和后端开发者的角色和职责
前端开发者的角色和职责 | 后端开发者的角色和职责 |
确保网站观感在各个浏览器上保持一致 | 了解客户需求,提供高效解决方案 |
构建具有诗句吸引力的交互式网站、APP | 将数据安全保存下来,并在需要的时候向用户展示数据 |
了解跨浏览器调试测试 | 开发支付系统、安全保存支付数据 |
了解基本SEO(搜索引擎优化) | 搭建系统和数据 分析架构 |
熟练使用设计工具:如Flash、Dreamweaver | 开发管理API资源 |
提供简洁易用的设计 | 组织系统逻辑,让系统可以在多种 设备高效运行 |
善于与客户沟通,实现他们的想法 | 解决系统问题,实现算法 |
那么前端和后端的基本区别
基本区别 | 前端 | 后端 |
技能 | 三大基本技能HTML、CSS、JavaScript | 数据库、服务器、API等 |
职位 | 网站外观设计 | 构建数据库架构,为前端提供支持 |
独立性 | 前端不能作为单独的服务,静态网站除外 | 后端为前端提供支持,WebAPI可以独立服务 |
目标 | 确保所有用户可以访问网站或者APP | 为前端提供支持,确保整个网站或者APP的正常运行 |
前端和后端的技术栈比较
技术栈 | 前端 | 后端 |
编程语言 | HTML、CSS、JavaScript | PHP、Python、SQL、Java、Ruby、.NET、Perl |
开发框架 | Angular、React、Vue、Backbone等 | ASP.NET、Express、CakePHP、Ruby on Rails、Laravel等 |
数据库 | 本地存储、SQLite、Cookie、会话 | MySQL、SQL Server、Oracle、MongoDB等 |
其他 | Ajax、AMP、Atom、Babel、BEM、Blaze、Bourbon、Broccoli、Dojo、Flux、GraphQL、Gulp、Polymer、Socket.IO、Sublime Text等 | 服务器:Ubuntu、NGINX、Linux、Windows、Apache等 |
什么是全栈开发?
有些人可以同时从事前端和后端开发,他们被称为全栈开发者。
成为全栈开发者或者招聘全栈开发者既有优点也有缺点。虽然开发者数量可以减少到原来的一半,但他们的水平也相应降低了。专门从事前端或后端开发的开发者对单个领域的了解总是多于同时了解这两个领域的开发者。
与全栈类似的技术开发栈还有很多,比如 MEAN 栈、LAMP 栈、.NET 栈、Python-Django 栈、ROR 栈,等等。开发者可以自由选择成为这些技术栈的专家。
不同职位和级别所要求的技能是不一样的,但不管怎样,要成为前端或者后端开发者绝对需要掌握一定的技能。
前端3大核心技术
要做WEB前端,就需要知道前端到底是什么,需要学习那些知识;前端至少要懂的三个部分:HTML,CSS,JavaScript(简称JS),那首先先明确这三个概念:
- HTML负责结构,网页想要表达的内容由html书写;
- CSS负责样式,网页的美与丑由它来控制;
JS负责交互,用户和网页产生的互动由它来控制。