JavaScript có thể được sử dụng như một ngôn ngữ kịch bản chung không?


18

Tôi đã sử dụng JavaScript và một số khung công tác (jQuery, Prototype, một số node.js) để lập trình web phía máy khách, nhưng không bao giờ trên máy tính để bàn, nơi tôi thực hiện hầu hết các công việc viết kịch bản của mình bằng Python hoặc Bash.

Nhưng IMHO, JavaScript sẽ tạo ra một ngôn ngữ kịch bản tuyệt vời nếu được sử dụng bên ngoài trình duyệt. Có ai đã thử điều này? JavaScript có thể là sự thay thế thích hợp cho Python / Perl / Bash cho các tác vụ kịch bản nhanh và bẩn không?


7
Có một phần trên bài viết Wikipedia Javascript có tiêu đề " Sử dụng bên ngoài các trang web ", tài liệu này sử dụng khá nhiều trường hợp Javascript được sử dụng chính xác như bạn mô tả. Hãy làm một số nghiên cứu trước khi yêu cầu.
yannis

7
Yannis, có một quy tắc như vậy trong các trang web SE? Tôi nghĩ rằng SE nhằm mục đích trở thành một phần wiki, có nghĩa là chỉ nên đóng các câu hỏi trò chuyện, lạc đề, không trả lời hoặc cực kỳ chất lượng.
Tamás Szelei

3
@ TamásSzelei Trên thực tế có một quy tắc , được tóm tắt là "Làm bài tập về nhà của bạn". Và SE là một phần wiki, nhưng theo nghĩa là mọi bài đăng đều có thể chỉnh sửa bởi mọi người, không phải theo nghĩa là xây dựng một tài liệu tham khảo chung. Jeff Atwood tóm tắt chính sách "chính thức" trong câu trả lời meta này .
yannis

3
@Yannis: Tôi đã tự mình xem xét chủ đề này và các tài nguyên trên internet liên quan đến chủ đề này đang thiếu trầm trọng. Hơn nữa, tôi đánh giá cao câu hỏi đã được hỏi trong một diễn đàn nơi các thành viên thông minh, hiểu biết của cộng đồng máy tính có thể hòa nhập với kinh nghiệm, ý kiến ​​và đề xuất của họ. Liên quan đến các chủ đề phụ thuộc nhiều vào ý kiến ​​chủ quan, tôi sẽ tin tưởng lời của một thành viên stackexchange với đại diện 20k qua một bài viết trên wikipedia MỌI NGÀY.
Ông JavaScript

3
@ ajax81 Nếu có bằng chứng về nghiên cứu trước đây trong câu hỏi, đó sẽ là một câu hỏi hoàn toàn tốt để hỏi. Nếu bạn thực sự coi trọng cộng đồng nhiều như bạn nói, tôi chắc chắn bạn không muốn lãng phí thời gian của bất kỳ ai và bạn sẽ rất tốt bụng khi chia sẻ nghiên cứu của bạn với chúng tôi và chỉ hỏi về những gì không được trả lời đầy đủ trang web tham khảo chung. Tôi không đề xuất Wikipedia như là một thay thế cho tâm trí SE, những gì tôi nói hoàn toàn ngược lại, chúng tôi không phải là một lựa chọn thay thế, hãy hỏi khi Wikipedia không đủ (nhưng vui lòng cho chúng tôi biết làm thế nào và tại sao nó không đủ) .
yannis

Câu trả lời:


22

Đúng! Bạn chắc chắn có thể làm điều đó với Node.js hoặc Rhino. Ví dụ, trình biên dịch coffeescript không có gì ngoài tập lệnh node.js.

Tôi sẽ thừa nhận rằng nó thường không phải là lựa chọn đầu tiên của tôi cho kịch bản máy tính để bàn nhưng tôi thấy không có lý do gì nó không hoạt động tốt cho một số nhiệm vụ.


11

Windows có một thành phần được gọi là Windows Scripting Host cho phép bạn tự động hóa quản trị và thậm chí bắt chước hoạt động của người dùng ở một mức độ nào đó thông qua JScript.

