自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

記住這兩兄弟,他們可能是Web史上最大的錯(cuò)誤

系統(tǒng) 瀏覽器
以后大家只要打開(kāi)瀏覽器,就可以聽(tīng)音樂(lè)、看視頻、玩游戲、辦公、做圖像處理......桌面能做的一切,瀏覽器都可以干。 具體該怎么實(shí)現(xiàn)呢?

上個(gè)世紀(jì)90年代,有兩個(gè)兄弟,他們看到互聯(lián)網(wǎng)風(fēng)起云涌,馬上就要爆發(fā),決定投身其中,干出一番事業(yè)。

他們倆仔細(xì)研究了當(dāng)時(shí)互聯(lián)網(wǎng)的入口,即瀏覽器,發(fā)現(xiàn)了一個(gè)重大的問(wèn)題:

瀏覽器能做的事情太有限,就是展示文字+圖片的網(wǎng)頁(yè),最多執(zhí)行一點(diǎn)兒可憐的JavaScript。

相比于功能強(qiáng)大、界面漂亮,有極強(qiáng)交互的桌面應(yīng)用程序,這實(shí)在是太簡(jiǎn)陋、太差勁了!

兩兄弟想到:能不能把桌面應(yīng)用程序“搬”到瀏覽器中呢?

以后大家只要打開(kāi)瀏覽器,就可以聽(tīng)音樂(lè)、看視頻、玩游戲、辦公、做圖像處理......桌面能做的一切,瀏覽器都可以干。 

具體該怎么實(shí)現(xiàn)呢? 

插件?。?/p>

圖片

給瀏覽器裝插件,然后從網(wǎng)絡(luò)上下載代碼來(lái)執(zhí)行。

1

不過(guò),兩兄弟走了不同的道路,老大綁定了微軟,改名為ActiveX。

老二去了Sun,和Java眉來(lái)眼去,改名為Applet。

圖片

他們的目的也確實(shí)達(dá)到了,不信你看看這些應(yīng)用,哪里像一個(gè)網(wǎng)頁(yè),完全就是桌面應(yīng)用(90年代)嘛。

圖片圖片

如果這么發(fā)展下去,就沒(méi)有后來(lái)的Vue,ReactJS什么事情了。

前端工程師用的編程語(yǔ)言不會(huì)是JavaScript,而是C#/VB.NET/Java。

壞就壞在兩兄弟有著致命的缺陷。

兩兄弟當(dāng)中,老大ActiveX的能力最強(qiáng),能訪問(wèn)計(jì)算機(jī)的所有資源——這是程序員喜歡的能力,卻是用戶害怕的能力。

想想看,你打開(kāi)一個(gè)包含ActiveX控件的網(wǎng)站,按照IE的提示把ActiveX從網(wǎng)絡(luò)上下載到瀏覽器,結(jié)果這個(gè)ActiveX控件把你硬盤上的文件刪除了,嚇人不?

圖片圖片

更有些流氓ActiveX控件,賴到你瀏覽器中,怎么趕都趕不走,如3721。

所以,如果是公司自己開(kāi)發(fā)的ActiveX控件,運(yùn)行在局域網(wǎng)中,這是個(gè)不錯(cuò)的選擇。

如果一旦進(jìn)入廣闊的、野蠻的互聯(lián)網(wǎng),ActiveX就太嚇人了。

老二Applet則聰明得多,他宣稱自己運(yùn)行在Java沙箱中,根本沒(méi)法訪問(wèn)本地計(jì)算機(jī)的資源。

但是Applet需要Java運(yùn)行環(huán)境(JRE),JRE又大又復(fù)雜,如果瀏覽器沒(méi)有JRE,需要網(wǎng)絡(luò)下載,非常緩慢。

Java的GUI界面也非常丑陋,嚇跑了無(wú)數(shù)人。

再加上ActiveX和Applet不是開(kāi)放標(biāo)準(zhǔn),沒(méi)法獲得其他大佬的支持,兩兄弟慢慢淡出了大家的視野,在瀏覽器中運(yùn)行復(fù)雜應(yīng)用的第一次努力失敗了。

Web頁(yè)面繼續(xù)平淡無(wú)奇,運(yùn)行在瀏覽器中的依然是HTML+CSS,和一點(diǎn)兒簡(jiǎn)單的JavaScript。

2

轉(zhuǎn)折點(diǎn)是Google的GMail, Google Maps,大家發(fā)現(xiàn):臥槽,用JavaScript也能做出交互這么良好的應(yīng)用啊,還用啥Java,用啥VB, 用啥C++??! 

圖片

于是,JavaScript火了。 

