skimi / todoCompared

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Todo Compared

Comparing JS libraries by implementing simple todo apps.

Library Good Bad
React
  • Easy access. You know JS? You are pretty much there...
  • Great community
  • Unopinionated
  • JSX can be messy
  • Unopinionated can result in a lack of structure. You are the captain!
Angular 2
  • Extremely structured
  • Good DI (makes everything more extensible, overridable and testable) > this is just an observation, test it out
  • Typescript
  • Extremely structured
  • Tough learning curve (a lot of internals and syntax to learn)
  • Really really (too) big package size! (TODO: see if tree shaking really helps)
  • Experimental annotations that will probably never end up in official ECMAScript specs are scary
  • Documentation is kindof messy (may need some getting use to)
Vue (*1)
  • Good learning curve
  • Very good community and documentation
  • Simple and clear syntax
  • Vue is not going for classes as component, not super important, just a bit sad. (*2)
Riotjs
  • Simple and clear syntax
  • Good documentation
  • Component declaration is a bit chaotic, throwing classes and variables in the global scope. It relies a lot on its internal parsing which is not obvious when you look at the code and therefore it kinda looks weird.
Aurelia
  • I was interrested by Aurelia so I tried to set it up with the usual Webpack but no... There is stuff developped to make it possible but this is all too complicated just to setup the Framework. To be continued...

(1) Basically, AngularJS and React child
(2) It is possible using vue-class-component but it uses experimental annotations like Angular 2.

How to use

You need npm v3.

npm install

Commands:

  • npm run angular2
  • npm run riot
  • npm run vue
  • npm run react

The servers run on the port 8080.

About


Languages

Language:JavaScript 49.3%Language:HTML 21.4%Language:TypeScript 19.7%Language:Vue 8.5%Language:CSS 1.0%