Cập nhật năm 2017: OSX hiện cho phép bạn tự động hóa các tác vụ trên máy tính để bàn bằng Javascript. Những gì trước đây có thể có thông qua AppleScript giờ đây có thể thông qua Javascript.


5

Tôi sử dụng javascript chủ yếu cho mọi thứ vì tôi thích nó và công việc hàng ngày của tôi bị ảnh hưởng rất nhiều bởi nó. Bây giờ tôi có ý gì khi nói mọi thứ:

  1. Các công cụ tùy chỉnh (với nút-webkit bạn có thể mang lại trải nghiệm trên máy tính để bàn)

  2. Tập lệnh tùy chỉnh để chạy trên máy của tôi thông qua node.js

  3. Ứng dụng di động. Tôi thậm chí không cần PhoneGap vì tôi khá thoải mái khi truy cập URL.

  4. Phần cuối cho các ứng dụng web của tôi với node.js. Tôi có thể truy cập hệ thống tập tin và cơ sở dữ liệu, vậy tôi đang thiếu gì? Chà .. Một khung đủ trưởng thành và tôi hy vọng điều này sẽ được sửa trong tính năng này.

  5. Tất nhiên công cụ jQuery ưa thích cho các trang web.

Linh tinh

  1. Tôi giải quyết tất cả các katas mã hóa bằng javascript (dự án euler, từ mã)

  2. Tôi triển khai các thuật toán tôi quan tâm đến Javascript

  3. Thí nghiệm 3D với three.js và webgl.

Ai đó sẽ đánh bại tôi vì hiệu suất nhưng tôi muốn đáp ứng hiệu suất viết mã và hiểu một chủ đề thay vì làm cho nó chạy nhanh.

Và đối với trải nghiệm máy tính để bàn, đối với tôi làm việc với HTML và CSS cho giao diện người dùng là cách dễ chịu nhất.


4

Qt cung cấp QtScript. Wikipedia cho biết:

QtScript là một công cụ viết kịch bản đã là một phần của khung ứng dụng đa nền tảng Qt kể từ phiên bản 4.3.0.

Ngôn ngữ kịch bản dựa trên tiêu chuẩn ECMAScript với một vài phần mở rộng, chẳng hạn như kết nối khe và tín hiệu kiểu QObject. [1] Thư viện chứa công cụ và API C ++ để đánh giá mã QtScript và hiển thị các lớp C ++ có nguồn gốc QObject tùy chỉnh cho QtScript.

Nếu bạn không biết Qt là gì: Đó là khung ứng dụng đa nền tảng trong C ++. Nó rất tốt trong việc lấy sự phức tạp ra khỏi sự phát triển front-end C ++ và cũng được hỗ trợ trên các hệ thống di động. Đã lâu rồi kể từ lần cuối tôi phát triển với Qt nhưng tôi thích nó.

Với QtScript, tôi có thể tưởng tượng rằng người ta viết một GUI tối thiểu và thực hiện logic ứng dụng bằng JavaScript.


1
Với Qt5, javascript có vai trò thậm chí còn lớn hơn với khung GUI QML / QtQuick mới (sử dụng javascript nhúng để quản lý UI).
Macke

0

Nếu bạn chỉ nói 'hoàn toàn bên ngoài trình duyệt' thì hãy xem các công cụ như Appcelerator và Servoy, cả hai đều sử dụng Javascript để mã hóa, cuối cùng được chuyển thành Java.


-1

Tôi đang sử dụng JScript.net ngay bây giờ để tạo giao diện dòng lệnh thông minh. Nó hoạt động khá tốt cho dự án này vì eval () có ích, nhưng không phải mọi thứ đều hoạt động như bạn mong đợi (nó không phải là js thuần túy). Nhưng nó cung cấp một số RAD. Tôi nghĩ rằng nó sẽ làm cho một nền tảng tạo mẫu tốt. Mặc dù đó là loại kỳ lạ ở vùng đất không có người giữa js và .net. (Nó quá lỗi thời, rất khó để tìm tài nguyên tốt về nó)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.