2010-10-18 216 views
18

在我參加的週末極客研討會上,有幾位導師讚揚了Javascript的優點。我在某種程度上使用了Javascript,但他們的熱情讓我想要更接近一點。Javascript是一種通用語言?

我已經學會了關於犀牛& SpiderMonkey的點點滴滴。我知道服務器端腳本&對本地文件訪問的限制(以及原因)。

我想知道如果Javascript會把它作爲通用語言與perl和python一起使用嗎?不是B/C語言存在的缺陷,而僅僅是爲了讓那些熟練使用這些語言擴大其覆蓋面的範圍。

我對未來的預測並不那麼感興趣,因爲我對目前的可能性,障礙以及近期表格可能會使這變得更加現實有所瞭解。

你們有些人現在可能以這種方式使用語言嗎? Shell腳本,本地應用程序等?

如果是這樣,你如何解決本地文件訪問和其他問題,如數據庫?

+0

閱讀上的ECMAScript - 你會看到它用了很多:http://en.wikipedia.org/wiki/ECMAScript – 2010-10-18 17:19:15

+0

可能的重複:http://stackoverflow.com/questions/3961565/javascript-as-a-general-purpose-language – 2012-09-02 18:28:04

回答

12

我沒有使用它,但JSLibs - http://code.google.com/p/jslibs/ - 旨在成爲一種將JavaScript作爲通用腳本語言運行的方式。

「Jslibs是一個獨立的JavaScript開發運行時環境,用於將JavaScript用作通用腳本語言。」

當然,新的發展像谷歌的Web應用程序,Web應用程序,用JavaScript編寫的,開始變得更像是桌面應用程序,用Python編寫的其他語言(如果這就是你以後是什麼)。 (?)例如,Chrome的7 +有一個約:實驗室配備了名爲背景的WebApp:

「允許安裝的網絡應用,以在系統啓動時在後臺運行,並繼續運行的所有窗口都關閉了。」

新功能(如HTML5 File API)還允許與桌面更緊密地集成,使您可以在Web應用程序中使用比以前更多的JavaScript功能。這些功能仍然有限制,並不是所有瀏覽器都實現它們,但它們允許您在瀏覽器中只使用JavaScript來做更多的事情。

谷歌Chrome操作系統也做到了這一點 - 現在所有的應用程序都只是基於HTML,JavaScript等構建的Web應用程序。然而,這仍然是未來。

編輯:我記得一些其他的方式來獲得桌面上的JavaScript。

QtWebkit - Qt的一部分 - 允許您將Webkit嵌入Qt應用程序以及JavaScript中。

Appcelerator Titanium(http://www.appcelerator.com/)允許您使用HTML,CSS,JavaScript,Python,Ruby和PHP製作桌面應用程序,是跨平臺的,積極開發和使用的,而且通常看起來不錯。

Adob​​e AIR(01​​)與其概念中的鈦類似。

所有這些都是基本上將Web應用程序集成到桌面的方法。

+0

很好的答案,謝謝。我不知道JSLibs。論壇看起來很活躍,但自2009年12月以來還沒有發佈(dev發佈)。功能完整? :-) – 2010-10-18 18:02:55

+1

是的,它看起來有點遺棄......但是,嘿,如果你真的想在桌面上使用JavaScript,你可以用PyV8將它嵌入到Python中,或者製作自己的JSLibs。 – 2010-10-18 19:07:04

+0

非常好的答案。另外,js被用作通用語言來編譯爲本地移動應用程序。例如phonegap和擒抱移動 – thiswayup 2010-10-18 19:27:53

16

服務器端Javascript沒有客戶端Javascript具有的文件訪問限制。

看看node.js項目的一些靈感。

+0

謝謝。我可能不清楚。我已經閱讀了關於服務器端腳本和node.js的內容。我正在考慮更多關於桌面上的通用用法 - shell腳本,桌面應用程序等。 – 2010-10-18 23:28:35

+2

那麼,沒有理由不能在桌面上運行node.js或任何其他瀏覽器外的Javascript運行時,就像在服務器上一樣,它可以完全訪問文件系統,網絡和其他任何東西。這是特別**的**瀏覽器環境,施加了限制。 – Pointy 2010-10-19 00:43:36

+0

再次感謝。我誤解了node.js的使用。我認爲在使用node.js之前,你必須先啓動本地服務器。我剛剛嘗試過,並能夠直接寫入文件系統。這是另一個很好的答案。 – 2010-10-19 13:54:07

1

Firefox部分是用Javascript編寫的(如果我還記得的話,GUI)。所以是的,有人用它作爲通用語言。

3

您可以使用node.js進行服務器端開發。它非常整齊。您也可以使用Rhino,以便與Java集成或具有自由格式的腳本。 Here是一個讀取文件的Rhino腳本的示例。

至少在我遵循的圈子中,似乎JavaScript由於node.js而變得非常流行。事實上,幾乎每個人都已經做了一些JS開發吸引人的水平。

0

這些天我使用rhino來完成大部分通用腳本。作爲一名java開發者,我發現它給了我兩全其美的好處。 javascript的靈活性,以及​​我在需要它們時熟悉的庫。

0

有使用JavaScript桌面上node-webkit一個新的替代帶來(的NodeJS本機模塊&模塊系統+節點的WebKit V8 C++綁定功能+一個GUI API),以鉻envirement