2012-06-30 2 views
9

Есть много вариантов для мощных серверных языков, но я не могу придумать ни одного строго типизированного, по-настоящему мощного клиентского языка. Javascript многое делает с формами, базовой математикой и взаимодействием с сервером с AJAX и т. Д., Но он имеет свои ограничения по сравнению с другими языками.Сильно типизированные языки на стороне клиента?

Я ищу строго типизированный язык на стороне клиента, способный обрабатывать изображения или хруст данных, такие грубые вещи. Или, если есть javascript-библиотеки, которые помогают применять типы данных переменных, это может сработать.

+5

Вы имеете в виду статически типизированный? –

+0

Я думаю, что вы говорите о Flash, хотя HTML5 быстро перехватывает ... – McGarnagle

+0

Статическая типизация - это шаг в правильном направлении. Flash компилируется и требует плагинов, и, похоже, он уже вышел. –

ответ

5

В браузере, насколько сильное типирование идет у вас есть Java с GWT (статическим), Python (динамический) с Pyjamas, Dart, Opa (статическим) и кучей языков, которые могут пересекать компилировать JavaScript из LLVM (C, C++, Objective C, Java, Ada и многие другие) благодаря emscripten.

С точки зрения производительности вы можете взглянуть на Google Native Client и Javascript typed arrays.

Лично я думаю, что Опа - один из самых интересных веб-языков сегодня.

2

Haxe - это статически типизированный язык, который компилируется в различные клиентские среды, например. JavaScript или Flash.

+0

Ugh, flash ... Но с javascript в качестве опции я проверю это. –

1

TypeScript, Flow и Dart имеют опциональную статическую печать. TypeScript - это надмножество JavaScript (вы можете аннотировать существующие библиотеки с информацией о типе); Дарт - это отдельный язык, который растет с ростом standard library.

+0

Dart не имеет статической печати в качестве опции. Вы можете писать типы, но они будут иметь значение только для вас и IDE, когда VM разделит их на комментарии. –

1

Возможно, вы захотите взглянуть на ST-JS. Этот инструмент позволяет вам писать javascript, но заимствуя синтаксис и статическую типизацию java. Инструменты предоставляют кучу интерфейсов и классов Java, которые отражают стандартную библиотеку javascript, а также некоторые другие полезные полезные библиотеки (DOM, jquery и т. Д.). Затем вы можете написать свой исходный код в java, а транслятор ST-JS преобразует этот статический код в обычный ванильный (и, что наиболее важно читаемый) код javascript. ST-JS также совместим с любой другой библиотекой javascript, которую вы хотели бы использовать, если вы пишете соответствующие java-интерфейсы.

Другим преимуществом ST-JS является то, что, поскольку вы пишете Java-код, вы можете использовать все действительно мощные инструменты из java-экосистемы. Инструменты рефакторинга во всех IDE будут работать из коробки. Инструменты статического анализа, такие как Findbugs, PWD, checkstyle также отлично работают и очень точны в коде, поддерживаемом ST-JS.

Вы можете думать о том, что ST-JS находится где-то посередине между GWT (полностью скрывает от вас стандартные библиотеки javascript и не позволяет использовать внешние библиотеки) и некоторые инструменты для статического анализа javascript, такие как JSLint.

+0

это просто транспилер. –

 Смежные вопросы

  • Нет связанных вопросов^_^