中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

JavaScript——下一個運行時平臺?

發(fā)布于:2021-01-18 15:21:58

0

83

0

JavaScript 平臺 Java

在本文中,NikoK?bler提出了一個有趣的想法:s JavaScript是否正像JVM一樣成為通用的運行時平臺?在Java的世界中,JavaScript社區(qū)現(xiàn)在可能恰好是10-15年前的地方。

我有機會在JAX 2016與許多人討論了“ IT領(lǐng)域中的JavaScript”主題。我很高興對這個話題有很多興趣。不是所有與我交談過的人都對JavaScript感到興奮,但這很好。

我可以理解大多數(shù)關(guān)于JavaScript的問題。但是在大多數(shù)情況下,這與語言本身的復(fù)雜性無關(guān)。因為一旦您了解了JavaScript,復(fù)雜性就可以管理了。剩下的,有時還讓我感到困擾的是,許多JavaScript框架和庫的復(fù)雜性及其生命周期。關(guān)于內(nèi)容,時間或質(zhì)量(本主題將占據(jù)整篇文章)。

在Java中,我們習(xí)慣于成熟的標準和穩(wěn)定性。我們可以指望很多事情。JavaScript還不是這種情況。目前,在Java的世界中,社區(qū)是10到15年前的地方。隨著所有的跌宕起伏。有時我稱JSX方言,這是React.js使用的 “類固醇上的JSP”。它使我想起了我們在JSP中經(jīng)常遇到的問題。但這只是一個旁注,我真的很喜歡React.js。

一旦了解了JavaScript,復(fù)雜性就可以管理了。

JavaScript庫的發(fā)展非常迅速。有人認為這種發(fā)展“太快”,因為他們無法跟上發(fā)展的步伐而錯過了連續(xù)性。在大多數(shù)情況下,JavaScript庫的估計半衰期為一年,在大多數(shù)情況下已經(jīng)太高了。但這也顯示了平臺和語言規(guī)范的潛力。進化并非一成不變。這使某些人感到不舒服。人類害怕改變。不,實際上人類不害怕改變自身,他們害怕改變。人類是習(xí)慣的生物,最重要的是,愛自己的習(xí)慣。

運行環(huán)境

但是,讓我們不理會JavaScript語言,并嘗試考慮運行時環(huán)境。同時,JavaScript可在許多不同的設(shè)備上使用,不僅是瀏覽器和Node.js,還包括SmartTV,智能手機,各種微控制器(甚至我們的汽車)都可以運行JavaScript的“事物”。Nashorn直接在JVM上提供了JavaScript引擎,還有許多其他我將不提及的場景。是的,已經(jīng)存在許多可能性,并且JavaScript的分布廣泛。這使得將基于JavaScript的應(yīng)用程序帶給許多用戶很容易。

這樣,無需使用JavaScript本身編寫應(yīng)用程序;它們僅在JavaScript中運行。借助GWT,Vaadin,DukeScript和其他工具,已經(jīng)有一些框架可以生成以另一種語言編程的可執(zhí)行JavaScript代碼。使用TypeScript,可以編寫靜態(tài)編寫的代碼并將其轉(zhuǎn)換為標準JS。這樣做時,可以將現(xiàn)有庫用作依賴項,并針對其API進行編程。這是一個巨大的好處,因為可以(重新)使用現(xiàn)有的生態(tài)系統(tǒng),并且它們不需要處理實現(xiàn)它們的語言。Scala.js遵循類似的方法來使用Scala代碼開發(fā)類型安全的前端組件。通過使用適當?shù)慕壎ǎ梢栽赟cala.js庫(如jQuery,Angular,React.JS等)中使用并將此Scala代碼轉(zhuǎn)換為可執(zhí)行的JavaScript代碼。

也許我們必須將JavaScript引擎視為一種二進制運行時,例如JVM是一個二進制運行時。當然,有些人會問“為什么”。使用JVM,我們已經(jīng)有一個適當?shù)倪\行時,并且不想將這種不安全的JavaScript作為運行時。但是JavaScript真的那么不安全嗎?我認為不是。特別是如果轉(zhuǎn)譯/可執(zhí)行代碼最初是用打字語言編寫的。也不太可能有人編寫Java字節(jié)碼(好的,不是我們中的很多人這樣做)。正如我已經(jīng)提到的,分布非常廣泛的用戶群的分布以及因此的可及性非常容易,并且已經(jīng)在許多部分進行了設(shè)置。

JavaScript可以做更多的事情

僅僅因為已經(jīng)存在某種東西(例如JVM),并不意味著類似的東西(JavaScript運行時)也必須不存在。如果在社區(qū)和行業(yè)中沒有任何興趣和/或需求,那么JavaScript生態(tài)系統(tǒng)中就不會有這種發(fā)展。這就是我對經(jīng)濟學(xué)以及“供求關(guān)系”的了解。

整個JavaScript生態(tài)系統(tǒng)的發(fā)展仍處于起步階段,但是已經(jīng)存在許多東西。前端組件和庫只是全局的一部分。JavaScript可以做更多的事情。但是仍然需要更多時間。我知道很多人都想不同意我并與我自相矛盾,并且?guī)啄旰笏麄儠晕业恼f法來反對我。但是,眾所周知,“世界最終可能會出現(xiàn)五臺計算機的市場”……