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

в 11:57, , рубрики: closurescript, coffeescript, dart, javascript, livescript, opal, roy, TypeScript, Веб-разработка

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

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


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

1. CoffeeScript

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

Официальный сайт
GitHub

2. Dart

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

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

3. TypeScript

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

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

4. ClojureScript

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

GitHub

5. Opal

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

Официальный сайт
GitHub

6. IcedCoffeeScript

image

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

Официальный сайт
GitHub

7. LiveScript

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

Официальный сайт
GitHub

8. Kaffeine

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

Официальный сайт
GitHub

8. Roy

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

Официальный сайт
GitHub

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

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

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

Автор: Davert

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js