Bisakah JavaScript digunakan sebagai bahasa skrip umum?

18

Saya telah menggunakan JavaScript dan beberapa kerangka kerja (jQuery, Prototype, some node.js) untuk pemrograman web sisi klien, tetapi tidak pernah di desktop, di mana saya melakukan sebagian besar pekerjaan penulisan skrip saya dalam Python atau Bash.

Tapi IMHO, JavaScript akan menjadi bahasa skrip yang bagus jika digunakan di luar browser. Adakah yang sudah mencoba ini? Dapatkah JavaScript menjadi pengganti yang memadai untuk Python / Perl / Bash untuk tugas skrip yang cepat dan kotor?

rdasxy
sumber
7
Ada bagian pada artikel Wikipedia Javascript berjudul " Menggunakan halaman web di luar ", yang mendokumentasikan beberapa contoh Javascript yang digunakan persis seperti yang Anda jelaskan. Silakan lakukan riset sebelum bertanya.
yannis
7
Yannis, apakah ada aturan seperti itu di situs SE? Saya pikir SE bertujuan untuk menjadi satu bagian wiki juga, yang berarti bahwa hanya pertanyaan yang cerewet, di luar topik, tidak dapat dijawab, atau berkualitas sangat rendah yang harus ditutup.
Tamás Szelei
3
@ TamásSzelei Sebenarnya ada aturan , diringkas sebagai "Kerjakan pekerjaan rumah Anda". Dan SE adalah bagian wiki, tetapi dalam arti bahwa setiap posting dapat diedit oleh semua orang, bukan dalam arti membangun referensi umum. Jeff Atwood merangkum kebijakan "resmi" dalam jawaban meta ini .
Yannis
3
@Yannis: Saya telah melihat sendiri topik ini dan sumber daya di internet yang berkaitan dengan subjek ini sangat kurang. Lebih lanjut, saya menghargai pertanyaan yang diajukan dalam forum di mana anggota komunitas komputasi yang cerdas dan berpengetahuan dapat berpadu dengan pengalaman, pendapat, dan saran mereka. Berkenaan dengan topik yang sangat bergantung pada pendapat subyektif, saya akan mempercayai kata-kata dari anggota stackexchange dengan 20k rep atas artikel wikipedia SETIAP HARI.
Tn. JavaScript
3
@ ajax81 Jika ada bukti penelitian sebelumnya dalam pertanyaan, itu akan menjadi pertanyaan yang sangat bagus untuk ditanyakan. Jika Anda benar-benar menghargai komunitas seperti yang Anda katakan, saya yakin Anda tidak ingin membuang waktu siapa pun, dan Anda akan berbaik hati untuk berbagi penelitian Anda dengan kami dan hanya bertanya pada apa yang tidak cukup dijawab dalam berbagai situs referensi umum. Saya tidak menyarankan Wikipedia sebagai alternatif dari pikiran sarang lebah, apa yang saya katakan justru sebaliknya, kami bukan alternatif, tanyakan kapan Wikipedia tidak cukup (tapi tolong beri tahu kami bagaimana & mengapa itu tidak cukup) .
yannis

Jawaban:

22

Iya! Anda pasti bisa melakukannya dengan Node.js atau Badak. Sebagai contoh, kompiler coffeescript hanyalah script node.js.

Saya akan mengakui bahwa ini umumnya bukan pilihan pertama saya untuk skrip desktop tetapi saya tidak melihat alasan mengapa itu tidak akan bekerja dengan baik untuk sejumlah tugas.

Zachary K
sumber
11

Windows memiliki komponen yang disebut Windows Scripting Host yang memungkinkan Anda untuk mengotomatisasi administrasi dan bahkan meniru aktivitas pengguna sampai batas tertentu melalui JScript.

Pembaruan pada tahun 2017: OSX sekarang memungkinkan Anda untuk mengotomatisasi tugas-tugas desktop dengan Javascript. Apa yang sebelumnya mungkin melalui AppleScript sekarang dimungkinkan melalui Javascript.

rsman
sumber
5

Saya menggunakan javascript terutama untuk semuanya karena saya menyukainya dan pekerjaan saya sehari-hari sangat dipengaruhi olehnya. Sekarang apa yang saya maksud dengan mengatakan semuanya:

  1. Alat khusus (dengan node-webkit Anda dapat menghadirkan pengalaman desktop)

  2. Skrip khusus untuk dijalankan di mesin saya melalui node.js

  3. Aplikasi seluler. Saya bahkan tidak memerlukan PhoneGap karena saya cukup nyaman dengan mengunjungi URL.

  4. Backend untuk aplikasi web saya dengan node.js. Saya dapat mengakses filesystem dan basis data jadi apa yang kurang dari saya? Ya .. Kerangka kerja yang cukup matang dan saya harap ini akan diperbaiki dalam fitur.

  5. Yah tentu saja barang jQuery mewah untuk situs web.

Lain-lain:

  1. Saya menyelesaikan semua kode katas dengan javascript (project euler, codewars)

  2. Saya menerapkan algoritma Saya tertarik pada Javascript

  3. Eksperimen 3D dengan three.js dan webgl.

Seseorang akan mengalahkan saya karena kinerja tetapi saya ingin memuaskan kinerja menulis kode dan memahami suatu topik daripada membuatnya berjalan sangat cepat.

Dan untuk pengalaman desktop, bagi saya bekerja dengan HTML dan CSS untuk antarmuka pengguna adalah cara yang paling menyenangkan.

lukas.pukenis
sumber
4

Qt menawarkan QtScript. Wikipedia mengatakan:

QtScript adalah mesin scripting yang telah menjadi bagian dari kerangka kerja aplikasi lintas platform Qt sejak versi 4.3.0.

Bahasa scripting didasarkan pada standar ECMAScript dengan beberapa ekstensi, seperti sinyal gaya-QOb dan koneksi slot. [1] Pustaka berisi mesin, dan API C ++ untuk mengevaluasi kode QtScript dan mengekspos kelas C ++ yang diturunkan dari QObject kustom ke QtScript.

Jika Anda tidak tahu apa itu Qt: Ini adalah kerangka kerja aplikasi lintas platform di C ++. Ini bagus dalam mengeluarkan kompleksitas dari pengembangan front-end C ++, dan juga didukung pada sistem seluler. Sudah lama sejak saya terakhir dikembangkan dengan Qt tapi saya menyukainya.

Dengan QtScript saya bisa membayangkan bahwa seseorang menulis GUI minimal dan melakukan logika aplikasi dalam JavaScript.

nekat
sumber
1
Dengan Qt5, javascript mendapatkan peran yang lebih besar dengan kerangka kerja GUI QML / QtQuick baru (menggunakan javascript tertanam untuk mengelola UI).
Macke
0

Jika Anda hanya berbicara 'murni di luar peramban' maka lihatlah alat-alat seperti Appcelerator dan Servoy, keduanya menggunakan Javascript untuk pengkodean, yang akhirnya berubah menjadi Java.

Alan B
sumber
-1

Saya menggunakan JScript.net sekarang untuk membuat antarmuka baris perintah yang cerdas. Ini bekerja dengan cukup baik untuk proyek ini karena eval () berguna, tetapi tidak semuanya berfungsi seperti yang Anda harapkan (tidak murni js). Tapi itu memang menawarkan beberapa RAD. Saya pikir itu akan menjadi platform prototyping yang bagus. Agak anehnya berada di tanah tak bertuan antara js dan .net. (Ini usang juga, jadi sulit untuk menemukan sumber daya yang bagus di atasnya)

Menandai
sumber