Neden Windows / Mac / Linux için yerel Javascript tercümanları yok?


38

Bana göre, Perl ve Python ile aynı özelliklere sahip olduğu için genel sunucu tarafı komut dosyası oluşturma görevleri için Javascript'i kullanmak çok yararlı olurdu. Ancak AFAIK, büyük makine mimarileri için genellikle mevcut Javascript tercümanları yoktur. Sanırım diğer sorun kütüphanelerden yoksun olabilir ama tercümanlar orada olsaydı, bunlar kesinlikle olurdu. Google'ın V8 belki bir başlangıç ​​noktası olabilir. Bunu yakında göreceğimizi düşünen var mı?


1
Ve bu arada: neredeyse hiç kimse bugünlerde JavaScript'i "yorumlayamıyor", hemen hemen tüm tarayıcılar tam zamanında onu yerel koda dönüştürüyor.
Joachim Sauer

2
Bir anlamda Windows'ta bir tercüman var - Jscript'e bakınız . Tam olarak Java Komut Dosyası değil, ama yakın.
nhinkle,

1
Sesler, Windows 8'in yerel masaüstü kullanımı için JS uygulamaları oluşturabildiğinizden, bir dereceye kadar yerleşik olacağına işaret ediyor.
Rig

Yanıtlar:


67

Node.js tam olarak istediğin şey ... ve daha fazlası.

Bir JavaScript çalışma zamanı olmasının yanı sıra, dosya sistemi erişimi (tarayıcıdaki JavaScript buna gerçekten ihtiyaç duymaz) ve ağ IO gibi genel işlemler için API'ler sağlar.

Ağ uygulaması oluşturmak için pazarlanmaktadır (ve bu harika!), Ancak istediğiniz herhangi bir şeyi oluşturmak için kullanabileceğiniz genel amaçlı bir JavaScript çalışma zamanıdır. Ayrıca, bir V8 dayalı.


1
Evet, ağ düğümleri için sadece düğümü düşündüm, ana sayfalarından bunun ne için olduğunu açıkça görüyorum.
MebAone,

5
@MebAlone: ​​Bu onların asıl amacı, doğru. Ancak node.exe(veya yalnızca nodeUnix-y platformlarında) temelde basit bir JavaScript çalışma zamanıdır. node myJavaScript.jsçalışır myJavaScript.jsve bir çalışma zamanı sisteminden daha fazlasına ihtiyacınız var mı? (Tamam, hata ayıklama ve kitaplıklara ihtiyacınız var, ancak Node.js'de bunlara da sahip olanlar ;-)). Bunun için iyi bir gösterge, pek çok projenin JavaScript komut dosyalarını (elbette Node.js'de çalıştırın) derleme sistemleri olarak kullanmasıdır.
Joachim Sauer

1
NodeJS, Google’ın V8’inde çalışır. V8'i ne istersen yapmak için kullanabilirsin. Yani NodeJS sizin için uygun olmasa bile V8 olabilir.
Andrew T Finnell

2
@Andrew: Bildiğim kadarıyla V8 herhangi bir ikili dosya göndermiyor, sadece kaynak. Bu yüzden kendin yapmak zorundasın (ya da üçüncü taraf ikili dosyaları bulmalısın). Düğümü umursamıyorsanız, yalnızca kitaplıkları yoksaymak ve düğümü saf bir JavaScript çalışma zamanı olarak kullanmak çok kolaydır. Bunu V8 ile nasıl kolaylıkla yapabildiğinizi anlamıyorum.
Joachim Sauer

Düğümdeki * olmayan * ağ uygulamalarının bir örneği, coffeescript dosyalarınızı javascript'e derlemek için komut satırında çalıştırılabilen CoffeeScript modülüdür.
Spoike

76

Joachim tarafından belirtildiği gibi, node.js tam olarak istediğin şey.

Bu tür bir şey için Python ve özellikle Perl ile karşılaştırıldığında iyi bilinmediği anlaşılıyor, ancak bunun nedeni muhtemelen JavaScript'in çok iyi olduğu düşünülmemesidir.

görüntü tanımını buraya girin


2
İyi Parçalar Javascript'in devam ettiği diğer şeyleri ... ... ve CoffeeScript'i oluşturur. Ah CoffeeScript !
Spoike

4
Bir kitap yığını üzerindeki Kinect için +1. Monitör yüksekliğini biraz yükseltmek için monitörümün altında oturan kesin bir rehber var.
Phil

3
-1, komik fotoğrafa rağmen, bu cevap temel olarak 'emdiği için' demenin süslü bir yolu ve gerçekten hiçbir şeye katkıda bulunmuyor.
GrandmasterB

3
Hayır, söylediği bu değil.
Michael B,

1
Lol, The Definitive Guide - bir javascript kitabı değil, web tarayıcısı DOM'lar hakkında bir tane değil, başında biraz js var.
gbjbaanb

28

Windows Komut Dosyası Sistemi, javascript kullanarak sysadmin görevlerini yapmanıza olanak tanıyan en az Windows 2000'den beri bir JScript (javascript) motoru içeriyordu.

http://en.wikipedia.org/wiki/Windows_Script_Host

Bunu WScript.Shell ActiveX / COM nesnesini kullanarak bir windows uygulamasına gömmek de mümkündür.


ah, çok havalı!
MebAone,

3
WSH ayrıca bir dizi başka betik dili kullanmanızı sağlar (vb gibi); ve yanılmıyorsam daha fazla şey kurulabilir ( en.wikipedia.org/wiki/… ). Medya oynatıcı, kelime vb. Diğer Windows uygulamalarını komut dosyası olarak da kullanabilirsiniz
frozenkoi

5

Node.js'ye ek olarak , diğerleri arasında GNOME, GTK ve GLib kitaplıklarına erişim sağlayan GNOME odaklı bir çalışma zamanı olan gjs vardır . GObject'in görüşünü destekleyen herhangi bir kitaplığı kullanabileceğinizi düşünüyorum.

Gjs, GNOME3 masaüstünde yaygın olarak kullanılmaktadır.


2

Java uygulamaları ( Rhino adı verilen ) için yazılmış bir javascript yorumlayıcısı var ve javascript'te sunucu kodu yazmak için tasarlanmış gibi görünüyor, ancak java kodu olarak çalıştırılmasını sağladı.

Şahsen, bence node.js ile çok daha iyi olduğunuzu düşünüyorum. Hızlı bir giriş için (ücretsiz) NodeBeginner kitabını okumaktan çok daha kötüsünü yapabilirsiniz .


Bütünlük uğruna: Rhino Javascript'i Java kodu olarak çalıştırmaz, bir Javascript yorumlayıcısıdır, yani bir JVM ortamında Javascript'i çalıştırır. Not, V8 gibi daha düşük seviyedeki tercümanlara kıyasla çok hızlı olmadığıdır.
Cthulhu

iyi ücretsiz kitap.
Andrew_1510
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.