เหตุใดจึงไม่มีล่าม Javascript ดั้งเดิมสำหรับ Windows / Mac / Linux


38

ดูเหมือนว่าฉันจะมีประโยชน์มากในการใช้งาน Javascript สำหรับงานการเขียนสคริปต์ฝั่งเซิร์ฟเวอร์ทั่วไปเนื่องจากมีคุณสมบัติเหมือนกันมากขึ้นกับ Perl และ Python แต่ AFAIK ไม่มีจาวาสคริปต์ที่มีอยู่ทั่วไปสำหรับสถาปัตยกรรมเครื่องที่สำคัญ ฉันเดาว่าปัญหาอื่น ๆ อาจขาดห้องสมุด แต่แน่นอนว่าสิ่งเหล่านี้จะเกิดขึ้นหากล่ามอยู่ที่นั่น Google V8 อาจเป็นจุดเริ่มต้น ไม่มีใครคิดว่าเราจะเห็นสิ่งนี้ในไม่ช้า?


1
และโดยวิธีการ: ไม่มีใคร "ล่าม" JavaScript ทุกวันนี้เบราว์เซอร์ทั้งหมดเกือบจะรวบรวมมันเป็นรหัสเนทีฟทันเวลา
โจอาคิมซาวเออร์

2
ในความรู้สึกมีล่ามใน Windows - ดูJscript มันไม่ได้เป็นจาวาสคริปต์อย่างแน่นอน แต่ใกล้เคียงกัน
nhinkle

1
เสียงของสิ่งต่าง ๆ บ่งชี้ว่า Windows 8 จะมีอยู่ในระดับหนึ่งเนื่องจากคุณสามารถสร้างแอป JS สำหรับการใช้เดสก์ท็อป
Rig

คำตอบ:


67

Node.jsเป็นสิ่งที่คุณต้องการ ... และอีกมากมาย

นอกเหนือจากการเป็นรันไทม์ JavaScript มันยังมี API สำหรับการดำเนินงานทั่วไปเช่นการเข้าถึงระบบไฟล์ (JavaScript บนเบราว์เซอร์ไม่จำเป็นต้องใช้) และเครือข่าย IO

มันทำการตลาดสำหรับการสร้างแอปพลิเคชั่นเครือข่าย (และมันยอดเยี่ยมมากที่!) แต่จริงๆแล้วมันเป็นจาวาสคริปต์ทั่วไปที่คุณสามารถใช้สร้างสิ่งที่คุณต้องการ นอกจากนี้ก็จะขึ้นอยู่กับ V8


1
ใช่ฉันแค่คิดถึงโหนดเกี่ยวกับแอปเครือข่ายเนื่องจากพวกเขาชัดเจนจากหน้าแรกของพวกเขาว่าเป็นสิ่งที่มันมีไว้เพื่อ
MebAlone

5
@MebAlone: ​​นั่นคือวัตถุประสงค์หลักของพวกเขาจริง แต่node.exe(หรือเพียงแค่nodeบนแพลตฟอร์ม Unix-y) นั้นเป็นรันไทม์ง่ายๆของ JavaScript node myJavaScript.jsทำงานmyJavaScript.jsและต้องการอะไรอีกจากระบบรันไทม์? (ตกลงคุณต้องแก้ไขข้อบกพร่องและไลบรารี แต่ Node.js มีสิ่งที่ครอบคลุมเช่นกัน ;-)) สิ่งบ่งชี้ที่ดีสำหรับสิ่งนี้คือโครงการจำนวนมากใช้สคริปต์ JavaScript (ทำงานใน Node.js) เป็นระบบสร้าง
โจอาคิมซาวเออร์

1
NodeJS ทำงานบน V8 ของ Google คุณสามารถใช้ V8 เพื่อทำสิ่งที่คุณต้องการ ดังนั้นแม้ว่า NodeJS จะไม่เหมาะสำหรับคุณ V8 อาจเป็นได้
Andrew T Finnell

2
@Andrew: จากสิ่งที่ฉันรู้ว่า V8 ไม่ได้จัดส่งไบนารีใด ๆ เพียงแหล่งที่มา ดังนั้นคุณต้องสร้างด้วยตัวเอง (หรือค้นหาไบนารีบุคคลที่สาม) หากคุณไม่สนใจโหนดคุณสามารถเพิกเฉยไลบรารีและใช้โหนดเป็นรันไทม์ JavaScript ที่แท้จริงได้อย่างง่ายดาย ฉันไม่เห็นวิธีที่คุณสามารถทำได้อย่างง่ายดายเท่ากันกับ V8
Joachim Sauer

