- PVSM.RU - https://www.pvsm.ru -

Альтернативы для JavaScript

imageJavascript это практически вездесущий язык программирования. В некотором роде его можно сравнить с C на пике его популярности. На нем можно писать всё что угодно, начиная от красивых выпадающих менюшек, слайдеров на вашем сайте, заканчивая полноценнами приложениями для серверов, мобильных, для десктопа и даже для embedded систем типа arduinio [1].

Но у яваскрипта есть свои заковырки. Прототипная модель объектов, динамиеские типы, колбек-функции, всё это, можно сказать, на любителя. В результате начали появлятся альтернативные языки, предлагающие свои подходы к реализации тех или иных концептов. В этом посте перечислены самые популярные альтернативы теплому ванильному яваскрипту.


Например, если вам хочется классического ООП, вместо прототипов, или вы хотите больше синтаксического сахара, посмотрите в сторону CoffeeScript. Если вам нужна строгая типизация вам могут понравиться Dart или TypeScript. К слову сказать, Dart работает нативно в Google Chrome и на некоторых тестах показывает 50% прирост производительности [2] по сравнению с обычным javascript. Для любителей функциональго программирования подойдет ClojureScript или Roy. Вариантов масса, и вы не обязаны писать всё на чистом яваскрипте, даже если разрабатываете фронтенд под веб или работаете с node.js.

1. CoffeeScript

image [3]
CoffeeScript это небольшой язык, который компилируется в Javascript. Рубистам он кажется похожим на руби, питонистам он похож на питон, и конечно же, он похож на яваскрипт. CoffeeScript старается упростить использование яваскрипта, сохранив все его сильные стороны.

Официальный сайт [3]
GitHub [4]

2. Dart

Альтернативы для JavaScript [5]
Dart это объектно-ориентированый язык с полноценной системой классов, лексическими скоупами, замыканиями, и опционально — статической типизацией. Dart помогает создавать структурированные веб приложения и легок в изучении для широкого круга разработчиков.

Официальный сайт [5]
На Хабре [6]

3. TypeScript

image [7]
TypeScript отличается от JavaScript возможностью явного определения типов (статическая типизация), поддержкой использования полноценных классов (как в традиционных объектно-ориентированных языках), а также поддержкой подключения модулей.

Официальный сайт [7]
На Хабре [8]

4. ClojureScript

ClojureScript — это расширение языка Clojure, с возможностью компиляции в Javascript. Напоминает Lisp.

GitHub [9]

5. Opal

image [10]
Компилятор из Ruby в Javascript.

Официальный сайт [10]
GitHub [11]

6. IcedCoffeeScript

image [12]

IcedCoffeeScript это надстройка над CoffeeScript, упрощающая контроль за асинхронными операциями. Вместо колбеков вводятся два новых оператора: await и defer.

Официальный сайт [12]
GitHub [13]

7. LiveScript

image [14]
Ещё один форк от CoffeeScript. Добавляет поддержку функционального стиля программирования, а также вводит небольшие улучшения в текущую ООП-модель.

Официальный сайт [14]
GitHub [15]

8. Kaffeine

image [16]
Расширяет синтакс яваскрипта, не изобретая ещё один язык программирования. Код на Kaffeine строка к строке соответствует скомпилированому яваскрипт коду. Данная фича должна существенно упростить отладку приложения.

Официальный сайт [16]
GitHub [17]

8. Roy

image [18]
Экспериментальный язык программирования, преобразующий код в Javascript. Включает в себя возможности статичных функциональных языков.

Официальный сайт [18]
GitHub [19]

Ну и конечно, есть ещё один язык, самый главный в этой семье. Это, конечно же, сам Javascript. Как ни крути, а именно он будет выполнятся в браузере. Тем не менее, для использования в больших проектах стоить посмотреть в сторону Dart (поддерживаемый Google) или TypeScript (поддерживается Microsoft). CoffeeScript очень популярен в последнее время, а с помощью source maps [20] работать с ним стало ещё проще. Если вы устали от яваскрипта или хотите попробовать чего-то новенького, милости просим.

PS. Обзор подготовлен с использованием каталога javascript-библиотек Jster.Net [21]. Сейчас в нем уже 981 билиотека для фронтенд-разработки.

PS/2 Ещё больше альтернатив на сайте AltJS [22]

Автор: Davert

Источник [23]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/22893

Ссылки в тексте:

[1] arduinio: http://semu.github.com/noduino/

[2] некоторых тестах показывает 50% прирост производительности: http://news.dartlang.org/2012/12/dart-vm-improves-performance-by-50.html

[3] Image: http://coffeescript.org/

[4] GitHub: https://github.com/jashkenas/coffee-script

[5] Image: http://www.dartlang.org/

[6] На Хабре: http://habrahabr.ru/post/130120/

[7] Image: http://www.typescriptlang.org/

[8] На Хабре: http://habrahabr.ru/post/153077/

[9] GitHub: https://github.com/clojure/clojurescript

[10] Image: http://opalrb.org/

[11] GitHub: https://github.com/opal/opal

[12] Image: http://maxtaco.github.com/coffee-script

[13] GitHub: https://github.com/maxtaco/coffee-script/

[14] Image: http://livescript.net/

[15] GitHub: https://github.com/gkz/LiveScript

[16] Image: http://weepy.github.com/kaffeine/

[17] GitHub: https://github.com/weepy/kaffeine

[18] Image: http://roy.brianmckenna.org/

[19] GitHub: https://github.com/pufuwozu/roy

[20] source maps: http://ryanflorence.com/2012/coffeescript-source-maps/

[21] Jster.Net: http://jster.net

[22] AltJS: http://altjs.org/

[23] Источник: http://habrahabr.ru/post/163033/