专栏首页Java深度编程什么是前端技术与后端技术

什么是前端技术与后端技术

1.1 前端技术简介

在HTML入门教程学习之前,我们有必要跟大家讲一下网站开发的一些知识。了解这些知识,对你以后网站开发之路如何走、该学习些什么,是非常有用的。同时也避免你走太多的弯路。

一、从网页制作到前端开发

1、web1.0时代的网页制作

网页制作是web1.0时代的产物,那个时候的网页主要是静态网页,所谓的静态网页就是没有与用户进行交互而仅仅供读者浏览的网页,例如一篇QQ日志、一篇博文等展示性文章。在web 1.0时代,用户能做的唯一一件事就是浏览这个网站的文字图片内容,这时用户也不能像现在在大多数网站都可以评论交流(缺乏交互性)。现在大多数人都听过“网页三剑客Dreamweaver+Fireworks+Flash”吧,这个组合就是web 1.0时代的产物。

:网页三剑客指的是“Dreamweaver、Fireworks和Flash”。

2、web2.0时代的前端开发

“前端开发”是从“网页制作”演变而来的。

从2005年开始,互联网进入web 2.0时代,由单一的文字和图片组成的静态网页已经不能满足用户的需求,用户需要更好的体验。在web 2.0时代,网页有静态网页和动态网页。所谓动态网页,就是用户不仅仅可以浏览网页,还可以与服务器进行交互。举个例子,你登陆新浪微博,要输入账号密码,这个时候就需要服务器对你的账号和密码进行验证通过才行。web2.0时代的网页不仅包含炫丽的动画、音频和视频,还可以让用户在网页中进行评论交流、上传和下载文件等(交互性)。这个时代的网页,如果是用“网页三剑客Dreamweaver+Fireworks+Flash”制作的,那是远远不能满足需求。现在网站开发无论是开发难度,还是开发方式上,都更接近传统的网站后台开发,所以现在不再叫“网页制作”,而是叫“web前端开发”。

所以,处于web2.0时代的你,如果要学习网站开发技术,就不要再相信所谓的“网页三剑客Dreamweaver+Fireworks+Flash”,因为这个组合已经是上个互联网时代的产物。而且这个组合开发出来的网站问题也非常多,例如代码冗余、网站维护困难(学习到后期,你会知道为什么不用这个组合了)。

二、前端技术

1、前端开发最核心技术

我们知道,用所谓的网页三剑客已经不能满足需求了,那前端开发究竟要学习什么技术呢?网页最主要由3部分组成:结构、表现和行为。网页现在新的标准是W3C,目前模式是HTML、CSS和JavaScript。前端开发最核心的3个技术

(1)HTML是什么?

HTML,全称“Hyper Text Markup Language(超文本标记语言)”,简单来说,网页就是用HTML语言制作的。HTML是一门描述性语言,是一门非常容易入门的语言。

(2)CSS

CSS,全称“(层叠样式表)”。以后我们在别的地方看到“层叠样式表”、“CSS样式”,指的就是CSS。

(3)JavaScript

JavaScript是一门脚本语言。

(4)HTML、CSS和JavaScript的区别

我们都知道前端技术最核心的是HTML、CSS和JavaScript这三种。但是这三者究竟是干嘛的呢?

“HTML是网页的结构,CSS是网页的外观,而JavaScript是页面的行为。”

我晕,这不是等于没说吗?好吧,我给大家打个比喻。我们把前端开发的过程比喻成“建房子”,做一个网页就像盖一栋房子,先把房子结构建好(HTML)。建好房子之后给房子装修(CSS),例如往窗户安上窗帘、往地板铺上漂亮的瓷砖。最后呢,装修完了之后,当夜幕降临的时候,我们要开灯(JavaScript),这样才能看得见里面。现在大概懂了吧。

我们回到实际例子中去,看一下绿叶学习网的导航条。我们先分析一下“前端技术”这一栏目的具有以下基本特点:

① 导航条文字颜色是白色;

