引言:在了解现代互联网的WEB开发之前我们得先了解什么是B/S、C/S?
CS架构是安装在用户系统本地的程序,类似于QQ,完全在用户计算机上执行,除了数据交互会与服务端进行通信
BS架构为WEB,用户看到的东西叫做“视图 ”,每次请求新页面或者发起请求都是由服务端处理。
两者之间仿佛有着鸿沟,现代互联网技术如何解决这个问题呢?
这时我们试图去了解 单页面应用 和 多页面应用,过去我在实验室开发项目都是采用原生HTML+CSS+JQuery进行开发,每一个页面对应后台的一个Controller注解,当发生页面跳转的时候需要重新加载一个新页面,新页面完全由服务端生成,页面加载完成发生请求再进行数据交互, 如果需要添加新页面则需要添加新的注解。
从效率的角度来说多页面应用的确低很多,每次页面跳转都需要重新加载DOM和渲染视图。
在现在我们采取了React作为前端技术栈解决项目需求,当访问这个Web Url的时候则会下载所有的代码并运行在用户的浏览器上,此时浏览器就相当于一个操作系统,每次访问页面和请求数据不会向服务端请求新的DOM元素,只需要传输对应的JSON数据即可,这正符合了React以数据驱动的原理。
React、Vue、Angular从某种程度上来说更像一个APP。
以往我们俗称的BS、CS架构在这种框架下似乎变得不合适了,虽然React、Vue、Angular程序是WebSite是运行在浏览器上,但实质他们更像CS架构的Application。
WebAPP
说到WebAPP我们很容易想到PhoneGap,它是由Adobe发起,后来代码贡献给了Apache,最后改了一个名字叫做Apache Cordova。
Cordova是一款框架,它能允许开发者用HTML+CSS+JavaScript进行移动端的开发,开发的程序可以运行在Android、iOS、Windows等多平台,多平台共用一套代码,同时是一个开源的项目
Electron 也是一款框架,它使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用,例如GitHub Platform、Skype等都是Electron开发的桌面版WEB程序。
我们了解了现代互联网的开发模式再回头看看浏览器的发家史:
在1994年10月13日,网景公司发布了Mosaic Netscape 0.9浏览器,虽然仍是beta版本,成为当时最热门的浏览器。次年微软开始进军浏览器市场,由于系统内置IE浏览器(当时是1.0),因为IE是随系统进入用户市场,以至于很多人都开始使用IE,到我出生的98年和小学阶段都是使用IE,了解最多的也是IE浏览器。
Chrome V8引擎的问世:
直到2008年,Google推出了V8渲染引擎,随着Chrome发布(2008年9月2日)进入互联网市场,它的运行速度非常快,把JS脚本语言当成机器码来编译,甚至和编译二进制一样快。
NodeJS:
node增加了很多系统级别的API,比如文件上传、网络、系统资源等,允许开发者能像使用C、C++那样去使用JS程序,以至于Node可以写Server、写高级计算等功能。
HTML5标准:
2015年初次制定了HTML5标准,到现在这个标准还未完成,它是一个多样化的API,其中包括了Canvas、媒体播放、离线存储、地理位置等功能。
总结: 到现在前端这个词的用法越来越广,有的会拿Kotlin、RN写安卓,有的会拿Swift写iOS,这些开发的思路和拿JavaScript的开发思路已经没有区别,以至于现在把前端分为前端开发、后端开发、其他开发。
同时也把Web项目分为了前后端分离和非前后端分离服务器渲染视图的项目,最后希望大家能够明白HTML、CSS、JavaScript不是用来写网页的,他们写的东西叫做APP。
附上《WEB DEVELOPER — ROADMAP 2019》:WEB DEVELOPER — ROADMAP 2019