Resources
Alternative Explanations¶
- An overview of re-frame by purelyfunctional.tv
- On naming things and app-db structure by purelyfunctional.tv
Reagent¶
To get a good grounding in Reagent, please be sure to review the docs:
For inspiration, perhaps look at one of our other projects: re-com.
Video Training¶
Commercial grade video training for re-frame and Reagent:
IDE Support¶
- Cursive - has direct support for some re-frame features, including keyword sourcing.
- Emacs support
Templates¶
- re-frame-template - To generate a client side SPA. Good for getting started.
- Luminus - Generates an integrated client and server
- re-natal - React Native apps
Debugging
- re-frame-10x - A debugging dashboard for re-frame
- re-frisk - A library for visualizing re-frame data and events.
Examples and Applications Using re-frame¶
- Tubo - A libre streaming front-end for the web
- Heardicon - create your own coat of arms
- The Workshub client is open source and the repo is available here
- RealWorld - a well commented codebase with CRUD, auth, advanced patterns, etc) that implements to the RealWorld Spec and API.
- RealWorld - react native version
- BlueGenes - searching and analysing genomic data, by the University of Cambridge
- Memento a private note-taking app. Uses compojure-api, PostgreSQL and token auth.
- How to create decentralised apps with re-frame and Ethereum - Tutorial with links to code and live example.
- Braid - A new approach to group chat, designed around conversations and tags instead of rooms.
- Elfeed-cljsrn - A mobile client for Elfeed rss reader, built with React Native.
- Memory Hole - A small issue tracking app written with Luminus and re-frame.
- imperimetric - Webapp for converting texts with some system of measurement to another, such as imperial to metric.
- boodle - A simple SPA for accounting. It uses, among others, re-frame, http-kit, compojure-api and it runs on PostgreSQL.
- status-react - A mobile OS for Ethereum. Server, SPA + React Native App
- Catlantis - React Native App about cats
- Lymchat - React Native App to learn different cultures
- ventas - Ecommerce platform made with a full-clojure stack
- ONS Structural Search - Structural search engine for data cubes
- Life counter - Simple life counter PWA for 2 players
- Network Token - A basic SPA for the district0x token contribution smart contract on the Ethereum blockchain
- MemeFactory - A decentralized platform for creating, issuing, and trading verifiably rare digital collectibles on the Ethereum blockchain
- Name Bazaar - A peer-to-peer marketplace for exchanging names registered through the Ethereum Name Service
- LIPAS - A full-stack implementation of Finland's national sports facility geographic information system
- PuppetAPI - An application to create mock APIs and real-time testing
Effect and CoEffect Handlers¶
- async-flow-fx - manage a boot process dominated by async
- http-fx - performing HTTP request tasks (via cljs-ajax)
- fetch-fx - performing HTTP request tasks (via
js/fetch
) - re-frame-forward-events-fx - slightly exotic
- cookie-fx - set and get cookies
- document-fx - set and get on
js/document
attributes - clipboard-fx - write to the system clipboard
- re-frame-youtube-fx - YouTube iframe API wrapper
- re-frame-web3-fx - Ethereum Web3 API
- re-frame-google-analytics-fx - Google Analytics API
- re-frame-storage - Local Storage based persistence
- re-frame-storage-fx - Another take on Local Storage persistence
- re-frame-firebase - Firebase DB API
- sse-fx - fx/cofx handlers for EventSource and SSE
Forms¶
- Fork Form Library. Inspired by formik.
- re-form
- free-form
- re-frame-forms
Routing¶
Tools, Techniques & Libraries¶
- re-fill - routing and more
- re-frame-undo - An undo library for re-frame
- re-frame-test - Advanced testing utilities
- Animation using
react-flip-move
- re-thread - A library for running re-frame applications in Web Workers.
- re-frame-datatable - DataTable UI component built for use with re-frame.
- Stately: State Machines also https://www.youtube.com/watch?v=klqorRUPluw
- re-learn - Data driven tutorials for educating users of your reagent / re-frame app
- subgraph - Reactive graph database for re-frame
- re-graph - GraphQL client for re-frame
- martian - Swagger-compatible API client that abstracts away from HTTP with re-frame bindings
- re-pressed - A keyboard event library for re-frame
- re-pollsive - A polling event library for re-frame
- breaking-point - Quickly define screen breakpoints for re-frame
- re-frame-flow - A graph based visualization tool for re-frame event chains
Suites¶
- reflet - Fast multi-model db, mix graph/non-graph data, graph queries/mutations, hierarchical FSMs, JS/DOM interop utils, component APIs, novel visual debugging
React Native
- re-natal: Bootstrap ClojureScript React Native apps
- cljsrn-re-frame-workers: A library supporting react-native-workers with re-frame for ClojureScript and React Native.
- re-navigate: Example of React Native Navigation with re-frame/re-natal
Other¶
- re-posh is re-frame + Datalog
Videos¶
- A three part video series
- A Video Tour of the Source Code of Ninja Tools
- Funding Circle Clojure Meetup: Modular Users Interfaces with Re-frame
- Build your next single page app in ClojureScript and re-frame
- Clojurescript re-frame Tutorial Part 1 - Events and Event Handlers
- From 0 to prototype using ClojureScript, re-frame and friends: Martin Clausen
- Re-usable GUI Components with Re-frame and Atomic Design - Mark Nutter
- clojureD 2018: "Reframing your next Single Page App" by Kenneth Kalmer
Server Side Rendering¶
- isomorphic-rendering
-
Prerenderer - Server pre-rendering library using NodeJS that works with re-frame
0.6.0
(later versions untested) Rationale Part 1 Part 2 Part 3 Release Announcement -
Server Side Rendering with re-frame - Blog post on rendering re-frame views with Clojure.
-
Rendering Reagent on the Server Using Hiccup- Blog post on rendering Reagent with Clojure.
-
Prerendering a re-frame app with Chrome Headless - Blog post on prerendering a re-frame app using etaoin and Chrome Headless.