② 大小是14px

③ 背景颜色是绿色;

④ 鼠标移动到上面颜色会变成深绿色;

这些效果是怎么做出来的呢?其实思路就跟上面“建房子一样”。我们先用HTML搭建网页结构,这时候默认情况下,字体、字体颜色、字体大小和背景颜色如下图:

仅仅使用HTML的文字

然后我们通过CSS修饰一下,改变其字体、字体大小、字体颜色和背景颜色,得到如下的效果图:

在HTML基础上加入CSS的文字

最后,我们通过JavaScript定义鼠标一个行为,就是鼠标移动到上面的时候,背景颜色会变为深绿色,效果如下:

加入JavaScript特效

现在大家都知道一个缤纷多彩的网页究竟是怎样做出来,也知道为什么“前端技术最核心的是HTML、CSS和JavaScript”了吧?

2、前端开发其他技术

前端技术最核心的是HTML、CSS和JavaScript,但是对于一个真正的前端工程师来说,哪怕你精通这三个,你也不能称为一个真正的“前端工程师”。因为前端技术除了HTML、CSS和JavaScript这三种,还需要学习Ajax、SEO等。

(1)Ajax

Ajax,即“Asynchronous Javascript And XML(异步JavaScript和XML)”,是指一种创建交互式网页应用的网页开发技术。

通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用Ajax)如果需要更新内容,必须重载整个页面。

Ajax是前后端交互的技术,主要实现在前端。(不懂?!没关系,我们在Ajax教程中会讲解到)

(2)SEO

SEO,即“Search Engine Optimization(搜索引擎优化)”。SEO优化是专门利用搜索引擎的搜索规则来提高目前网站在有关搜索引擎内的自然排名的方式(国内常见的搜索引擎有百度、360、搜狗等)。

简单来说,你建好了网站并不代表你网站就能被搜索引擎搜索到,我们一般使用百度搜索资料时,搜索出来的网页有很多,但是我们一般看了搜索结果的第一、二页就不再往下看了。SEO,就是为了我们的网站能排在搜索结果的前面,这样你的网站才会有流量。你做网站,相信你也是想让你网站有更多人浏览的吧。

三、后端技术

如果我们只学习完前端技术,其实也差不多可以开发属于自己的网站了。不过这个时候开发出来的网站是一个静态的网站,唯一的功能是供用户浏览,缺乏与用户的交互性,用户能做的东西不多。所以前端开发的页面只能给用户看,而做不了有用的操作,比如进行注册,登录,存储数据,删除数据,修改数据等,前端都做不大,前端只能提供是一个肉眼能看到的死页面,是一副皮囊,而没有内在的实质。因此,如果我们要开发一个用户体验更好、功能更加强大的网站,就要学习一下后端技术。

那后端技术究竟是怎样的一门技术呢?举个简单的例子,很多大型网站都有注册功能,只有用户注册了之后才具有某种权限,例如你要使用QQ空间,你就要注册一个QQ才能使用。这样的功能就是后端技术所实现的。再有,淘宝网不是有很多商家吗?这些商家有各种各样的商品,这些庞大的数据只能使用后端技术中的数据库技术才能实现。

后端的用途

例子1:QQ聊天记录,空间数据的存储

用户使用QQ与其它用户进行聊天后,能够将聊天记录保存到服务器,下次使用其它电脑登录后依然能够从服务器上查询到之前的聊天记录。这整个操作,首先是用户看到了前端开发的界面,然后操作了前端的按钮,发送了文字信息。具体分工如下:眼睛所能看到的界面,包括能点击的按钮,图片颜色,动画效果,视频展示,这都是前端开发做出来的;但是前端做了这些,并不能把发送的聊天记录保存到服务器,也无法将服务器的数据查询到界面上展示给用户,而这个存储和查询数据的功能就是后端做的。

列子2: 政府网站,每次考试后查询分数,服务器都会奔溃

