Karax. Single page applications for Nim.
Find a file
2017-10-02 22:54:25 +02:00
docs add benchmark result 2017-04-22 10:55:28 +02:00
examples move karax source code from 'src' to 'karax'; make karaxdsl work with native Nim; added jjson and jwebsockets modules 2017-10-02 22:54:25 +02:00
experiments implement a autocomplete widget (work in progress) 2017-10-02 13:53:53 +02:00
karax move karax source code from 'src' to 'karax'; make karaxdsl work with native Nim; added jjson and jwebsockets modules 2017-10-02 22:54:25 +02:00
tests move karax source code from 'src' to 'karax'; make karaxdsl work with native Nim; added jjson and jwebsockets modules 2017-10-02 22:54:25 +02:00
tools added an example of how to do menus and auto-completion with Karax 2017-09-22 18:10:30 +02:00
.gitignore fixes #25 (#26) 2017-06-18 00:01:27 +02:00
.travis.yml move parseInt to jstrutils.nim to avoid conflicts; introduce travis testing 2017-06-16 16:45:06 +02:00
karax.nimble move karax source code from 'src' to 'karax'; make karaxdsl work with native Nim; added jjson and jwebsockets modules 2017-10-02 22:54:25 +02:00
readme.rst proper rst solution 2017-06-17 17:05:37 +02:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Karax – Single page applications in Nim |travis|
================================================

Karax is a framework for developing single page applications in Nim.
It's still in heavy development, so keep in mind that the API is subject
to change.

To try it out, run::

  nimble install # For first time

  cd examples/todoapp
  nim js todoapp.nim
  open todoapp.html
  cd ../..

  cd examples/mediaplayer
  nim js playerapp.nim
  open playerapp.html

It uses a virtual DOM like React, but is much smaller than the existing
frameworks plus of course it's written in Nim for Nim. No external
dependencies! And thanks to Nim's whole program optimization only what
is used ends up in the generated JavaScript code. But don't take my
word for it, look at this:

.. image:: docs/benchmark.png


Goals
=====

- Leverage Nim's macro system to produce a framework that allows
  for the development of applications that are boilerplate free.
- Keep it small, keep it fast, keep it flexible.

.. |travis| image:: https://travis-ci.org/pragmagic/karax.svg?branch=master
    :target: https://travis-ci.org/pragmagic/karax