知识回顾之一:WEB编程语言发展回顾...

WEB编程语言发展回顾…

    今日学习python,学到Django框架,觉得有必要暂时停下来,回顾一下计算机编程及WEB编程的发展。
    从世界上第一台计算机ENIAC开始,计算机软件开发经历了从“服务器/瘦客户”到“个人计算机”再到“客户端/服务器(C/S)”再到WEB以及目前的“浏览器/服务器(B/S)”、分布式计算大数据等等。
    到今天为止,还能回忆起Apple II上的小乌龟爬出圆形时的新奇,当年在VAX上打出第一条纸带时的激动,听到8086第一声开机蜂鸣时的兴奋,以及上世纪90年代,第一次听到Modem拨号的声音并通过Netscape浏览器看到长城外面的世界时的震惊。
    那时候的计算机应用,除了特定领域(如科学计算、气象、军事等,需要进行服务器级别的分布式计算),都是需要拿到一个大小不等的安装包,在自己的电脑上(个人计算机)上安装后再运行。再后来出现的客户服务器结构(B/S)的应用,例如各种MIS/ERP,虽然数据库和业务逻辑运行在服务器上,但客户端电脑还是要安装特定开发的应用才能和服务器进行数据交换完成业务流程。
    互联网和WEB的出现,World Wide WEB,初期的WEB,是静态的,也就是说,客户浏览器经由HTTP协议,通过URL访问特定网站所得到的回馈网页,其内容都是固定的,就像是买一本纸质书,如果有错误,只能等下一次再版时改正。那时的网页是由HTML语言写成的。
知识回顾之一:WEB编程语言发展回顾..._第1张图片
    后来,随着客户需求的发展,例如,对动态网页的需求出现,例如图书馆系统,读者希望能及时看到书记的更新、库存、借阅状态等信息,也就是说,希望网页能和业务逻辑及数据库结合起来,出现了对B/S应用的需求,相应地编程开发语言和通信标准协议也发展壮大。

  •     静态HTML之后是CGI:Common Gateway Interface ,CGI定义了WEB服务器与外部应用之间的通信标准(外部应用,就是在客户端或服务器端,独立于WEB服务器运行的应用程序),WEB服务器可以通过CGI协议执行外部应用,实现与数据库的交互,完成业务逻辑。这时的典型语言是Perl,但CGI + Perl的模式存在两个弊病:
    • 性能不好,每个请求分配一个新的进程;
    • 不太安全,直接使用文件系统或者环境变量。
      知识回顾之一:WEB编程语言发展回顾..._第2张图片
  • CGI之后,出现了一个全新的时期,即将WEB服务器和业务模型完全分开,以Microsoft的技术来说,就是IIS + ASP,IIS构建WEB服务器,ASP构建业务模型,这时期主要的编程语言有PHP/ASP/JSP。我个人认为,这种模式 + DHTML是现如今框架模式的技术基础。DHTML(Dynamic HTML)包括两个部分,一是静态内容(称为模版),二是动态内容(CSS,JavaScript),动态内容通过“标记”嵌入在静态内容中,并由WEB服务器根据业务流程处理结果填充,再返回给客户端浏览器。
        这时,主要的WEB编程语言,或者说三大阵营分别是是Sun公司的JSP、Microsoft的系列语言(VB,VC及后来的.Net等等)和PHP。
        先说Java、JavaScript和JSP。JAVA,Sun公司提出,和C++类似是一种桌面型的语言,虽然Java不是编译型语言,但也只要面向开发桌面型应用,虽然也可以开发WEB程序,但Java的WEB程序主要以applet存在,类似于Microsoft的ActiveX组件。JavaScript,Netscape公司提出的,是一种解释型脚本语言,以源码形式存在于HTML文件中,由浏览器解释执行。JSP,即Java Server Pages,顾名思义,是运行在服务器端的,我的理解,JSP和Microsoft的ASP一样,就是符合Java语言规范的Serverlet技术。
        无论是JSP、ASP,存在的问题是:
    • 对客户端有要求,例如,ASP或使用ActiveX技术开发的一些WEB应用,在第三方浏览器,如Firefox、Safari就无法运行,正如现在仍然存在的许多网银,在IE之外无法运行。
    • 一旦有恶意代码嵌入到动态网页中,会造成客户端崩溃,这也就是原来很多地方禁用JS的原因。
      知识回顾之一:WEB编程语言发展回顾..._第3张图片
  • 第三阶段,标志性的节点是2005年Ajax的出现。AJAX允许客户端的JavaScript脚本为局部页面提供请求服务,然后可以在无需回到服务器情况下动态刷新部分页面,这种突破性的“文档对象模型DOM(Document Object Model)”创造了“前后端”分层架构,
  • 2007年,Rails框架的出现,首次提出了框架的概念。
       > 2007年,37signals公司那个基于Ruby on Rails 5分钟构建博客的演示完全征服了全世界的开发者。一夜之间,所以谈论的焦点都是关于Rails!Rails的不同之处在于使用规定的方式(框架)去设计你的web应用程序,这种模式就叫做模式(数据)-视图(模板)-控制器(业务逻辑)。
    知识回顾之一:WEB编程语言发展回顾..._第4张图片
    【完】
    2018年12月20日
    参考材料
        Web开发的发展史—Web开发技术的演变

你可能感兴趣的:(随笔)