Javascript это практически вездесущий язык программирования. В некотором роде его можно сравнить с C на пике его популярности. На нем можно писать всё что угодно, начиная от красивых выпадающих менюшек, слайдеров на вашем сайте, заканчивая полноценнами приложениями для серверов, мобильных, для десктопа и даже для embedded систем типа arduinio.
Но у яваскрипта есть свои заковырки. Прототипная модель объектов, динамиеские типы, колбек-функции, всё это, можно сказать, на любителя. В результате начали появлятся альтернативные языки, предлагающие свои подходы к реализации тех или иных концептов. В этом посте перечислены самые популярные альтернативы теплому ванильному яваскрипту.
Например, если вам хочется классического ООП, вместо прототипов, или вы хотите больше синтаксического сахара, посмотрите в сторону CoffeeScript. Если вам нужна строгая типизация вам могут понравиться Dart или TypeScript. К слову сказать, Dart работает нативно в Google Chrome и на некоторых тестах показывает 50% прирост производительности по сравнению с обычным javascript. Для любителей функциональго программирования подойдет ClojureScript или Roy. Вариантов масса, и вы не обязаны писать всё на чистом яваскрипте, даже если разрабатываете фронтенд под веб или работаете с node.js.
1. CoffeeScript
CoffeeScript это небольшой язык, который компилируется в Javascript. Рубистам он кажется похожим на руби, питонистам он похож на питон, и конечно же, он похож на яваскрипт. CoffeeScript старается упростить использование яваскрипта, сохранив все его сильные стороны.
2. Dart
Dart это объектно-ориентированый язык с полноценной системой классов, лексическими скоупами, замыканиями, и опционально — статической типизацией. Dart помогает создавать структурированные веб приложения и легок в изучении для широкого круга разработчиков.
3. TypeScript
TypeScript отличается от JavaScript возможностью явного определения типов (статическая типизация), поддержкой использования полноценных классов (как в традиционных объектно-ориентированных языках), а также поддержкой подключения модулей.
4. ClojureScript
ClojureScript — это расширение языка Clojure, с возможностью компиляции в Javascript. Напоминает Lisp.
5. Opal
Компилятор из Ruby в Javascript.
6. IcedCoffeeScript
IcedCoffeeScript это надстройка над CoffeeScript, упрощающая контроль за асинхронными операциями. Вместо колбеков вводятся два новых оператора: await и defer.
7. LiveScript
Ещё один форк от CoffeeScript. Добавляет поддержку функционального стиля программирования, а также вводит небольшие улучшения в текущую ООП-модель.
8. Kaffeine
Расширяет синтакс яваскрипта, не изобретая ещё один язык программирования. Код на Kaffeine строка к строке соответствует скомпилированому яваскрипт коду. Данная фича должна существенно упростить отладку приложения.
8. Roy
Экспериментальный язык программирования, преобразующий код в Javascript. Включает в себя возможности статичных функциональных языков.
Ну и конечно, есть ещё один язык, самый главный в этой семье. Это, конечно же, сам Javascript. Как ни крути, а именно он будет выполнятся в браузере. Тем не менее, для использования в больших проектах стоить посмотреть в сторону Dart (поддерживаемый Google) или TypeScript (поддерживается Microsoft). CoffeeScript очень популярен в последнее время, а с помощью source maps работать с ним стало ещё проще. Если вы устали от яваскрипта или хотите попробовать чего-то новенького, милости просим.
PS. Обзор подготовлен с использованием каталога javascript-библиотек Jster.Net. Сейчас в нем уже 981 билиотека для фронтенд-разработки.
PS/2 Ещё больше альтернатив на сайте AltJS
Автор: Davert