Well (i could go on all day), I wish that these libraries would start with the "big picture", as in how everything should hang together and where there component fits in, like what John Papa has done really well : http://www.johnpapa.net/spa/
It seems here we just dive straight into the code.
In particular, I don't like so much coupling of the code and the html together, but that really depends what angle you are coming from, who is the target market of this library.
For example : Take KnockoutJS, it has really good separation of concerns. I really like the MVVM pattern, why? because it means if I have a team of HTML5/CSS design guys, I can let them work off just building good markup and focus on delivering quality static stuff, then my UI developers can work on custom binding handlers for nice CSS3 transition integration and then by C#/Java guys can get their paws wet implementing the data/server functionality without ever treading on each others toes.
I thorughly agree that functional programming concepts are very healthy for a program. Great functional Composability makes reusability and maintainability a dream.
Here's how I lay out my SPA structure : http://anexiledderryman.com/image/50565922110
It seems here we just dive straight into the code.
In particular, I don't like so much coupling of the code and the html together, but that really depends what angle you are coming from, who is the target market of this library.
For example : Take KnockoutJS, it has really good separation of concerns. I really like the MVVM pattern, why? because it means if I have a team of HTML5/CSS design guys, I can let them work off just building good markup and focus on delivering quality static stuff, then my UI developers can work on custom binding handlers for nice CSS3 transition integration and then by C#/Java guys can get their paws wet implementing the data/server functionality without ever treading on each others toes.
I thorughly agree that functional programming concepts are very healthy for a program. Great functional Composability makes reusability and maintainability a dream.