Существуют ли другие платформы веб-приложений, подобные Ocsigen?
Недавно я начал изучать идею использования инфраструктуры веб-приложений, которая предоставляет более унифицированный способ обработки программирования на стороне клиента и на стороне сервера, и обнаружил проект под названием Ocsigen. Ocsigen кажется очень похожим на то, что я ищу, но есть некоторые вещи, которые меня смущают, такие как использование функционального языка программирования, а не императивного. Просто из любопытства, есть ли какие-либо другие структуры, подобные Ocsigen? (Возможно, тот, который использует более традиционный императивный язык программирования.)
2 ответа
То, что вы ищете, это "многоуровневые веб-фреймворки" или "многоуровневые веб-фреймворки" или "изоморфные веб-фреймворки" (т.е. фреймворки, которые стирают грань между кодом на стороне сервера и кодом на стороне клиента).
Полностью ярусные веб-фреймворки, которые работают как на стороне сервера, так и на стороне клиента (т.е. вам никогда не придется писать одну строчку JavaScript для всего веб-приложения):
- Аида / Веб (Smalltalk)
- Азот (Эрланг)
- Ocsigen (OCaml) - утверждает, что он используется в Facebook.
- Ваадин (Ява)
- WebSharper (F#) - похоже, что есть некоторые крупные корпоративные пользователи.
Ниже перечислены фреймворки / инструменты, отличные от JavaScript, только для клиентской части. Они открывают дверь для написания всего веб-приложения только на одном языке (хотя интеграция между серверной и клиентской сторонами будет не такой хорошей, как при использовании полностью ярусных сред):
- GWT (Java) - Google использует это.
- Мисо (Хаскелл)
- ReasonML (OCaml с синтаксисом Reason)
- Плюс ко всему, что компилирует язык не-JavaScript в JavaScript.
Кроме того, вас могут заинтересовать эти (большинство из них - исследовательские проекты с небольшим внедрением):
Приведенные выше списки, конечно, не являются исчерпывающими.
Если вы предпочитаете JavaScript, см.: Tierless веб-фреймворк с Javascript?
Вы должны взглянуть на opa, это также функциональный язык, но он использует более традиционный синтаксис.