前端开发主要涉及网站和App,用户能够从App屏幕或浏览器上看到东西。简单地说,能够从App屏幕和浏览器上看到的东西都属于前端。
网站和移动App的前端
我们就以你现在正在浏览的网页为例。网页上的内容、图片、段落之间的空隙、左上角的图标、右下角的通知按钮,所有这些东西都属于前端。
移动App的前端和网站是一样的。例如,你所看到的内容、按钮、图片,它们都属于前端。另外,因为移动设备的屏幕是可以触摸的,所以应用程序对各种触控手势(比如放大/缩小、双击、滑动等)做出的响应也属于前端,它们是前端的活动部分。
这些东西是由前端开发者开发出来的,他们使用了Ionic、Swift、Kotlin、Bootstrap、Angular、Vue、jQuery、React.js等开发技术。后面我们会更多地介绍这些开发技术。
物联网的前端
任何可以连接到互联网的设备都是物联网设备。你可能会好奇物联网设备的前端会是什么样的。任何一种智能设备,比如智能冰箱、远程POS机、智能手表、智能钱包,它们都需要提供某种界面,这样用户才能操作这些设备。所以,这种界面就是一种交互媒介,组成这种界面的元素就是物联网的前端。
但严格来说,物联网设备并没有真正的前端。不过它们都装有固件,与移动App的前端类似。这些固件可以用各种编程语言来开发,比如C语言、C++、Lua、Python或JavaScript。
2、什么是后端开发?
后端开发即“服务器端”开发,主要涉及软件系统“后端”的东西。比如,用于托管网站和App数据的服务器、放置在后端服务器与浏览器及App之间的中间件,它们都属于后端。简单地说,那些你在屏幕上看不到但又被用来为前端提供支持的东西就是后端。
网站和移动App的后端
网站的后端涉及搭建服务器、保存和获取数据,以及用于连接前端的接口。如果说前端开发者关心的是网站外观,那么后端开发者关心的是如何通过代码、API和数据库集成来提升网站的速度、性能和响应性。
与前端类似,移动App的后端与网站后端是一样的。为移动App搭建后端有这些选择:云平台(AWS、Firebase)、自己的服务器或MBaaS(移动后端即服务,MobileBackendasaService)。
后端开发使用Ruby、Apache、Nginx、PHP、MySQL、MongoDB等技术。后面我们会更多地介绍这些开发技术。
物联网的后端
云平台是物联网后端的一个重要组件。有证据表明,大部分物联网设备极度依赖云服务器,它们通过服务器上传、处理和下载数据。
高端物联网解决方案的后端甚至涉及人工智能和机器学习。
物联网项目的后端平台包括AmazonIoT、GoogleCloud、MQTTBroker、IFTTT,等等。
3、那么前端和后端的区别有哪
前端和后端的技术栈比较
4、前端和后端开发者,哪个更好?
做前端开发还是后端开发,除了技术方面的东西,还要看什么对你来说更为重要。
前端设计师所做的很大一部分工作是让用户在移动或PC屏幕上看到的东西看起来很棒,而且很容易使用。相反,后端开发人员只关心如何编写干净的代码。
如果你要基于上面所说的内容在前端和后端之间判定其中一个比另一个好,那么这本身就是一个错误的假设。实际上,它们都是不可替代的,在构建网站或应用程序时,它们是同等重要的。
有些人具备视觉方面的天赋,而其他人擅长通过逻辑和技术来解决问题。苹果之所以成为今天的样子,要归功于SteveJobs(前端的梦想家)和SteveWozniak(后端天才)。
5、前端和后端开发者
现在,你已经对前端和后端开发有了很好的了解,接下来是时候更多地了前端和后端开发者了。下面简要介绍了前端和后端开发者的职位、技能和职责。
通过这些要点,你可以全面了解后端和前端开发者的技能。
前端和后端开发者的职位头衔
开发者有很多工作机会,根据具体的专业知识、经验和兴趣,你可以申请以下这些后端或前端开发职位。
前端:
前端开发工程师;
前端Web设计师;
Android开发工程师;
iOS开发工程师;
前端DevOps工程师;
前端JavaScript开发工程师;
前端UI工程师;
HTML/CSS开发工程师;
前端测试工程师;
前端SEO专家。
后端:
后端开发工程师;
初级后端开发工程师;
Web开发工程师;
DevOps工程师;
软件工程师;
WordPress开发工程师;
云计算工程师;
REST专家;
服务器/系统管理员;
数据库架构师;
Java开发工程师;
Python开发工程师;
PHP开发工程师。
前端和后端开发者的技能要求
不同职位和级别所要求的技能是不一样的,但不管怎样,要成为前端或者后端开发者绝对需要掌握一定的技能。
前端和后端开发者的角色和职责
前端和后端开发者的角色和职责是什么?在申请工作或招聘前端或后端开发者之前,请确保了解以下这些内容。
前端和后端开发者的薪水比较
前端开发者:
以上数据来自PayScale
以上数据来自Glassdoor
后端开发者:
6、什么是全栈开发?
有些人可以同时从事前端和后端开发,他们被称为全栈开发者。
成为全栈开发者或者招聘全栈开发者既有优点也有缺点。虽然开发者数量可以减少到原来的一半,但他们的水平也相应降低了。专门从事前端或后端开发的开发者对单个领域的了解总是多于同时了解这两个领域的开发者。
与全栈类似的技术开发栈还有很多,比如MEAN栈、LAMP栈、.NET栈、Python-Django栈、ROR栈,等等。开发者可以自由选择成为这些技术栈的专家。
最新Java教程全套
第1阶段:Java基础
1.认知基础课程2.java入门阶段3.面向对象编程4.飞机小项目5.面向对象和数组6.常用类7.异常机制8.容器和数据结构9.IO流技术10.多线程11.网络编程12.手写服务器13.注解和反射14.GOF23种设计模式15.正则表达式16.JDBC数据库操作17.手写SORM框架18.JAVA10新特性19.数据结构和算法20.JVM虚拟机讲解21.XML技术解析
第2阶段:数据库开发全套课程
1.Oracle和SQL语言2.Mysql快速使用3.PowerDesigner使用4.JDBC数据库5.Mysql优化6.oracle深度讲解
第3阶段:网页开发和设计
1.HTML基础2.CSS基础3.JavaScript编程4.jQuery5.easyUI
第4阶段:Servlet和JSP实战深入课程
1.Servlet入门和Tomcat2.request和response对象3.转发和重定向_Cookie4.session_Context对象5.JSP6.用户管理系统7.Ajax技术8.EL和JSTL标签库9.过滤器10.监听器
第5阶段:高级框架阶段
1.Mybatis2.Spring3.SpringMVC4.SSM框架整合5.RBAC权限控制项目6.Hibernate37.Hibernate48.jFinal9.Shiro安全框架10.Solr搜索框架11.Struts212.Nginx服务器13.Redis缓存技术14.JVM虚拟机优化15.Zookeeper
第6阶段:微服务架构阶段
1.SpringBoot2.SpringData3.SpringCloud
第7阶段:互联网架构阶段
第8阶段:分布式亿级高并发电商项目
第9阶段:毕设项目第1季
1.电子政务网2.企业合同管理系统3.健康管理系统4.商品供应管理系统5.土地档案管理系统6.聊天室设计和实现7.码头配套和货柜管理系统8.百货中心供应链系统9.病历管理系统10.超市积分管理系统11.动漫论坛12.俄罗斯方块13.个人博客系统14.固定资产管理系统15.影视创作论坛16.屏幕截图工具17.超级玛丽游戏18.飞机大战游戏19.雷电
第10阶段:毕设项目第2季
1.微博系统2.写字板3.坦克大战4.推箱子5.电脑彩票系统6.记账管理系统7.新闻发布系统8.医院挂号系统9.仓库管理系统10.停车场管理系统11.网络爬虫12.酒店管理系统13.企业财务管理系统14.车辆管理系统15.员工信息管理系统16.旅游网站17.搜索引擎18.进销存管理系统19.在线考试系统20.物流信息网21.住院管理系统22.银行柜员业务绩效系统
“全套视频教程”
重要内容先提前放:
最常见的语境下:
前台,后台,指的是具体页面。
前台,是用户直接能看到的页面,所有人都可以访问。
后台,是有权限的运营人员或特殊用户(比如淘宝卖家)用权限登陆后才看得到的页面,除了能看到其他人看不到的报表外,在后台还能修改前台显示给用户看的内容。
前端,后端,很多时候指的是人,即前\后端攻城狮。衍生含义为——前\后端攻城狮的工作内容。
不严谨的说法是:前端是写代码给浏览器看的。后端是写代码给服务器看的。
如果不是专业人士,在做IT项目的时候,请谨慎使用“前端”、“后端”这两个词,容易造成误会。你口中的前\后端,很多时候和程序猿理解的前\后端估计不是一个意思。因此,请尽量使用容错率更高的“前台”、“后台”这两个词。
汉语博大精深,加上每个公司的用词也可能有自己的习惯,因此也有一些语境下,前台约等于前端,后台约等于后端。
以下是具体解释最常见语境下的区分:
先来看看页面层面。
我们来看看什么是前台:
前台,是用户直接能看到的页面,所有人都可以访问。比如上面这种随处可见的导航。
但是项目结束后,乙方外包团队全跑路了,我这里又没人会敲代码,要改这个导航怎么办?
当当当当!后台闪亮登场!
我们可以让乙方交付一种页面,这种页面能帮助我不用敲代码就能修改以上这个导航。
后台,是有权限的运营人员或特殊用户(比如淘宝卖家)用权限登陆后才看得到的页面,除了能看到其他人看不到的报表外,在后台还能修改前台显示给用户看的内容。有了这样一个页面,连我的奶奶都会修改前台显示给用户的内容:
(除此之外,更复杂的场景下,还有“中台”存在。这时前台即展现层,后台即数据层,中台即逻辑层。中台是什么则说来话长,但大体是为了让前台与后台解藕更彻底,以便更快响应用户需求而存在的。)
至于前端(攻城狮)与后端(攻城狮)。不严谨的说法是:
前端是写代码给浏览器看的。后端是写代码给服务器看的。
如果不是专业人士,在做IT项目的时候,请谨慎使用“前端”、“后端”这两个词,容易造成误会。你口中的前\后端,和程序猿理解的前\后端估计不是一个意思。因此,请尽量使用容错率较高的“前台”、“后台”这两个词。
前端和后端解释起来有些麻烦且枯燥,感兴趣的朋友可以继续往下看:
当你在百度敲下“如何找一个女朋友”,并按下搜索按钮后,你的电脑就会发送一个请求给服务器,服务器会根据这个请求,来决定接下来的操作——1)监视你的爱好。存“属性:男屌丝。爱好:女。”去数据库。2)从数据库里挖点什么“把妹神技”吐回给用户,让他觉得很厉害的样子。根据这个过程,用户就收到了他想要的东西,万事大吉。
绝大多数情况下,互联网就是这样运行的——发东西给服务器,服务器再发回些什么东西。
咦?这个故事就那么简单吗?那还要分什么前端后端?没错,在遥远的年代,确实不分什么前端后端,反正都叫程序猿就对了。
那为什么前端和后端被搞出来了呢?
在上面这个简单的故事中,其实涉及到三个很重要的东西——浏览器、服务器、数据库。
以php项目常见的流程来说(php是某种语言,可以理解成和python、java差不多的东西),其过程一般是类似于下面这张图。下面我们来说说浏览器、服务器和数据库
浏览器是“翻译”程序猿写的代码给用户看的。
写给浏览器看的,主要是html文档,html文档主要会使用html、css、JavaScript三种语言。久而久之,就有一些程序猿因为长期受这方面工作的锤nue炼dai,而变得更擅长这块工作了。
除此之外,是谁根据请求来操作数据库的?是服务器。服务器也是电脑,让电脑自动办事来读写数据库,就需要写程序。能操作电脑的玩意就有很多了,比如经常被提到的java、C++都可以。同样地,有些程序猿搞着搞着,就变得更擅长这部分工作了。
虽然很不严谨,圈子里程序猿的生态因此发生了变化:随着互联网开发工作任务的日益加重,越来越多的人开始组队做同一个项目。擅长html、css、JavaScript的程序猿,进化成了前端工程狮,天天倒腾浏览器,他们对用户体验负责。擅长java的程序猿,进化成了后端攻城狮,天天倒腾数据库和服务器,他们对服务器性能及数据负责。
但他们组队工作的时候,一旦发现bug或发生变更,就有可能就会逼的别人无奈地跟着自己一起改。这样的工作效率实在太低了。
为了防止这两种不同的攻城狮工作内容串杂在一起,双方约定,定下一个发送请求的地址,和请求的格式,至此老死不相往来。这种请求的地址和其相应的格式,又被称为API(接口)。至此,做好API文档后,前端和后端终于可以老死不相往来,各自调试各自的代码。这一不相往来的概念,也被称为前后端分离。
嗯,差不多就是这个意思。
以上只是初级的分类,其实前端也能做很多其他的事,比如让网页打开更快之类的,就不多说了,你知道这些就足够了~
前台展示用户视图和操作——由前端编写界面
后台展示管理员视图和操作——由前端编写界面
数据库和数据业务逻辑——由后端编写的
容易误解点——前端写前台界面,后端写后台界面
前台、后台界面的操作和交互,他们的交互基本都是在读取/操作数据库