Node.js全栈工程师



全栈工程师介绍从LAMP到MEAN再到Meteor


那么要讲Full Stack的话,我们要讲什么叫Stack?


这个是我们做软件开发来讲是一定天天要接触的一个东西。那么现在最流行的就是Full Stack,就是全栈。所以我们从头开始来,怎么开始Full Stack。


那么这个是web技术的演进。


栈就是,比如说典型的LAMP就是一个技术栈。因为在web技术里面,通过的讲。你做一个网站也好,应用也好,你通常要使用不止一个软件,而是多个软件产品来组合。那这典型的就是一个LAMP架构。


这个LAMP实际上是四个软件的字母组成的。


L:就是Linux。Linux是操作系统。


A:就是Apache。Apache是web server端。


M:就是MySQL。MySQL是数据库。


P:就是PHP。PHP是应用于服务器的开发语言。


它们组成了这么一个技术栈。


那么类似的比较新的就是MEAN。


M:就是MongoDB这个数据库。


Express.js是server的后端框架。


Angular.js是前端的框架。


Node.js做这个js的运行环境。


所以这个讲的里面,名词会比较多,多半都是些缩写。



互联网的历史


然后我们来讲一讲互联网的历史?;チ较衷谝簿褪?0+年。但是这个可以说是很久以前的了,因为这个技术发展实在是太快了。


0.png


那么20年,对于互联网讲,已经几乎是一个世纪的这么一个历史了。那么这个网页,web最开始的时候实际上是静态的。


1.png


什么叫静态的呢?


就等于是在这个做了一个网页文件,存到了服务器端。然后浏览器去请求这个服务器上的文件的时候,假如就是这么一个网址。


2.png


在这时,就是浏览器发出一个http请求到server。server收到了这个请求以后(它真有个目录叫public,真有这么一个文件),就把这个文件像ftp一样,把文件就传给browser。


3.png


然后浏览器得到这个html文件之后,就直接相当于在本地打开一样。


4.png


这就是最简单的,最原始的网页了。那么很快,这个就不满足需求了。我们就到了这个脚本的时代了。典型的就是LAMP。我们也叫做动态HTML?;蛘呓锌梢宰鲆恍┱嬲杏玫氖虑榱??;チ挠τ么呱薒AMP。其实不只是那个时候,在美国仍然有很大的一批网站是在LAMP上面跑的。


LAMP是怎么运行的呢?我们继续模拟刚才那个过程。假如浏览器先发起这样的一个请求。


5.png


这个时候,还是从前端发了一个请求过来,把这个送给了Linux上面的Apache server,它把这个请求转给PHP来解释。那么你server里面应该有一个文件,它的名字叫index.html。但这个文件里面嵌入了好多的脚本。这个脚本实际上是在被server端的PHP运行时刻被解释。如果里边设计到一些查询,它就到自己的数据库里面去找。找的结果再填到PHP里面使用。


6.png


然后,填好了以后,这时候一个完整的html再送回到浏览器。这是一个完整的HTML。


7.png


已经不是一个脚本了。是完整的html。然后浏览器就会去渲染它,rendering。在这个时代,相当于完成了一个互联网上的巨大的飞跃。实际上就做了很多以前没法做的事情了??梢宰龊芏?,电子商务、查询等等。但是呢!这个很快也就陷入了另外的一个瓶颈了。也就是说,我怎么样能够把这个用户体验能够提高?我在这里画了一个CPU。


8.png


我把CPU放在服务器这一端,为什么呢?因为刚才我们过程中也讲了,很多的渲染工作实际上是server端来完成的,包括查询数据库。那么服务器干了很多工作,就把一个html送给前端,所以在浏览器这端没有做太多工作。在这种情况下,就形成了一个服务器很重,但是前端很轻,所以我把CPU放在这儿。结果,有一些坏处就是,用户这边的反应不是很快,因为我在这做任何动作都要等待server处理完了以后给我,才知道显示什么。通常来说,我们需要把整个文件刷新一遍,才能得到整个html文件。实际上呢!我们可能只需要改变页面的某一个小角落,就达到目的,但是却不得不刷新页面,这是一个很大的问题。那么,这才有了以后的ajax技术。10年之前多一点儿就出来了。ajax的缩写呢就是:Async JavaScript and XML。异步的JavaScript和XML。



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
? 2012-2016 葡京国际首页 www.ybxiongdi.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

秋招大聚惠,豪华礼包你领了吗?

客服热线 400-862-8862

回到顶部