re-frame

A ClojureScript framework for building user interfaces, leveraging React

https://github.com/day8/re-frame

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    5 of 210 committers (2.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.6%) to scientific vocabulary

Keywords

clojurescript re-frame react reagent spa

Keywords from Contributors

argument-parser
Last synced: 6 months ago · JSON representation ·

Repository

A ClojureScript framework for building user interfaces, leveraging React

Basic Info
Statistics
  • Stars: 5,489
  • Watchers: 140
  • Forks: 719
  • Open Issues: 24
  • Releases: 43
Topics
clojurescript re-frame react reagent spa
Created about 11 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing Funding License Citation Support

README.md

re-frame logo

Derived Values, Flowing

This, milord, is my family's axe. We have owned it for almost nine hundred years, see. Of course, sometimes it needed a new blade. And sometimes it has required a new handle, new designs on the metalwork, a little refreshing of the ornamentation ... but is this not the nine hundred-year-old axe of my family? And because it has changed gently over time, it is still a pretty good axe, y'know. Pretty good.

-- Terry Pratchett, The Fifth Elephant
    reflecting on identity, flow and derived values (aka The Ship of Theseus)

Overview

re-frame is a ClojureScript framework for building user interfaces. It has a data-oriented, functional design. Its primary focus is on high programmer productivity and scaling up to larger Single-Page applications.

Developed in late 2014, and released in 2015, it is mature and stable. It is used by both small startups and companies with over 500 developers, and it has delivered into production applications which are 40K lines of code and beyond.

Across the last 6 years, it has outlasted multiple generations of Javascript churn - just imagine your team's productivity if you didn't have to contend with technical churn, and have new magic burn your fingers every two years. Brand new, exciting concepts like recoiljs (in the React world), have been a regular part of re-frame from the beginning.

re-frame is lucky enough to enjoy an unfair advantage - ClojureScript is a Lisp. Alan Kay once described Lisp as "Maxwell's equations of software". Paul Graham described how Lisp was a competitive advantage for his startup. When we use Lisp, we get to leverage 50 years of foliated excellence from the very best minds available. And then there's also a thriving ClojureScript community which delivers modern ideas and best-in-class tooling.

Although re-frame leverages React (via Reagent), it only needs React to be the V in MVC, and no more. re-frame takes a different road to the currently-pervasive idea that Views should be causal (colocated queries, ComponentDidMount, hooks, etc). In re-frame, events are causal, and views are purely reactive.

Documentation

The re-frame documentation is available here.

The Current Version

Clojars Project

For full dependency information, see the Clojars page

Getting Help

Get help on Slack

Licence

re-frame is MIT licenced

Owner

  • Name: Day 8 Technology
  • Login: day8
  • Kind: organization

Citation (CITATION.md)

