Czy JavaScript może być używany jako ogólny język skryptowy?

18

Użyłem JavaScript i niektórych frameworków (jQuery, Prototype, some node.js) do programowania w sieci po stronie klienta, ale nigdy na pulpicie, gdzie wykonuję większość skryptów w Pythonie lub Bash.

Ale IMHO, JavaScript byłby świetnym językiem skryptowym, gdyby był używany poza przeglądarką. Czy ktoś tego próbował? Czy JavaScript może być odpowiednim zamiennikiem języka Python / Perl / Bash dla szybkich i brudnych zadań skryptowych?

rdasxy
źródło
7
W artykule w Wikipedii Javascript znajduje się sekcja zatytułowana „ Korzysta poza stronami internetowymi ”, która dokumentuje kilka przypadków użycia JavaScript w sposób dokładnie opisany. Zanim zapytasz, zrób trochę badań.
yannis
7
Yannis, czy taka zasada obowiązuje na stronach SE? Myślę, że SE ma być również częścią wiki, co oznacza, że ​​tylko gadatliwe, nie na temat, nieodpowiadające lub bardzo niskiej jakości pytania powinny być zamknięte.
Tamás Szelei
3
@ TamásSzelei W rzeczywistości istnieje zasada , streszczona jako „ Odrób pracę domową”. SE jest częścią wiki, ale w tym sensie, że każdy post jest edytowalny przez wszystkich, nie w sensie budowania ogólnego odniesienia. Jeff Atwood podsumowuje „oficjalną” politykę w tej meta-odpowiedzi .
yannis
3
@Yannis: Sam przyjrzałem się temu tematowi, a zasobów w Internecie dotyczących tego tematu poważnie brakuje. Co więcej, doceniam, że pytanie zostało zadane na forum, na którym inteligentni, kompetentni członkowie społeczności komputerowej mogą wtrącić się z ich doświadczeniem, opiniami i sugestiami. Jeśli chodzi o tematy, które w dużej mierze opierają się na subiektywnej opinii, zaufałbym słowom członka stackexchange z 20 tys. Przedstawicieli w artykule na Wikipedii KAŻDEGO DNIA.
Mr. JavaScript
3
@ ajax81 Gdyby istniały dowody wcześniejszych badań w pytaniu, byłoby idealnie zadać pytanie. Jeśli naprawdę cenisz społeczność tak, jak mówisz, jestem pewien, że nie chcesz marnować niczyjego czasu, i byłbyś na tyle uprzejmy, aby podzielić się z nami swoimi badaniami i zapytać tylko o to, na co nie ma wystarczającej odpowiedzi w różnych ogólne strony referencyjne. Nie sugeruję Wikipedii jako alternatywy dla umysłu ula SE, to, co mówię, jest dokładnie odwrotne, nie jesteśmy alternatywą, pytaj, kiedy Wikipedia nie jest wystarczająca (ale powiedz nam, jak i dlaczego to nie wystarczy) .
yannis

Odpowiedzi:

22

Tak! Z pewnością możesz to zrobić za pomocą Node.js lub Rhino. Na przykład kompilator coffeescript to nic innego jak skrypt node.js.

Przyznam, że ogólnie nie jest to mój pierwszy wybór do pisania skryptów na pulpicie, ale nie widzę powodu, dla którego nie działałoby to całkiem dobrze w przypadku wielu zadań.

Zachary K.
źródło
11

Windows ma komponent o nazwie Windows Scripting Host, który pozwala zautomatyzować administrację, a nawet naśladować aktywność użytkownika w pewnym stopniu za pomocą JScript.

Aktualizacja w 2017 roku: OSX pozwala teraz zautomatyzować zadania pulpitu za pomocą Javascript. To, co wcześniej było możliwe za pomocą AppleScript, jest teraz możliwe za pomocą Javascript.

rsman
źródło
5

Używam javascript głównie do wszystkiego, ponieważ mi się podoba, a moja codzienna praca jest pod dużym wpływem. Co mam na myśli mówiąc wszystko:

  1. Niestandardowe narzędzia (dzięki pakietowi węzłów możesz wnieść pulpit)

  2. Niestandardowe skrypty uruchamiane na moim komputerze za pośrednictwem node.js

  3. Aplikacje mobilne. Nie potrzebuję nawet PhoneGap, ponieważ czuję się swobodnie z odwiedzaniem adresu URL.

  4. Backend dla moich aplikacji internetowych z node.js. Mogę uzyskać dostęp do systemu plików i baz danych, więc czego mi brakuje? Cóż .. Dość dojrzałe środowisko i mam nadzieję, że zostanie to naprawione w funkcji.

  5. Cóż, oczywiście wymyślne rzeczy jQuery dla stron internetowych.

Różne:

  1. Rozwiązuję wszystkie kata kodujące za pomocą javascript (euler projektu, kodewars)

  2. Wdrażam algorytmy Interesuję się JavaScript

  3. Eksperymenty 3D z Three.js i Webgl.

Ktoś mnie pokona ze względu na wydajność, ale chcę zadowalać się wydajnością pisania kodu i rozumienia tematu zamiast sprawić, by działał niesamowicie szybko.

Jeśli chodzi o środowisko graficzne, praca z HTML i CSS dla interfejsu użytkownika jest najbardziej przyjemna.

lukas.pukenis
źródło
4

Qt oferuje QtScript. Wikipedia powiedziała:

QtScript to silnik skryptowy, który jest częścią międzyplatformowej struktury aplikacji Qt od wersji 4.3.0.

Język skryptowy jest oparty na standardzie ECMAScript z kilkoma rozszerzeniami, takimi jak połączenia sygnałów i gniazd w stylu QObject. [1] Biblioteka zawiera silnik i interfejs API C ++ do oceny kodu QtScript i wystawiania niestandardowych klas C ++ pochodzących z QObject na QtScript.

Jeśli nie wiesz, co to jest Qt: jest to wieloplatformowa struktura aplikacji w C ++. Jest dobry w usuwaniu złożoności z programowania frontonu C ++, a także jest obsługiwany w systemach mobilnych. To było dawno temu, odkąd ostatni raz pracowałem z Qt, ale mi się podobało.

Dzięki QtScript mogłem sobie wyobrazić, że pisze się minimalny GUI i robi logikę aplikacji w JavaScript.

dokładnie
źródło
1
W Qt5 javascript zyskuje jeszcze większą rolę dzięki nowej ramce GUI QML / QtQuick (używa wbudowanego javascript do zarządzania interfejsem użytkownika).
Macke
0

Jeśli mówisz po prostu „poza przeglądarką”, spójrz na narzędzia takie jak Appcelerator i Servoy, które używają JavaScript do kodowania, co ostatecznie zamienia się w Javę.

Alan B.
źródło
-1

Korzystam teraz z JScript.net, aby stworzyć inteligentny interfejs wiersza poleceń. Działa całkiem dobrze w tym projekcie, ponieważ przydaje się eval (), ale nie wszystko działa tak, jak się spodziewasz (nie jest to czysty js). Ale oferuje trochę RAD. Myślę, że byłaby to dobra platforma do prototypowania. Dziwnie jest jednak przebywać w krainie nie-mans między js i .net. (Jest też przestarzały, więc trudno znaleźć na nim dobre zasoby)

znak
źródło