每年高考结束后,查询分数的都是一大波接着一大波的,每年都会导致服务器奔溃。整个流程如下: 某个时刻的同一时间,有一万个学生在访问高考成绩查询的网站,网站首先会把前端开发的页面返回给学生所在电脑的浏览器,这时候学生所看到的页面就是前端开发的,但是页面中的动态数据(比如:网站首页显示了天气信息,所在地,当前用户是某某某,这些数据都是因人而异,因时间而异,因地点而异,只有后端技术才能实现)是通过后端技术查询到的。然后学生输入了考生编码,点击了查询,点击的按钮是前端提供的,点击后前端就会调用后端的服务器,将学生编号传入服务器,服务器接收了开发在后端代码中执行,查询数据库,查到这个数据后,再返回给前端,这个过程就是通过后端技术实现的。如果同时有一万人做这个事情,服务器可能就承受不了那么大压力了,就奔溃了,要解决这个问题就需要用后端技术,进行服务器的维护,一个服务器不够就用两个,两个不够就用三个,让多个服务器组成一个集群,共同来处理前端来的请求。这便是后端中的分布式技术。

总结来说,前端与后端就像“台前幕后”一样,也像分的身体一样,一副皮囊只能给人看,但是人生病了靠皮囊是好不了的,还是得靠人体的各个器官来排毒,前端技术就是一副皮囊,它的任务就是要做的好看,展示给用户看的;而后端技术就像人的内在,各个器官,在整个系统中,才是真正起到作用的技术。

后端开发的语言种类:

1、PHP

PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,易于学习,使用广泛,主要适用于Web开发领域。

2、JSP

JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。用JSP开发的web应用是跨平台的,既可以Windows系统下运行,也能在其他操作系统(如Linux)上运行。

3、ASP.NET

ASP.NET的前身就是我们常说的ASP技术。绿叶学习网就是使用ASP.NET开发的。ASP.NET是本系列课程推荐使用的一门技术。当然大家可以自己选择。

以上三种都是动态网页技术,大家可以到这里详细了解一下:百度百科动态网页技术

很多人都以为“网站就是很多网页的集合”,其实这个理解是太恰当的。准确来说,应该是“网站是前端与后端的结合”。

四、从前端开发到后端开发的学习路线

1、常见的Web技术

常用Web技术

2、学习路线

从上面我们可以看出,Web技术实在太多了,很多同学都不知道怎么入手,上网问别人,回答又五花八门。这是本网站推荐的:

HTML入门→CSS入门→HTML进阶→CSS进阶→JavaScript入门→jQuery入门→ASP.NET入门(或PHP入门)→Ajax→ASP.NET进阶(或PHP进阶)

这一条路线是比较理想的一条从前端开发到后端开发的学习路线,其实你别看这条路线那么长,其实我是截断了来定制的,要掌握的也就几门技术:HTML、CSS、JavaScript、ASP.NET(PHP)、Ajax等。

我们在HTML刚刚入门的时候,你不需要一定要把HTML学到精通才去学CSS入门教程(这也不可能),这是一种最笨又最浪费时间的学习模式。所以对于初学者,千万千万别想着精通了一门技术,再去精通另外一门技术。你要是能做到了,我相信肯定很多大神都拜你为师了。因为技术这种东西是要“通十行”才会把一行给通了。

如果你走别的路线,你可能将会走很多很多的弯路。这条路线是本人从前端技术初学者开始,到开发了绿叶学习网、广州智能工程研究会网站、毕业选题系统、大量在线工具等项目以及阅读大量技术书籍之后的的心血总结。当然,这条路线也是一个建议,并非强硬。

接下来,就是我们踏入前端开发的第一步——HTML入门教程。

1、什么叫XHTML+CSS+JavaScript?

我们看到市面上很多书名都叫“DIV+CSS”或“HTML+CSS”,其实这两个叫法都是不严谨的,准确来说是“XHTML+CSS”。但是叫的人多了,大家也知道是那个意思,所以约定俗成就干脆称为“DIV+CSS”或“HTML+CSS”。所以以后,我们看到“DIV+CSS”或“HTML+CSS”,心里也应该知道指的是“XHTML+CSS”。然而什么叫XHTML,我们在后面的章节会说到,读者不用手忙脚乱地。

