-
Notifications
You must be signed in to change notification settings - Fork 2
Description
There are two main points to this project: 1) Build an application with functional programming techniques, 2) Make something useful to fill a perceived void in the market. Since learning is a big part of what I want to accomplish here, I'm going to document what I want to do for a "minimal implementation" for each framework/methodology I want to attempt (unless I decide one is simply superior).
- Authentication
- Registration
- Logging a session (with no helpers/tooltips/analysis/parsing/etc)
- Local storage
I'm intending on attempting a build for the following:
- PureScript Halogen
- Elm
- GHCjs (Reflex-dom? React-flux? Something else?)
- Maybe ClojureScript and Om?
If none of the above end up being nice enough, I'll just do it with a JavaScript front end and call it a learning experience. This thread will document my general experiences with the various approaches as well.
On a general level, the big pros/cons that I can see for JavaScript are:
Pros:
- React, Immutable, Redux, etc. make development fairly tolerable.
- The JavaScript tooling is pretty enviable -- webpack hot loader is neat!
- Tons of work is already done and the ecosystem has libraries for everything.
- And, this is the biggest one: boilerplate around sending/receiving JSON is essentially 0. On the server, Aeson and Servant reduce the boilerplate around de/serialization.
Cons:
It's JavaScript.