<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 3080字,需瀏覽 7分鐘

           ·

          2022-06-27 08:59

          粉絲福利:文末送書

          上個(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)用程序“搬”到瀏覽器中呢?


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


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


          插件!!




          給瀏覽器裝插件,然后從網(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ī)的所有資源——這是程序員喜歡的能力,確是用戶害怕的能力。


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



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


          所以,如果是公司自己開發(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不是開放標(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,而是開放的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)用程序的成本可能令人望而卻步。


          瀏覽器需要一種能力:


          1.執(zhí)行一種特殊的代碼,要能達(dá)到接近本機(jī)的速度


          2.一定得安全,可以在安全沙盒中運(yùn)行,還有有瀏覽器的同源策略和權(quán)限策略。


          3.和瀏覽器中的其他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)址,立刻開始使用,不用安裝。


          和別人分享也非常的方便,發(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èng)書福利來(lái)襲啦

          聯(lián)合北京大學(xué)出版社為大家送福利

          鴻蒙HarmonyOS應(yīng)用開發(fā)從入門到精通》本書采用全新的HarmonyOS 2.0版本作為基礎(chǔ),詳細(xì)介紹了如何基于HarmonyOS來(lái)進(jìn)行應(yīng)用開發(fā)。輔以大量的實(shí)戰(zhàn)案例,圖文并茂,讀者易于理解掌握。案例的選型偏重于解決實(shí)際問(wèn)題,具有很強(qiáng)的前瞻性、應(yīng)用性。本書適合加入HarmonyOS生態(tài) 的開發(fā)者閱讀

          《人工智能算法基礎(chǔ)》當(dāng)前AI圖書市場(chǎng),理論知識(shí)與實(shí)踐經(jīng)驗(yàn)的脫節(jié),是很多書籍的缺點(diǎn)。本書立足于理論,從實(shí)例入手,將理論知識(shí)和實(shí)際應(yīng)用結(jié)合,目標(biāo)是讓讀者能夠快速地熟悉人工智能中經(jīng)典算法

          《人工智能原理與實(shí)踐》要深入理解人工智能,必須全面理解底層各類機(jī)器學(xué)習(xí)算法的基本原理。只有全面掌握機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí),才能更好地理解、提高和駕馭人工智能的各種應(yīng)用。本書內(nèi)容系統(tǒng)、全面,理論知識(shí)覆蓋面廣,且保留了推導(dǎo)過(guò)程。實(shí)踐案例中,深入淺出地講解和展示了機(jī)器學(xué)習(xí)應(yīng)用的具體流程

          《Vue.js框架與Web前端開發(fā)從入門到精通》從Vue.js框架技術(shù)的基礎(chǔ)概念出發(fā),逐步深入Vue.js進(jìn)階實(shí)戰(zhàn),并在最后配合一個(gè)網(wǎng)站項(xiàng)目和一個(gè)后臺(tái)系統(tǒng)開發(fā)實(shí)戰(zhàn)案例,重點(diǎn)介紹了使用Vue.js+axios+ElementUI+wangEditor進(jìn)行前端開發(fā)和使用組件進(jìn)行Vue單頁(yè)面網(wǎng)頁(yè)復(fù)用,讓讀者不但可以系統(tǒng)地學(xué)習(xí)Vue.js前端開發(fā)框架的相關(guān)知識(shí),而且還能對(duì)業(yè)務(wù)邏輯的分析思路、實(shí)際應(yīng)用開發(fā)有更為深入的理解

          《架構(gòu)基礎(chǔ):從需求到架構(gòu)》本書與任何編程語(yǔ)言無(wú)關(guān),目的是提升讀者的設(shè)計(jì)思維、培養(yǎng)讀者的設(shè)計(jì)能力、開啟讀者的架構(gòu)思維。同時(shí),本書也是一本設(shè)計(jì)方案指南,開發(fā)人員、設(shè)計(jì)人員、架構(gòu)人員均可參考本書,針對(duì)遇到的場(chǎng)景進(jìn)行參考性設(shè)計(jì)
          截止時(shí)間:2022 年 6 月 27 日 16:00  整  
           兌獎(jiǎng)時(shí)間:2022 年 6 月 28 日 16:00截止 

          #留言有禮# 以上的書你喜歡嗎?分享一下你想要這本書的理由!或者你對(duì)本文的見(jiàn)解,活動(dòng)截止時(shí)小編選出10位幸運(yùn)小錦鯉,中獎(jiǎng)?wù)呖色@得實(shí)體書籍一本,我們包郵贈(zèng)送~

            

          1、2點(diǎn)睡10點(diǎn)起不算熬夜?

          2、被捧上天的Scrum敏捷管理為何不受大廠歡迎了?

          3、離大譜!win10/11又爆多個(gè)離奇Bug,速看避坑!

          4、你為什么不交女朋友,是因?yàn)椴幌雴幔浚?/a>

          5、微軟欲閉源VS Code的C#擴(kuò)展惹眾怒

          6、上能寫代碼,下要“揍”黑客,還有什么不是程序員的“鍋”?

          點(diǎn)

          點(diǎn)

          點(diǎn)點(diǎn)

          點(diǎn)在看

          瀏覽 30
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  影音先锋一区二区三区视频特色 | 日韩三级片网 | 免费成人毛片 | 精品传媒一区二区 | 亚洲第一色网站 |