È possibile utilizzare JavaScript come linguaggio di scripting generale?

17

Ho usato JavaScript e alcuni framework (jQuery, Prototype, alcuni node.js) per la programmazione web lato client, ma mai sul desktop, dove faccio la maggior parte dei miei script in Python o Bash.

Ma IMHO, JavaScript sarebbe un ottimo linguaggio di scripting se usato al di fuori del browser. Qualcuno ha provato questo? JavaScript può essere un sostituto adeguato per Python / Perl / Bash per attività di scripting veloci e sporche?

    
posta rdasxy 26.01.2012 - 09:16
fonte

6 risposte

22

Sì! Puoi sicuramente farlo con Node.js o Rhino. Ad esempio il compilatore coffeescript non è altro che uno script node.js.

Ammetto che non è generalmente la mia prima scelta per lo scripting desktop, ma non vedo ragioni per cui non funzioni abbastanza bene per un certo numero di attività.

    
risposta data 26.01.2012 - 09:45
fonte
11

Windows ha un componente chiamato Windows Scripting Host che consente di automatizzare l'amministrazione e persino di simulare l'attività dell'utente in una certa misura tramite JScript.

Aggiornamento nel 2017: OSX ora consente di automatizzare le attività del desktop con Javascript. Ciò che prima era possibile tramite AppleScript è ora possibile tramite Javascript.

    
risposta data 26.01.2012 - 09:49
fonte
5

Uso javascript principalmente per tutto perché mi piace e il mio lavoro quotidiano ne è strongmente influenzato. Ora cosa intendo dicendo tutto:

  1. Strumenti personalizzati (con node-webkit sei in grado di portare esperienza desktop)

  2. Gli script personalizzati da eseguire sulla mia macchina tramite node.js

  3. App mobili. Non ho nemmeno bisogno di PhoneGap perché sono piuttosto a mio agio nel visitare l'URL.

  4. Back-end per le mie app Web con node.js. Posso accedere a filesystem e database quindi cosa mi manca? Bene .. Un framework abbastanza maturo e spero che questo sarà risolto nella funzionalità.

  5. Bene, naturalmente, oggetti jQuery di fantasia per siti web.

Varie:

  1. Risolvo tutti i kata di codifica con javascript (progetto euler, codewars)

  2. Implemento algoritmi a cui sono interessato Javascript

  3. Esperimenti 3D con three.js e webgl.

Qualcuno mi batterà a causa delle prestazioni, ma voglio soddisfare le prestazioni del codice di scrittura e comprendere un argomento invece di renderlo incredibilmente veloce.

Per quanto riguarda l'esperienza desktop, per me lavorare con HTML e CSS per l'interfaccia utente è il modo più piacevole.

    
risposta data 21.02.2014 - 14:36
fonte
4

Qt offre QtScript. Wikipedia ha detto:

QtScript is a scripting engine that has been part of the Qt cross-platform application framework since version 4.3.0.

The scripting language is based on the ECMAScript standard with a few extensions, such as QObject-style signal and slot connections.[1] The library contains the engine, and a C++ API for evaluating QtScript code and exposing custom QObject-derived C++ classes to QtScript.

Se non sai cos'è Qt: è un framework per applicazioni multipiattaforma in C ++. È buono per eliminare la complessità dallo sviluppo front-end C ++ ed è supportato anche sui sistemi mobili. È passato molto tempo dall'ultima volta che ho sviluppato con Qt, ma mi è piaciuto.

Con QtScript posso immaginare che si scriva una GUI minima e si realizzi la logica dell'applicazione in JavaScript.

    
risposta data 21.02.2014 - 09:15
fonte
0

Se stai parlando "puramente fuori dal browser", allora guarda strumenti come Appcelerator e Servoy, che usano entrambi Javascript per la codifica, che alla fine viene trasformato in Java.

    
risposta data 01.02.2012 - 15:48
fonte
-1

In questo momento sto usando JScript.net per creare un'interfaccia a riga di comando intelligente. Sta funzionando abbastanza bene per questo progetto perché eval () è utile, ma non tutto funziona come ci si aspetta (non è puro js). Ma offre alcuni RAD. Penso che sarebbe una buona piattaforma di prototipazione. È una specie di strano essere in una terra di nessuno tra js e .net però. (È anche obsoleto, così difficile da trovare buone risorse su di esso)

    
risposta data 26.01.2012 - 22:25
fonte

Leggi altre domande sui tag