Чи можна використовувати JavaScript як загальну мову сценаріїв?


18

Я використовував JavaScript і деякі фреймворки (jQuery, Prototype, деякі node.js) для веб-програмування на стороні клієнта, але ніколи на робочому столі, де я виконую більшу частину роботи зі сценаріїв ні в Python, ні в Bash.

Але IMHO, JavaScript створив би чудову мову сценаріїв, якщо він використовується поза браузером. Хтось пробував це? Чи може JavaScript бути адекватною заміною Python / Perl / Bash для швидких та брудних завдань сценарію?


7
У статті Вікіпедії Javascript є розділ під назвою " Використовується за межами веб-сторінок ", який документує досить багато примірників Javascript, які використовуються саме так, як ви описуєте. Будь ласка, зробіть кілька досліджень, перш ніж запитувати.
янніс

7
Яннісе, чи є таке правило на сайтах ДП? Я думаю, що ІП має на меті бути і частиною вікі, це означає, що слід закривати лише балаканинні, нетематичні, невідповідні або надзвичайно низькі якості.
Tamás Szelei

3
@ TamásSzelei Насправді є правило , підсумоване як «Робіть домашнє завдання». І SE є частиною вікі, але в тому сенсі, що кожну публікацію може редагувати кожен, а не в сенсі побудови загальної довідки. Джефф Етвуд у цьому мета-відповіді підсумовує "офіційну" політику .
янніс

3
@ Yannis: Я сам розглядав цю тему, і ресурсів в Інтернеті, що стосуються цієї теми, вкрай не вистачає. Крім того, я вдячний, що це питання було задано на форумі, де розумні, обізнані члени обчислювальної спільноти можуть прислухатися до свого досвіду, думок та пропозицій. Що стосується тем, які сильно покладаються на суб'єктивну думку, я б довіряв слова члена стаксексуалу з 20-кратним повторенням над статтею Вікіпедії БУДЬКИЙ ДЕНЬ.
Пан JavaScript

3
@ ajax81 Якби в цьому питанні були докази попередніх досліджень, було б задати ідеально гарне запитання. Якщо ви справді цінуєте спільноту стільки, скільки ви говорите, я впевнений, що ви не хочете витрачати нічий час, і ви були б досить люб'язні поділитися з нами своїми дослідженнями і запитати лише те, на що недостатньо відповіді в різних загальні довідкові сайти. Я не пропоную Вікіпедію як альтернативу розуму вуликів Південної Європи, те, що я говорю, якраз навпаки, ми не є альтернативою, запитуйте, коли Вікіпедії недостатньо (але, будь ласка, розкажіть, як і чому цього недостатньо) .
янніс

Відповіді:


22

Так! Ви точно можете це зробити за допомогою Node.js або Rhino. Наприклад, компілятор coffeescript - це не що інше, як сценарій node.js.

Я визнаю, що це, як правило, не перший мій вибір для сценаріїв на робочому столі, але я не бачу причин, чому це не спрацювало б у багатьох завданнях.


11

У Windows є компонент під назвою Windows Scripting Host, який дозволяє автоматизувати адміністрування і навіть певною мірою імітувати діяльність користувачів через JScript.

Оновлення в 2017 році: OSX тепер дозволяє автоматизувати завдання на робочому столі за допомогою Javascript. Те, що раніше було можливо через AppleScript, тепер можливо через Javascript.


5

Я використовую JavaScript в основному для всього, тому що мені це подобається, і на мою щоденну роботу сильно впливає. Що я маю на увазі, кажучи все:

  1. Спеціальні інструменти (за допомогою node-webkit ви можете принести досвід робочого столу)

  2. Спеціальні сценарії, які запускаються на моїй машині через node.js

  3. Мобільні додатки. Мені навіть не потрібен PhoneGap, оскільки мені дуже зручно відвідувати URL.

  4. Бекенд для моїх веб-додатків із node.js. Я можу отримати доступ до файлової системи та баз даних, тому чого мені бракує? Ну .. Досить зрілий фреймворк, і я сподіваюся, що це буде зафіксовано у функції.

  5. Ну і, звичайно, модні речі jQuery для веб-сайтів.

Різне:

  1. Я вирішую всі каталогічні кодування за допомогою javascript (проект euler, codewars)

  2. Я реалізую алгоритми, які мене цікавлять Javascript

  3. 3D експерименти з tri.js та webgl.

Хтось поб'є мене через продуктивність, але я хочу задовольнити ефективність написання коду та розуміння теми, а не змушувати її працювати швидко.

А що стосується досвіду на робочому столі, то для мене робота з HTML та CSS для інтерфейсу користувача - це найприємніший спосіб.


4

Qt пропонує QtScript. У Вікіпедії сказано:

QtScript - це сценарій двигуна, який був частиною міжплатформенної програми Qt з версії 4.3.0.

Мова сценаріїв заснована на стандарті ECMAScript з декількома розширеннями, такими як сигнал у стилі QObject та з'єднання слотів. [1] Бібліотека містить двигун та API C ++ для оцінки коду QtScript та викриття користувацьких класів C ++, похідних від QObject, до QtScript.

Якщо ви не знаєте, що таке Qt: це рамка міжплатформних додатків на C ++. Це добре вилучає складність з розробки C ++ на передній частині, а також підтримується в мобільних системах. Давно я розвинувся з Qt, але мені це сподобалось.

За допомогою QtScript я міг уявити, що пише мінімальний графічний інтерфейс та робить логіку програми у JavaScript.


1
З Qt5, javascript стає ще більшою роллю з новою рамкою графічного інтерфейсу QML / QtQuick (використовує вбудований javascript для управління користувальницьким інтерфейсом).
Макке

0

Якщо ви просто говорите «чисто за межами браузера», то подивіться на такі інструменти, як Appcelerator та Servoy, обидва з яких використовують Javascript для кодування, що в кінцевому підсумку перетворюється на Java.


-1

Зараз я використовую JScript.net для створення інтелектуального інтерфейсу командного рядка. Це дуже добре працює для цього проекту, тому що eval () стане в нагоді, але не все працює так, як ви очікували (його не чистий js). Але він пропонує деякі RAD. Я думаю, це зробило б хорошу платформу для прототипування. Його різновид дивного перебування в землі, яка не є людиною, між js та .net, хоча. (Його застаріло теж, тому важко знайти хороші ресурси на ньому)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.