Need help with holygrail?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

danielsz
131 Stars 9 Forks 51 Commits 0 Opened issues

Description

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

Services available

!
?

Need anything else?

Contributors list

# 164,708
Clojure
Clojure...
Redis
epl
45 commits
# 35,686
Clojure
messeng...
re-fram...
React N...
2 commits
# 352,603
Shell
serving
Tensorf...
C
1 commit
  • 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.