读书:简谈前端后端

编写架构

一、概览

前端知识:HTML,CSS,JavaScript,jQuery,Bootstrap

后端知识:HTTP服务器,后端编程语言,数据库,Cookie,Session

活动支付: 原生,混合式,HTML5,区其他移动端技术拔取在职能和开发开支上的相比较

二、前后端的不相同

1、前端:简单明了就是,在浏览器端执行,凡是运行在用户设备上的技艺都足以称呼前端技术( 比如HTML / CSS / JS,甚至移动设备的Obj-C / Swift)

2、后端:在服务器端执行,负责将上述代码封装在http的数额包中然后通过互联网传递到前端;别的一个职能是保留和提供用户数据,比如移动端常见的JSON就是近日最流行的在后端和前端之间传输的一个文件格式。

三、Web前端的运行逻辑

例:访问Google.cn

1、浏览器向谷歌的服务器发送一个http请求

2、服务器使用一个http响应,把显示这几个网页所须求的资源传回给了浏览器

可以经过Chrome浏览器的开发者工具来越发寓目HTTP协议的运作状态;

上图为谷歌的HTTP协议运行情形,关键部分为:

首先列,即资源的URL(path);第四列是以此资源的档次;

在首先个请求和持续的呼吁之间有一根蓝线,即进度条。而HTTP协议中运作的项目越少,浏览器加载的速度越快。图中谷歌(Google)就处理得很好,唯有10个左右的伏乞。

四、Web前端语言

1、HTML和带样式的HTML

HTML就是一组标签和文件的整合,是一个最大旨的网页。它早已包含了网页常见的要素,实际上在Web最初的很长一段时日内,网页都是那几个样子。后来乘机使用网络的人群越来越广阔,在HTML3.0中引入了对网页样式的定义,某种程度上可以说,也是从这一个时候开先发出了网页设计师的角色。(现在已经是html5)

2、CSS

带样式的HTML也富有一个败笔,它必要为每个标题和文字都设定样式,工作量极度巨大。

CSS就是在如此的境况下诞生了。CSS,又称叠层样式表,简言之是一种用来显示HTML文件样式的样式设计语言。CSS可以对网页中的对象的职位排版举行像素级的纯粹控制,达成基础的静态的相互设计;而CSS近日的风靡版本CSS3可以真的到位网页表现与内容分别。

3、JavaScript

基本上在CSS诞生的同一时间,咱们初步以为这么静态的网页似乎略显俗气,能无法给网页参加一些可以动起来的因素?比如点击一个按钮之后变个颜色。当时网景公司的工程师Brendan Eich就给她们我的浏览器引入了那种完成动态效果的脚本语言,那就是Javascript(简称JS)的诞生。所以通俗来说,Javascript就是用来给HTML网页增添动态效用,落成更炫酷的竞相。

4、jQuery

涉及Javascript,就得提一下jQuery。jQuery是一个绝妙的Javascript库。jQuery使用户能更有利地拍卖HTML,它可以使用户的HTML页面保持代码和情节分别,通过jQuery,可以不用在HTML里面插入一堆JS来调用命令,只要求定义ID即可。其余,由推特设计师马克 Otto和Jacob Thornton合作开发的Bootstrap也是一个受欢迎的前端框架。

五、优良前端评判标准(按序牛逼)

1、只会HTML/CSS的,那种我们俗称切图的,基本上就是Taobao几十块切一张图的;

2、懂一些粗略的Javascript,紧假使应用部分现成的框架,比如jQuery,bootstrap等等;

3、知道jQuery和Bootstrap的受制,必要时能写一些原生的JS/CSS代码;

4、对JS/CSS非凡领会,执着于选取浏览器的各个新型特性来促成各个炫酷效果,那种大家改为炫技派;

5、可以友善写出类似jQuery / Bootstrap这样的前端框架供其余人使用。

六、后端服务器

1、本质:是上前端提供必要出示网页和APP内容的多寡,可能是HTML,也可能是JSON数据,也能够是音视频或者PDF文件。

2、一个服务器包涵3个部分:

a)HTTP服务器:把(必要回到给客户端的)资源文件封装在HTTP数据包里;

本条资源有可能是它背后的应用服务器动态变化的,也有可能是保存在硬盘上的静态文件;

这么些资源是独具后端程序都不可以不有的,也是一贯和我们的浏览器通讯,再次回到给大家多少的次第;

以此资源效益就是把它(前面的编程语言生成的种种HTML/CSS/Javascript),打包成一个HTTP请求,然后再装进到一个TCP/IP的数据包里发回给浏览器端;

最常用的三个HTTP服务器叫做Apach和Nginx。

b)应用服务器:生成前端必要的HTML/CSS/JS交给浏览器

c)数据库

七、后端语言

1、.net/java

粗大,复杂。但Java的助益就是相符处理更加大的数据量,如果您的种类会快西玛成大暴发,需求处理海量的乞求,那么Java是一个不错的接纳。

2、PHP

能够很快上手,比较其余语言,可以更快的为利用添加种种新功用。当然,可维护性就另当别论了。

3、Ruby

丰富相近自然语言,基本上就是不懂编程,也能看精晓70%或80%。,快的还要,他的最大短板就是性质。推特(TWTR.US)最早就是采纳Ruby on Rails开发的,但是随着用户数的逐步进步,推特的宕机开端变得可怜频仍,后来他们无奈将全方位系统从Ruby迁移到到了一个从Java派生出来的言语Scala。

4、Node.js

简单的话,可以把node.js精晓为跑在服务器上的javascript,再直白一点,就是一个跑在服务器上的浏览器,因为node.js最早就是从chrome浏览器的Javascript引擎V8中剥离出来的。相比较Ruby,Node.js程序可以获得更高的面世品质,那在有的高并发的场景下(比如群聊,五个人搭档等)会很有优势。

5、无后端(leancloud)

无后端编程是多年来的一个新势头,但他不用说是真的没有后端,而只是把后端交给一些第三方的云平台,比如Leancloud,Firebase等。即使您付出一个手机App,那样的补益就是你可以在早期没有后端程序员的情状下快捷开工,像Leancloud那样的云平台已经得以胜任一大半的使用场景,假诺前期工作逻辑复杂过后再寻找适合的后端工程师迁移也不迟。

八、数据库

1、MySQL(结构化数据库):表结构固定,查询需用SQL(结构化查询语言)

2、MongoDB(非结构化):所以可以操作某一行数据,而不用增添新列

九、Cookie和Session

Cookie掌握为是服务器给各样用户分配的唯一ID,这些ID由用户浏览器保存;

Session则是服务器为了保证这些会话在劳务器端保存的与cookie对应的用户数量。

十、移动支付

1、移动端和浏览器的分别就在于,半数以上App,大家开拓的弹指间,就曾经看到了它的界面,而不用再去向服务器来拿显示界面的HTML等公事。所以移动端,开发原生应用所使用到的技艺(比如Objective C,swift)就一定于前者的HTML,只然则它是直接保存在应用本地的(原生)。

2、那样就生出了一个题材:怎样来得到使用数据?假若是网页应用,大家可以直接将数据包涵在HTML中一并举报给浏览器;但是对于运动应用就必要有一个特其他情商来传送应用要求的数量,那就是JSON。

3、移动使用两种档次:原生、HTML5、混合型

相关文章