This website is built with Jazzy Framework

Build desktop apps with Nim and web tech

Jazzy Desktop is a next-generation framework for building incredibly fast, cross-platform modern desktop applications.

jazzy-cli
nimble install jazzy_desktop
jazzyd new my-app && cd my-app
jazzyd dev

Bring Your Own Framework

<script>
  import { jazzy } from './jazzy'
  let msg = ""
  
  const callBackend = async () => {
    msg = await jazzy.hello("Nim!")
  }
</script>

<button on:click={callBackend}>Say Hello</button>
<p>{msg}</p>
import { useState } from 'react'
import { jazzy } from './jazzy'

export default function App() {
  const [msg, setMsg] = useState("")

  const callBackend = async () => {
    setMsg(await jazzy.hello("Nim!"))
  }

  return (
    <>
      <button onClick={callBackend}>Say Hello</button>
      <p>{msg}</p>
    </>
  )
}
import { createSignal } from 'solid-js'
import { jazzy } from './jazzy'

function App() {
  const [msg, setMsg] = createSignal("")

  const callBackend = async () => {
    setMsg(await jazzy.hello("Nim!"))
  }

  return (
    <>
      <button onClick={callBackend}>Say Hello</button>
      <p>{msg()}</p>
    </>
  )
}
<script setup>
import { ref } from 'vue'
import { jazzy } from './jazzy'

const msg = ref("")

const callBackend = async () => {
  msg.value = await jazzy.hello("Nim!")
}
</script>

<template>
  <button @click="callBackend">Say Hello</button>
  <p></p>
</template>
import { jazzy } from './jazzy'

document.querySelector('#btn').addEventListener('click', async () => {
  const response = await jazzy.hello("Nim!")
  document.querySelector('#msg').textContent = response
})