Real CRUD apps, zero to prod in a month in real-time.
Hyperfiddle is a managed platform for real-time web development
Hyperfiddle.net is a serverless application platform with
users and auth
server side rendering
No: git, command lines, text files, deployment, hosting, or waiting. Only the fun parts are left.
Hyperfiddle self-host is just a jar file. Run as a server process inside your environments, or embed it inside your application as a service.
Gist for Datomic
Either way, we provide reasonable defaults for everything a real app needs, so you don't have to think about it until you want to.
1. Write queries
What is Datomic?Datomic is a new kind of database, competitive in use case with SQL and GraphQL, except much simpler. Datomic's strengths include easy domain modeling, simple and flexible query (WHERE-style, JOIN-style and GraphQL style), and complex business transactions. Datomic is a good fit for systems that store valuable information of record, like transactional data and business records.
2. Model forms
3. Connect them together with links
4. Customize the UI
Automatic backend and web-service
Business model and pricing
hyperfiddle.jar, which includes the server and everything you need to self-host your apps, is free and open source (pending cleanup asap).
Hyperfiddle Editor needs a license for on-prem use. This business model will let us make Hyperfiddle IDE as mature as Excel. We are happy to provide access to the editor's "source" to licensees, it is actually a database containing EDN, Reagent views and CSS.
The Editor is optional.
Developers are welcome to git clone hyperfiddle && lein new --whatever and code your fiddles into .cljs and .edn files. This coding workflow has equivalent functionality other than being slower and more technical (git, compilers, servers, deploys, etc).
Coming soon. The public tank is free, and good enough for quick scripts, "live gists", static sites, and public applications like blogs that don't need read security.
Developer notes and FAQ
Hyperfiddle can do anything Rails can do. Enterprise app with sophisticated backend integrations? No problem: Hyperfiddle is a jar file. Fork it and integrate it with your JVM codebase.
Invisible data sync. Hyperfiddle loads just the right data, automatically. Your app specification captures your API inter-dependencies as a graph, so data sync reduces to a graph partitioning problem. Hyperfiddle optimizes your service dynamically in ways hand-coded backends cannot.
Immutability and functional programming. Hyperfiddle is made possible by unique capabilities of Clojure/Script and Datomic, including immutability in the database and code-sharing across platforms.
Server rendering and static sites? Yes, all hyperfiddles are progressive web apps and server-render out of the box. Hyperfiddle is amazing at static sites. Datomic is equal to git for this purpose!
Ideal caching. API responses are served Cache-Control: Immutable – check the network tab as you navigate our docs!
SQL? No, not without an adapter, an immutable database is necessary. For example, interactive undo/redo — of database transactions! — falls out of immutability for free.
Foreign REST APIs? Yes, and this is important to us. Today this is experimental and undocumented, there is more work to be done here.
GraphQL? Eventually, this is a great fit.
Re-frame, Hoplon, Rum, etc? We have no hard dependency on Reagent, other than the out-of-box forms library. Note that Re-frame doesn't support server side rendering.
Proper frontend dev workflows? Eventually, this is important to us.
External scripts? Yes (experimental).
Dependencies? Only in self-host right now. Probably something to be done with tools.deps.
React Native? Not anytime soon.
What people are saying
I've only been doing web dev for a year
, and during that whole year I've been constantly feeling that something like this should exist. The whole pattern of a web frontend for a DB is way more time consuming than it needs to be.
I use Datomic heavily day-to-day and am familiar with API design, but
I'm not a web developer
, which is a big sticking point for me.
Jerry, data scientist
Hyperfiddle is an excel spreadsheet for programmers. Truly fantastic.
I'm building a web/mobile app with a datomic-based backend, and we have a lot of manual data checking and admin and so on and it seems like rather than reinvent the wheel for all these
"back of house" UIs
it would be great to have something like Hyperfiddle solve that out of the box.
I haven’t spent a ton of time in SQL but I’m like,
why am I wasting time using anything but Datomic
, and Hyperfiddle seems the natural way to build an app on top of Datomic. You’ve spent time figuring out how to glue the user interface to the data model, and all these things that a normal website needs.
When my manager comes to my desk with an over engineered excel spreadsheet and asks me to find a better solution... currently, there is next to nothing. I could write a web app which takes a minimum of a month (counting everything) or leave him in limbo (which usually happens).