Karax. Single page applications for Nim.
Find a file
2018-02-17 14:13:26 +01:00
docs add benchmark result 2017-04-22 10:55:28 +02:00
examples Karax: better support for routing; easier to use; todoapp bugfix: misapplied .compact macro 2018-02-17 14:13:26 +01:00
experiments Merge branch 'master' of github.com:pragmagic/karax 2018-01-23 07:13:31 +01:00
karax Karax: better support for routing; easier to use; todoapp bugfix: misapplied .compact macro 2018-02-17 14:13:26 +01:00
tests Karax: better support for routing; easier to use; todoapp bugfix: misapplied .compact macro 2018-02-17 14:13:26 +01:00
tools tools/karun: produce CSS only with --css switch 2017-11-16 15:34:08 +01:00
.gitignore Merge branch 'master' into master 2017-11-30 11:52:18 -08:00
.travis.yml attempt to make travis green again 2017-11-20 23:55:13 +01:00
karax.nimble added 'karun' tool to karax.nimble 2017-11-20 12:26:10 +01: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