【动态】前端

【动态】前端

前端 UI 框架和 JavaScript 模块,TypeScript 是 JavaScript + 类型标注

JavaScript 有很多的 module loader。因为 JavaScript ES6 之前语言本身没有提供模块的功能,之前的模块功能都是使用闭包实现的。
我们使用什么模块加载器(module loader),我们就应该把模块编译或者打包为模块加载器所支持的模块格式。ECMAScript modules 是目前 JavaScript 各种运行时都支持的标准。

前端 UI 框架是用来做 UI 的,UI 框架只能解决用户界面的事情。感觉前端框架就好像是一个 GUI 库。前端框架不流行的时候网页就是一个用户界面,HTML & CSS 也是专门用来做网页的,使用 JavaScript 可以管理数据和业务逻辑。从前端框架来看,这就是前端吧。HTML&CSS负责视图,JavaScript 负责一个应用的逻辑和数据。

如果使用 C 语言实现一个程序,可能直接有某个函数去控制画什么东西,这一切都是使用 C 的代码。但是前端画什么东西是控制 DOM,操作 HTML & CSS。简单来说,以前下载一个HTML的网页,里面就有数据了,东西都是直接写在 HTML 里面。B/S 模式,应用的界面是从服务器发送过来的,数据也是从服务器发送过来的。C/S 模式就是应用早就下载好打开,和服务器之间只有数据的交互。逐渐的,B/S 模式也变得像 C/S 模式一样,只有在第一次使用(打开网站)的时候下载应用的代码,然后加载数据。每次使用都下载应用,这个应用只有 JS HTML CSS 这些东西。然后 JS 会去获取数据,然后用户开始使用这个程序。这个应用也可以保存起来,下次打开网站就不用重复下载应用了。B/S 模式中 Browser 端应用的能力和 C/S 模式的 Client 应用的能力越来越接近。

应用不只是表现多媒体,还有绘制 2D、3D 图形的需要,webgl, wasm 等等让应用代码运行更快的技术出现。

Nodejs 以及各种 JavaScript runtime 让 JavaScript 不再局限于浏览器。最理想的情况是一个前端的应用程序只有一个 JS 文件,一个 HTML 文件,一个 CSS 文件,然后我们在 HTML 里面用对应的标签引入 JS 文件和 CSS 文件。但是我们写代码的时候会把代码放在多个文件里面,难道我们一个一个的去引入吗?因此有了构建工具,帮我们引入JS到HTML,引入CSS到HTML,以及我们用到的其他人写的库。JS 写的程序逐渐复杂,有了代码静态分析,等等各种开发工具。JS 其实早就能有 Python,Ruby 一样的能力,只是 nodejs 流行之前 JS 局限在浏览器。

TypeScript 是一门语言,是 JavaScript 的超集,但是 TypeScript 不是一个完全不一样的语言,更多是 JavaScript + 类型标注。个人认为 TypeScript 算是 Better JavaScript。

posted @ 2022-12-02 15:53  wngtk  阅读(40)  评论(0编辑  收藏  举报