瀏覽器要執(zhí)行的JavaScript越來(lái)越多,負(fù)擔(dān)越來(lái)越重,響應(yīng)越來(lái)越慢。

Google又把兩兄弟的理想給撿了起來(lái):Web不僅僅是網(wǎng)頁(yè),而是應(yīng)用。

只不過(guò),此應(yīng)用再也不是封閉的ActiveX, Applet,而是開(kāi)放的JavaScript、HTML、CSS。

Google還為這種應(yīng)用專門打造了一個(gè)瀏覽器Chrome,用V8引擎把JavaScript編譯成類似Java的字節(jié)碼,高效率執(zhí)行。

圖片

JavaScript一路狂飆,jQuery、Angular、React、Vue等框架如雨后春筍冒出。

相應(yīng)地,Web能做的事情也越來(lái)越復(fù)雜,很多應(yīng)用都可以在瀏覽器中運(yùn)行了。

3

但是JavaScript畢竟是個(gè)動(dòng)態(tài)語(yǔ)言,無(wú)論如何優(yōu)化,面對(duì)性能要求很高的應(yīng)用時(shí),還是力不從心。

例如3D 游戲、CAD、軟件模擬/仿真、虛擬和增強(qiáng)現(xiàn)實(shí)、計(jì)算機(jī)視覺(jué)、圖像/視頻編輯以及許多其他需要本機(jī)性能的應(yīng)用,在Web中運(yùn)行是非常吃力的。

圖片

此外,下載、解析和編譯非常大的 JavaScript 應(yīng)用程序的成本可能令人望而卻步。

瀏覽器需要一種能力:

  • 執(zhí)行一種特殊的代碼,要能達(dá)到接近本機(jī)的速度
  • 一定得安全,可以在安全沙盒中運(yùn)行,還有有瀏覽器的同源策略和權(quán)限策略。
  • 和瀏覽器中的其他Web技術(shù)(如JavaScript)協(xié)作。

這就是瀏覽器的匯編語(yǔ)言:Web Assembly(WASM)。

不過(guò),這次不再用兩兄弟時(shí)代的插件了,而是在瀏覽器中內(nèi)置了一個(gè)虛擬機(jī)(VM),既能執(zhí)行JavaScript,又能執(zhí)行WASM。

圖片

JavaScript負(fù)責(zé)簡(jiǎn)單的交互,WASM負(fù)責(zé)高性能的部分。兩者密切配合,完美。

并且,各種編程語(yǔ)言都可以寫代碼,編譯成WASM:

圖片


以后你想用某個(gè)應(yīng)用,只需要瀏覽器中輸入網(wǎng)址,立刻開(kāi)始使用,不用安裝。

和別人分享也非常的方便,發(fā)個(gè)link就行了。  

4

不知道ActiveX和Applet兩兄弟看到此處會(huì)何感想,他們最早提出了在Web中運(yùn)行桌面應(yīng)用,絕對(duì)是先驅(qū),就是過(guò)于超前,成先烈了。

但是Web技術(shù)還是沿著他們倆的愿景走了下去,瀏覽器的能力越來(lái)越強(qiáng),也許真的有一天,所有的應(yīng)用都被搬到了瀏覽器中。

那將是一場(chǎng)偉大的變革!

責(zé)任編輯:趙寧寧 來(lái)源: 碼農(nóng)翻身
相關(guān)推薦

2023-01-08 13:07:46

2017-05-22 23:41:04

2019-12-17 10:14:18

設(shè)計(jì)計(jì)算機(jī)CPU

2019-08-16 10:23:17

云計(jì)算云平臺(tái)技術(shù)

2017-10-17 12:43:17

前端CSS布局

2022-02-21 16:00:39

Web3中心化互聯(lián)網(wǎng)

2020-04-22 10:33:29

GMIC帶貨

2017-06-26 10:18:43

2025-01-16 15:44:04

2021-08-27 10:14:22

機(jī)器學(xué)習(xí)工具手冊(cè)人工智能

2020-05-17 16:06:47

ICMPIP協(xié)議網(wǎng)絡(luò)協(xié)議

2022-07-12 15:23:38

勒索軟件網(wǎng)絡(luò)攻擊

2012-08-30 09:44:27

2021-07-14 08:31:08

Java反射機(jī)制Class類

2023-06-14 07:23:57

打印文檔打印機(jī)

2021-03-18 10:57:42

物聯(lián)網(wǎng)IoT

2018-03-07 09:35:17

區(qū)塊鏈

2023-10-27 07:27:18

Grayjay視頻流應(yīng)用

2021-11-03 16:10:16

RedisJava內(nèi)存

2023-03-07 14:58:37

數(shù)字孿生自動(dòng)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)