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

JavaScript——下一個(gè)運(yùn)行時(shí)平臺(tái)?

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

0

84

0

JavaScript 平臺(tái) Java

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

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

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

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

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

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

運(yùn)行環(huán)境

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

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

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

JavaScript可以做更多的事情

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

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