Язык программирования Nim имеет несколько известных веб-фреймворков. Есть Шут, Каракс, Пролог. Эти фреймворки поддерживают только backend/frontend разработку. Расскажу о веб-фреймворке HappyX.

HappyX — это полнофункциональный веб-фреймворк, ориентированный на макросы. Это означает, что:

  • Большая часть кода выполняется во время компиляции благодаря метапрограммированию (макро-ориентированному), поэтому приложения HappyX работают очень быстро.
  • Разработчик может эффективно писать как внутреннюю, так и внешнюю часть, используя один и тот же код.
  • Большая часть кода, который использует разработчик, представляет собой макросы, которые представляют собой DSL (предметно-ориентированный язык), поэтому разработчики тратят меньше времени на разработку.
  • Бизнес будет расширяться и развиваться быстрее благодаря скорости развития разработчиков.

Привет, мир!

Вот примеры hello world для серверной и клиентской стороны.

На стороне сервера

import happyx  # Import HappyX web framework

# Declare server at http://127.0.0.1:5000
serve "127.0.0.1", 5000:
  # Match at http://127.0.0.1:5000/
  get "/":
    # Respond plain/text
    return "Hello, world!"

На стороне клиента

import happyx

# Declare application at element with id "app"
appRoutes "app":
  # Match at example.com/#/
  "/":
    tDiv(class = "..."):  # <div class="...">
      "Hello, world!"     #   Hello, world!

Дополнительные ссылки