holygrail

by danielsz

danielsz /holygrail

Demo of a restartable back-end in the REPL + hot-reloadable front-end in the browser.

130 Stars 9 Forks Last release: Not found 51 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

  • Holy grail

+BEGIN_QUOTE

Well, on second thought, let's not go to Camelot -- it is a silly place. — King Arthur

+END_QUOTE

** What is it?

This demonstrates the holy grail workflow for web development the way I envision it: an auto-restartable back-end in the REPL + a hot-reloadable front-end in the browser.

This workflow is built on top of [[http://boot-clj.com/][Boot]], a build tool, and [[https://github.com/danielsz/system/tree/master/examples/boot][system]], a component library.

** Installation Clone this repo, cd into it and start the development pipeline build.

+BEGIN_SRC shell

$ git clone [email protected]:danielsz/holygrail.git $ cd holygrail $ boot dev

+END_SRC

** Principle of operation Compose a build pipeline:

+BEGIN_SRC clojure

(deftask dev "Run a restartable system in the Repl" )

+END_SRC

Start it:

+BEGIN_SRC shell

$ boot dev

+END_SRC

The headless REPL advertises its coordinates.

+BEGIN_SRC shell

nREPL server started on port 49722 on host 127.0.0.1 - nrepl://127.0.0.1:49722

+END_SRC

You can connect to it if you plan to do development in the REPL (~M-x cider-connect~ in Emacs works great).

Your web app is started and listening at [[http://localhost:3000]].

The ~auto~ option in the ~system~ boot task takes care of your application lifecycle. Your system will automatically be reset after editing ~handler.clj~. Changes elsewhere that do not require a system restart will be reloaded on the fly everytime you save your work.

Note: The ~build.boot~ in this repo already contains those options.

** Demo

A demo video that tries to demonstrate how developing for the web can be a liberating and seamless experience.

+HTML: Holy Grail demo

Do you feel the creative juices flow? Are you ready for endless hours of sheer creative output?

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.