I really like Elm, but the language is immature. Again today, after having spent about an hour digging through source code of different modules because of poor documentation (Turns out you need to manually import this otherwise quite neat little module in order to work with the output of this module) I run into yet another problem that this time I don't think I can hack my way around. (The first one being about a jumping cursor in input fields).
I'm not set in stone about changing; but I do think it's worth considering other options.
We would be moving a lot of the frontend logic to the backend, so we need more than "just" an restful backend
Complexity in the frontend grows fast with no real architecture or principles for building and adding stuff. It could easily grow into jQuery soup (sans jQuery I guess) over time
JavaScript
DOM
React/Redux with Typescript
Good
Typed
I/We know it
Bad
We wanted to explore stuff
It's boring
Code is verbose as hell
ReasonML
Good
OCaml (yay for learning something new!)
Typed
Got a big company behind it
Bad
Ocaml (We already have Go... if we want OCaml, then why not use that both back and front?)
Facebook :'( ... I'm so tired of big corps
Compilation process seemed complicated
Very immature target (the language spec is basically a moving target), so who knows if we won't just run into same type of problems?
Hyperapp
Good
Little code -- It's basically an Elm architecture/framework in JS
Little library (apparently jus 1kb)
Simple
It's Javascript (we can do all the hacks that js can do)
Bad
Not typed unless we use Typescript (is that possible?)
It's Javascript (we can do all the hacks that js can do, even when we shouldn't)
Other
Gopherjs
I don't really know anything about it
Vue
I don't know enough about Vue to do a pros/cons list on that, but I personally have no real desire to work with it again (I tried it for a super tiny project)
Choo
You tell me. You like it; but is it at all mature? Can it handle routing for instance?
Angular
No
I think I might actually mock something up in Hyperapp (+ its router).
I really like Elm, but the language is immature. Again today, after having spent about an hour digging through source code of different modules because of poor documentation (Turns out you need to manually import this otherwise quite neat little module in order to work with the output of this module) I run into yet another problem that this time I don't think I can hack my way around. (The first one being about a jumping cursor in input fields).
I'm not set in stone about changing; but I do think it's worth considering other options.
Vanilla
React/Redux with Typescript
ReasonML
Hyperapp
Other
I think I might actually mock something up in Hyperapp (+ its router).