新聞中心
上個(gè)周末,我曾去過(guò)Codebits,并做過(guò)關(guān)于計(jì)算機(jī)語(yǔ)言的介紹,你可以在這里看到它。如同這個(gè)帖子,我知道其語(yǔ)言組織的不好。

十載的長(zhǎng)汀網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整長(zhǎng)汀建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“長(zhǎng)汀網(wǎng)站設(shè)計(jì)”,“長(zhǎng)汀網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
它的要點(diǎn)是:對(duì)于Javascript,我沒(méi)有與其它人相同困難。Javascript當(dāng)然是可愛(ài)的語(yǔ)言。每個(gè)人都喜歡它的函數(shù)特性,基于原型(prototype)的繼承,但它缺乏一些我們20年前就確定是必不可少的東西(如模塊化),甚至有一些嚴(yán)重的問(wèn)題(如== VS ===是一種糟糕的處理標(biāo)識(shí)的方式)。
還等什么?
我相信,瀏覽器應(yīng)該有某種虛擬機(jī),其中的語(yǔ)言之一,將是JavaScript,但如果你是用其他語(yǔ)言實(shí)現(xiàn)一個(gè)個(gè)項(xiàng)目,為什么不用相同的語(yǔ)言實(shí)現(xiàn)客戶端功能呢?只要提供該語(yǔ)言的運(yùn)行環(huán)境即可。越是如此,如我在講演中指出的那樣,我真正看到語(yǔ)言是作為工具的。你應(yīng)該為每一問(wèn)題爭(zhēng)取***的(結(jié)果)。
超越語(yǔ)言。
瀏覽器上的虛擬機(jī),也有一些有趣的副作用。***個(gè)是,你必須自動(dòng)沙箱(automatically sandboxing),所以你可以允許頁(yè)面中運(yùn)行不可信的外部代碼而沒(méi)有問(wèn)題。還可以凍結(jié)客戶端的虛擬機(jī),并將其發(fā)送回服務(wù)器端,讓您有一個(gè)非常簡(jiǎn)單的方法,實(shí)現(xiàn)獨(dú)立于瀏覽器的狀態(tài)持久化。便攜式設(shè)備沒(méi)有插件架構(gòu),并不能運(yùn)行Java Applets(并非我如此想但卻是事實(shí))。更激動(dòng)人心的一點(diǎn)是,如果你的代碼出現(xiàn)麻煩,你可以打包你的虛擬機(jī),并將其發(fā)送回服務(wù)器端解剖分析。毫無(wú)疑問(wèn),寫這樣實(shí)現(xiàn)的最重要的原因是:因?yàn)槲铱梢浴?/p>
因?yàn)樵谝恍╉?xiàng)目中,我已經(jīng)開(kāi)始思考,我一直在尋找JavaScript虛擬機(jī)。我更傾向JVM,由于存在一個(gè)圍繞它的很大的生態(tài)系統(tǒng)。然而,在JavaScript中唯一可用的JVM是Orto;我沒(méi)有收集到?jīng)]有任何文檔或代碼,是一個(gè)字節(jié)碼到(Javascript)源碼的轉(zhuǎn)換器,轉(zhuǎn)換器存在問(wèn)題(諸如:在GWT中,你不能使用反射,因?yàn)樵谵D(zhuǎn)換過(guò)程中將丟失所有類信息)。正因?yàn)槿绱?,我決定從頭開(kāi)始一個(gè)JVM實(shí)現(xiàn),這就是BicaVM出生的緣由。BicaVM是JVM實(shí)現(xiàn)的JavaScript實(shí)現(xiàn),6個(gè)月前著手編寫,上周五公布。
快或慢?
我所聽(tīng)到的最常見(jiàn)的抱怨之一是說(shuō)Java和JV運(yùn)行慢,在JavaScript中實(shí)現(xiàn),它會(huì)更慢。我可以用很多解釋來(lái)告訴你,你可以使用先發(fā)制人的代碼轉(zhuǎn)換,另外,在此類VM下,JIT實(shí)際上實(shí)現(xiàn)簡(jiǎn)單,你可以下載初始化包將加快初始化進(jìn)程,但我想敬告克努特博士:“早期的優(yōu)化是一切罪惡的根源”。
所以在這一點(diǎn)上BicaVM可以運(yùn)行Java代碼。您現(xiàn)在可以使用Java改變DOM,因?yàn)槲覍?duì)JNI的支持(映射為JavaScript函數(shù))。哇!確實(shí)可以在iPad/iPhone上運(yùn)行。
BicaVM下載:http://github.com/nurv/BicaVM。
附現(xiàn)場(chǎng)速寫:
原文鏈接:http://simpleframework.net/blog/v/74076.html
【編輯推薦】
- 用JavaScript編寫JVM可成功運(yùn)行Java程序
- 用JavaScript編寫Java虛擬機(jī)?談?wù)剣W眾取寵的BicaVM
- JVM優(yōu)化引起的邏輯錯(cuò)誤
- JVM基礎(chǔ)之介紹基于JVM的腳本語(yǔ)言
- 詳細(xì)介紹JVM結(jié)構(gòu)基礎(chǔ)
網(wǎng)站標(biāo)題:BicaVM:基于JavaScript的JVM-為什么呢?
轉(zhuǎn)載來(lái)于:http://m.fisionsoft.com.cn/article/cdseegh.html


咨詢
建站咨詢