ตัวอย่างหนึ่งของแอปพลิเคชัน * non- * เครือข่ายในโหนดคือโมดูล CoffeeScript ที่สามารถเรียกใช้ในบรรทัดคำสั่งเพื่อรวบรวมไฟล์ coffeescript ของคุณไปยังจาวาสคริปต์
Spoike

76

ตามที่ Joachim กล่าวไว้ node.js เป็นสิ่งที่คุณต้องการอย่างแท้จริง

ดูเหมือนจะไม่เป็นที่รู้จักกันดีเมื่อเทียบกับ Python และโดยเฉพาะ Perl สำหรับสิ่งประเภทนี้ แต่อาจเป็นเพราะ JavaScript ไม่ได้รับการพิจารณาอย่างกว้างขวางว่าดีมาก

ป้อนคำอธิบายรูปภาพที่นี่


2
ส่วนที่ดีทำขึ้นเพื่อสิ่งอื่น ๆ ที่ Javascript ดำเนินต่อไป ... นั่นและ CoffeeScript โอ้CoffeeScript !
Spoike

4
+1 สำหรับ Kinect ในหนังสือหนึ่งเล่ม ฉันมีคำแนะนำที่ชัดเจนอยู่ใต้จอมอนิเตอร์ของฉันเพื่อเพิ่มความสูงของหน้าจอเล็กน้อย
ฟิล

3
-1 ถึงแม้จะเป็นรูปตลกคำตอบนี้เป็นวิธีแฟนซีที่จะพูดว่า 'cuz it sucks' และไม่ได้มีส่วนช่วยอะไรเลย
GrandmasterB

3
ไม่นั่นไม่ใช่สิ่งที่เขาพูด
Michael B

1
Lol, The Definitive Guide - ไม่ใช่หนังสือจาวาสคริปต์เลย แต่เกี่ยวกับเว็บเบราว์เซอร์ DOM ด้วย js เล็กน้อยในตอนเริ่มต้น
gbjbaanb

28

Windows Script Host ได้รวมเอ็นจิ้น JScript (javascript) ตั้งแต่อย่างน้อย Windows 2000 ออกมาให้คุณอนุญาตให้คุณทำภารกิจดูแลระบบโดยใช้จาวาสคริปต์

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

นอกจากนี้ยังเป็นไปได้ที่จะฝังสิ่งนี้ลงในแอปพลิเคชัน windows โดยใช้วัตถุ WScript.Shell ActiveX / COM


อ่าเยี่ยมมาก!
MebAlone

3
WSH ยังช่วยให้คุณใช้ภาษาสคริปต์อื่น ๆ (เช่น vb); และหากฉันไม่เข้าใจผิดว่าสามารถติดตั้งได้อีก ( en.wikipedia.org/wiki/… ) นอกจากนี้คุณยังสามารถใช้เพื่อสคริปต์แอป windows อื่น ๆ เช่นโปรแกรมเล่นสื่อคำและอื่น ๆ ได้
Frozenkoi

5

นอกจาก node.js แล้วยังมีgjsซึ่งเป็นรันไทม์ที่มุ่งเน้น GNOME ที่ให้การเข้าถึงไลบรารี GNOME, GTK และ GLib ฉันเชื่อว่าคุณสามารถใช้กับไลบรารี่ใดก็ได้ที่สนับสนุน GObject วิปัสสนา

Gjs ใช้กันอย่างแพร่หลายในเดสก์ท็อป GNOME3


2

มีล่ามจาวาสคริปต์สำหรับแอป Java (เรียกว่าRhino ) และดูเหมือนว่าจะได้รับการออกแบบให้เขียนโค้ดเซิร์ฟเวอร์ในจาวาสคริปต์ แต่ให้เรียกใช้เป็นรหัสจาวา

โดยส่วนตัวแล้วฉันคิดว่าคุณดีกว่าด้วย node.js เพราะมันยอดเยี่ยม สำหรับการแนะนำอย่างรวดเร็วคุณสามารถทำได้แย่กว่าการอ่านหนังสือ NodeBeginner (ฟรี) มาก


เพื่อประโยชน์ของความครบถ้วนสมบูรณ์: Rhino ไม่ได้ทำให้จาวาสคริปต์ดำเนินการเป็นรหัส Java มันเป็นล่าม Javascript นั่นคือมันรันจาวาสคริปต์ในสภาพแวดล้อมที่ JVM สิ่งที่ควรทราบคือมันไม่เร็วมากเมื่อเทียบกับล่ามระดับต่ำเช่น V8
คธูลู

หนังสือฟรีที่ดี
Andrew_1510
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.