To cite re-frame in publications, please use:

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.801613.svg)](https://doi.org/10.5281/zenodo.801613)

Thompson, M. (2015, March). Re-Frame: A Reagent Framework For Writing SPAs, in Clojurescript.
Zenodo. http://doi.org/10.5281/zenodo.801613

@misc{thompson_2015,
  author       = {Thompson, Michael},
  title        = {Re-Frame: A Reagent Framework For Writing SPAs, in Clojurescript.},
  month        = mar,
  year         = 2015,
  doi          = {10.5281/zenodo.801613},
  url          = {https://doi.org/10.5281/zenodo.801613}
}

GitHub Events

Total
  • Create event: 2
  • Release event: 1
  • Issues event: 4
  • Watch event: 91
  • Issue comment event: 38
  • Push event: 18
  • Pull request event: 16
  • Fork event: 18
Last Year
  • Create event: 2
  • Release event: 1
  • Issues event: 4
  • Watch event: 91
  • Issue comment event: 38
  • Push event: 18
  • Pull request event: 16
  • Fork event: 18

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 2,482
  • Total Committers: 210
  • Avg Commits per committer: 11.819
  • Development Distribution Score (DDS): 0.498
Past Year
  • Commits: 18
  • Committers: 5
  • Avg Commits per committer: 3.6
  • Development Distribution Score (DDS): 0.444
Top Committers
Name Email Commits
Mike Thompson m****n@d****u 1,246
Isaac Johnston i****c@s****z 312
Daniel Compton d****k@d****t 185
Kimo Knowles k****s@d****u 172
Stuart Mitchell s****u@s****m 57
hipitihop a****n@g****m 37
Shaun Mahood s****d@g****m 26
Stephen C. Gilardi s****i@g****m 16
Prof Gra c****c@g****m 15
Sameer Rahmani l****r@g****g 15
Matthew Jaoudi g****1@g****m 14
Adrian s****e@g****m 12
Gregg8 g****y@d****u 12
Christophe Gragnic c****c@p****m 11
Dexter Gramfors d****r@k****e 9
Alan Thompson c****e@g****m 9
Vincent Cantin v****t@4****i 8
Brandon Ringe b****e@g****m 7
Michael Salihi a****n@p****r 7
rgkirch r****h@g****m 7
Markus Bertheau m****u@g****m 6
Nicolas Berger n****r@g****m 6
Jonathan Chen 1****n 6
Oleg 1****n 6
Sam Roberton s****n@r****m 6
Stig Brautaset s****g@b****g 5
Richard Harrington h****d@g****m 5
Dmitry Groshev l****y@g****m 5
Saskia Lindner s****i@f****e 4
Shaun Mahood s****o@S****n 4
and 180 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 73
  • Total pull requests: 81
  • Average time to close issues: 9 months
  • Average time to close pull requests: 2 months
  • Total issue authors: 62
  • Total pull request authors: 52
  • Average comments per issue: 5.18
  • Average comments per pull request: 1.33
  • Merged pull requests: 57
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 16
  • Average time to close issues: 2 days
  • Average time to close pull requests: 10 days
  • Issue authors: 4
  • Pull request authors: 11
  • Average comments per issue: 4.25
  • Average comments per pull request: 0.88
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mike-thompson-day8 (6)
  • p-himik (3)
  • Firersqure (2)
  • piotr-yuxuan (2)
  • wqhhust (2)
  • sirmspencer (2)
  • bsboiko (1)
  • ifarafontov-clj (1)
  • ZabelTech (1)
  • NOBLES5E (1)
  • NoahTheDuke (1)
  • scott-kl (1)
  • pavel-klavik (1)
  • madvas (1)
  • whamtet (1)
Pull Request Authors
  • green-coder (8)
  • rgkirch (7)
  • kimo-k (7)
  • matej-ibis-ai (2)
  • dannyfreeman (2)
  • smee (2)
  • zackteo (2)
  • jherrlin (2)
  • emp823 (2)
  • lowecg (2)
  • wmealing (2)
  • nikkez (2)
  • jahson (2)
  • zalky (2)
  • rlovtangen (2)
Top Labels
Issue Labels
bug (13) enhancement (12) help wanted (3) question (2) examples (1) hygiene (1) docs (1)
Pull Request Labels
enhancement (3) docs (1)

Packages

  • Total packages: 5
  • Total downloads:
    • clojars 10,848,919 total
  • Total dependent packages: 308
    (may contain duplicates)
  • Total dependent repositories: 1,514
    (may contain duplicates)
  • Total versions: 287
  • Total maintainers: 2
clojars.org: re-frame

A ClojureScript MVC-like Framework For Writing SPAs Using Reagent.

  • Versions: 80
  • Dependent Packages: 308
  • Dependent Repositories: 1,513
  • Downloads: 5,428,414 Total
Rankings
Dependent packages count: 0.1%
Dependent repos count: 0.1%
Downloads: 0.6%
Stargazers count: 0.7%
Average: 0.9%
Forks count: 3.0%
Maintainers (1)
Last synced: 6 months ago
proxy.golang.org: github.com/day8/re-frame
  • Versions: 63
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Dependent repos count: 4.8%
Average: 6.6%
Dependent packages count: 8.5%
Last synced: 6 months ago
proxy.golang.org: github.com/Day8/re-frame
  • Versions: 63
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 6 months ago
clojars.org: re-frame/re-frame

A ClojureScript MVC-like Framework For Writing SPAs Using Reagent.

  • Versions: 80
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 5,420,414 Total
Rankings
Downloads: 0.6%
Dependent packages count: 7.9%
Average: 12.6%
Dependent repos count: 29.1%
Maintainers (1)
Last synced: 6 months ago
clojars.org: pandeiro/re-frame

A fork of the Clojurescript MVC-like Framework For Writing SPAs Using Reagent, without tests bundled (so it compiles on CLJS 1.9.671)

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 91 Total
Rankings
Stargazers count: 0.6%
Forks count: 3.0%
Dependent packages count: 7.9%
Average: 25.2%
Dependent repos count: 25.8%
Downloads: 88.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

docs/klipse/project.clj clojars
  • andare 1.1.587
  • com.andrewmcveigh/cljs-time 0.5.2
  • com.cemerick/url 0.1.1
  • expound 0.8.4
  • org.clojure/clojure 1.10.1
  • org.clojure/clojurescript 1.10.748
  • org.clojure/test.check 1.0.0
  • re-frame 0.12.0
  • reagent 0.10.0
  • rewrite-cljs 0.4.4
  • viebel/gadjett 0.5.13
  • viebel/klipse-clj 10.1.8
  • viebel/poppea 0.2.1
examples/simple/package-lock.json npm
  • 279 dependencies
examples/simple/package.json npm
  • karma 6.3.7 development
  • karma-chrome-launcher 3.1.0 development
  • karma-cljs-test 0.1.0 development
  • karma-junit-reporter 2.0.1 development
  • karma-phantomjs-launcher 1.0.4 development
  • shadow-cljs 2.15.12 development
  • react 17.0.2
  • react-dom 17.0.2
examples/todomvc/package-lock.json npm
  • 280 dependencies
examples/todomvc/package.json npm
  • karma 6.3.7 development
  • karma-chrome-launcher 3.1.0 development
  • karma-cljs-test 0.1.0 development
  • karma-junit-reporter 2.0.1 development
  • karma-phantomjs-launcher 1.0.4 development
  • shadow-cljs 2.15.12 development
  • highlight.js 11.1.0
  • react 17.0.2
  • react-dom 17.0.2
package-lock.json npm
  • 279 dependencies
package.json npm
  • karma 6.3.7 development
  • karma-chrome-launcher 3.1.0 development
  • karma-cljs-test 0.1.0 development
  • karma-junit-reporter 2.0.1 development
  • karma-phantomjs-launcher 1.0.4 development
  • shadow-cljs 2.15.12 development
  • react 17.0.1
  • react-dom 17.0.1