2、常见的JavaScript框架应该学习哪个?

我们知道,HTML、CSS和JavaScript是前端技术中最基本的3个元素。对于HTML和CSS,他们没有别的框架,但是对于“JavaScript”来说,它却有很多框架,例如:

“jQuery、ExtJS、Dojo、YUI……”

那对于初学者来说,应该选择哪个JavaScript框架比较好呢。当然非jQuery莫属了。jQuery是全球最流行的JavaScript框架,是最简单易懂、最适合初学者入门的JavaScript框架,没有之一

1、从web1.0到web2.0,网页制作已经变为前端开发了。现在对于前端开发,你要学的不是什么“网页三剑客”,而是“HTML+CSS+JavaScript”;

2、前端技术核心元素的是HTML、CSS和JavaScript,但是我们还要学习一些Ajax、SEO知识;

3、前端技术只能开发静态网页,而进一步学习了后端技术,你能开发一个用户交互性更好、功能更加强大的网站;

4、后端技术有ASP.NET(或PHP)、SQL Server等;

5、学习路线:HTML入门→CSS入门→HTML进阶→CSS进阶→JavaScript入门→jQuery入门→ASP.NET入门(或PHP入门)→Ajax→ASP.NET进阶(或PHP进阶);

本文分享自微信公众号 - Java深度编程(JavaDeep),作者:helicopter

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-11-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SQL优化之LIMIT语法, limit n,m 和 limit n有什么区别?

    在某些面试题中会遇到这样的问答或笔试题:“limit 0,1 和 limit 1有什么区别?” 要准确回答这个问题就等深入明白limit一个参...

    Java深度编程
  • 宏观分析法 — 教你如何实现复杂sql的编写,复杂sql巧妙剥离,不看血亏

    我不知道世上有多少人提出了宏观分析法的概念,而我今天所讲解的完全是出于自我思考总结的理论。 什么是宏观分析法? 我是这么定义它...

    Java深度编程
  • SpringBoolt框架获取properties配置文件值的三种方式

    Spring框架是主流框架,使用过程中经常需要在properties配置文件中配置数值,而有时候又需要在代码中获取其值。下面就为大家介绍获取配...

    Java深度编程
  • 不会写 JavaScript 的人是否还有价值?

    最近我有幸参加在墨尔本召开的 2017 Web Directions Code 大会。我和 Mark Dalgleish 还有 Glen Maddern (他的...

    疯狂的技术宅
  • 重拾前端技能为你的职业前程保驾护航

    最近自己身边有好几个小伙伴由于各种原因(个人,疫情等都有)离职了,但是今年好像都是行情不太好的一年。许多的小公司都倒闭了,大公司也裁员,所以离职的小伙伴好几个都...

    拾贰
  • 重拾前端技能为你的职业前程保驾护航

    最近自己身边有好几个小伙伴由于各种原因(个人,疫情等都有)离职了,但是今年好像都是行情不太好的一年。许多的小公司都倒闭了,大公司也裁员,所以离职的小伙伴好几个都...

    拾贰
  • 乐视又欠钱了,这次要失去亚足联赛事的转播权

    镁客网
  • 服务器配置java

    _淡定_
  • WordPress主题插件严重漏洞修复,影响将近20万个网站

    WordPress的ThemeGrill Demo Importer程序的开发人员已更新了该插件,删除一个严重漏洞,该漏洞为未经身份验证的用户提供了管理员特权。...

    FB客服
  • 用matplotlib和pandas绘制股票MACD指标图,并验证化交易策略

    从数学角度来分析,MACD指标是根据均线的构造原理,对股票收盘价进行平滑处理,计算出算术平均值以后再进行二次计算,它是属于趋向类指标。

    用户1153489

扫码关注云+社区

领取腾讯云代金券