官术网_书友最值得收藏!

前言

與一些朋友相比,我在編程方面開竅較晚。直到高中時,我才偶然接觸編程。當時我需要再修一門計算機課程,輔導老師向我推薦了一門選修課。我以為要學習的是計算機工作原理,但出乎意料,這門課程是關于編程的。很快我就對它癡迷不已,并將職業發展方向從建筑學調整為軟件架構。

2001年,我加入了Dovico軟件公司,工作內容是維護與改進公司的C++客戶端/服務器應用程序。當時的風向已經轉變,2004年,Dovico決定轉向軟件即服務模式,我也將工作重心轉到了Web應用程序產品。雖然我仍會幫助維護C++應用程序,但我的核心關注點變成了用C#和JavaScript進行Web開發。目前,我仍然從事Web開發,但是重心轉到了體系結構方面——構建API、使用數據庫,以及探索新技術。

我很樂于通過博客和公開演講回饋開發者社區。2017年9月,有人問我是否有興趣為本地用戶做一場演講。在四處瀏覽以尋找演講主題時,我看到了一篇來自于PSPDFKit的文章,其中討論了一種名為WebAssembly的技術。

當時我已經對谷歌的Native Client(PNaCI)技術有所了解,它允許編譯后的C/C++代碼在Chrome瀏覽器中以接近原生的速度運行。我也了解過Mozilla的asm.js技術,借助這種技術,可以將C/C++代碼編譯為JavaScript的一個子集,并讓它在支持此技術的瀏覽器中高速運行。它也可以在不支持asm.js的瀏覽器中運行,只不過速度上沒有優勢,因為它就是JavaScript。這是我第一次聽說WebAssembly。

WebAssembly擁有asm.js的優點,同時致力于彌補其缺點。有了WebAssembly,你能夠以多種語言編寫代碼,并將它編譯為可在瀏覽器中安全運行的代碼,而且它在所有主流的桌面瀏覽器與移動端瀏覽器中都可用!它也可以應用于瀏覽器之外,如Node.js!我被WebAssembly的潛力深深觸動,從那時起,便開始利用所有空閑時間探索這項技術,并撰寫與之相關的博客文章。

2017年年末,Manning出版社注意到了我的博客文章,相關人員問我是否有興趣撰寫一本關于WebAssembly的圖書。最開始,我計劃在書中覆蓋多門語言,并分別從后端開發者和前端開發者的角度來展示如何使用這項技術。但是,初稿的講解重點明顯不夠突出,因此我和審校人決定將范圍收窄,只關注C/C++語言,并且側重于后端開發者。

在我撰寫本書時,WebAssembly社區與工作組也沒有閑著。實際上,這項技術的幾項改進正在進行當中。最近,不需要啟用任何實驗性功能就可以在Chrome的桌面版本中使用多線程WebAssembly模塊了!WebAssembly有潛力幫助Web開發更上一層樓,對于它的未來,我拭目以待。

主站蜘蛛池模板: 棋牌| 佛教| 南京市| 焉耆| 弥勒县| 遵义市| 腾冲县| 玛多县| 黑河市| 方城县| 南郑县| 比如县| 凤翔县| 新津县| 云南省| 木兰县| 察隅县| 武冈市| 伊金霍洛旗| 嘉定区| 阜城县| 尼木县| 太谷县| 嵩明县| 桐梓县| 平果县| 门头沟区| 新邵县| 永善县| 于都县| 阜康市| 玉环县| 南部县| 梁河县| 民丰县| 黑龙江省| 乐昌市| 且末县| 东兴市| 嘉定区| 罗定市|