Mengapa tidak ada penerjemah Javascript asli untuk Windows / Mac / Linux?

38

Sepertinya saya akan sangat berguna untuk menggunakan Javascript untuk tugas skrip sisi server umum karena memiliki fitur yang kurang lebih sama dengan Perl dan Python. Tetapi AFAIK tidak ada penerjemah Javascript yang tersedia secara umum untuk arsitektur mesin utama. Saya kira masalah lain mungkin kurangnya perpustakaan, tetapi pasti ini akan datang jika para penerjemah ada di sana. V8 Google mungkin bisa menjadi titik awal. Adakah yang mengira kita akan segera melihat ini?

MebAlone
sumber
1
Dan omong-omong: hampir tidak ada yang "menginterpretasikan" JavaScript akhir-akhir ini, hampir semua browser mengkompilasinya menjadi kode asli tepat pada waktunya.
Joachim Sauer
2
Dalam arti ada penerjemah di Windows - lihat Jscript . Ini bukan Java Script, tapi dekat.
nhinkle
1
Suara menunjukkan bahwa Windows 8 akan memiliki tingkat tertentu karena Anda dapat membangun aplikasi JS untuk penggunaan desktop asli.
Rig

Jawaban:

67

Node.js persis seperti yang Anda minta ... dan banyak lagi.

Selain menjadi runtime JavaScript, ia juga menyediakan API untuk operasi umum, seperti akses sistem file (JavaScript pada browser tidak benar-benar membutuhkannya) dan IO jaringan.

Ini dipasarkan untuk membangun aplikasi jaringan (dan hebat dalam hal itu!), Tetapi sebenarnya ini adalah runtime JavaScript tujuan umum yang dapat Anda gunakan untuk membangun apa pun yang Anda inginkan. Juga, ini didasarkan pada V8.

Joachim Sauer
sumber
1
Huh, ya saya hanya memikirkan node untuk aplikasi jaringan karena mereka jelas dari beranda bahwa itu untuk apa.
MebAlone
5
@ McAlone: ​​itulah tujuan utama mereka, benar. Tetapi node.exe(atau hanya nodepada platform Unix-y) pada dasarnya adalah runtime JavaScript sederhana. node myJavaScript.jsberjalan myJavaScript.jsdan apa lagi yang Anda butuhkan dari sistem runtime? (Ok, Anda perlu debugging dan libraries, tetapi Node.js juga sudah membahasnya ;-)) Indikasi yang baik untuk ini adalah bahwa banyak proyek menggunakan skrip JavaScript (tentu saja dijalankan di Node.js) sebagai sistem build mereka.
Joachim Sauer
1
NodeJS berjalan di Google V8. Anda dapat menggunakan V8 untuk melakukan apa pun yang Anda inginkan. Jadi, bahkan jika NodeJS tidak cocok untuk Anda, V8 mungkin.
Andrew T Finnell
2
@Andrew: dari yang saya tahu V8 tidak mengirimkan binari apa pun, hanya sumber. Jadi, Anda harus membuatnya sendiri (atau menemukan binari pihak ketiga). Jika Anda tidak peduli dengan simpul, sangat mudah untuk mengabaikan perpustakaan dan menggunakan simpul sebagai runtime JavaScript murni. Saya tidak melihat bagaimana Anda bisa melakukan itu dengan kemudahan yang sama dengan V8.
Joachim Sauer
Salah satu contoh aplikasi * non-* jaringan dalam node adalah modul CoffeeScript yang dapat dijalankan pada baris perintah untuk mengkompilasi file skrip kopi Anda ke javascript.
Spoike
76

Seperti yang disebutkan oleh Joachim, node.js adalah persis apa yang Anda minta.

Tampaknya tidak dikenal bila dibandingkan dengan Python dan terutama Perl untuk jenis hal ini, tapi mungkin itu hanya karena JavaScript tidak banyak dianggap sangat baik.

masukkan deskripsi gambar di sini

Eliot Ball
sumber
2
Bagian Bagus mengganti semua hal lain yang terjadi Javascript ... itu dan CoffeeScript. Oh CoffeeScript !
Spoike
4
+1 untuk Kinect di tumpukan buku. Saya memiliki panduan definitif yang berada di bawah monitor saya untuk menaikkan ketinggian monitor sedikit.
Phil
3
-1, terlepas dari foto lucu, jawaban ini pada dasarnya adalah cara yang mewah untuk mengatakan 'cuz it sucks', dan tidak benar-benar menyumbang apa pun.
GrandmasterB
3
Tidak, bukan itu yang dia katakan sama sekali.
Michael B
1
Lol, The Definitive Guide - bukan buku javascript sama sekali kecuali satu tentang DOM browser web, dengan sedikit js di awal.
gbjbaanb
28

Windows Script Host telah menyertakan mesin JScript (javascript) sejak setidaknya Windows 2000 keluar dari kotak, memungkinkan Anda untuk melakukan tugas sysadmin menggunakan javascript.

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

Dimungkinkan juga untuk menyematkan ini ke aplikasi windows menggunakan objek ActiveX / COM WScript.Shell.

Joeri Sebrechts
sumber
ah, sangat keren!
MebAlone
3
WSH juga memungkinkan Anda menggunakan sejumlah bahasa scripting lainnya (seperti vb); dan jika saya tidak salah lagi dapat diinstal ( en.wikipedia.org/wiki/… ). Anda juga dapat menggunakannya untuk membuat skrip aplikasi windows lainnya, seperti media player, word, dll.
frozenkoi
5

Selain node.js, ada juga gjs , yang merupakan runtime berorientasi-GNOME yang memberikan akses ke pustaka GNOME, GTK, dan GLib, antara lain. Saya percaya Anda dapat menggunakannya dengan perpustakaan apa pun yang mendukung introspeksi GObject.

Gjs digunakan secara luas di desktop GNOME3.

dhasenan
sumber
2

Ada juru bahasa javascript yang ditulis untuk aplikasi Java (disebut Badak ) dan tampaknya dirancang untuk menulis kode server dalam javascript, tetapi menjalankannya sebagai kode java.

Secara pribadi, saya pikir Anda jauh lebih baik dengan node.js karena itu mengagumkan. Untuk pengantar cepat, Anda bisa melakukan jauh lebih buruk daripada membaca buku NodeBeginner (gratis) .

gbjbaanb
sumber
Demi kelengkapan: Badak tidak membuat Javascript dieksekusi sebagai kode Java, itu adalah penerjemah Javascript, yaitu mengeksekusi Javascript di lingkungan JVM. Yang perlu diperhatikan adalah bahwa itu tidak terlalu cepat, dibandingkan dengan lebih banyak penerjemah tingkat rendah seperti V8.
Cthulhu
buku gratis yang bagus.
Andrew_1510