Compare JavaScript Frameworks. Please share your knowledge!
JavaScript Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
service
src
vendor
.gitignore
README.md
package.json

README.md

JS Framework Playground

Goals

The main goal of this project is to try various frontend JS frameworks, and get a feeling for what can be accomplished with any framework in areas, including:

  • Developer experience & learning curve
  • Framework best practices
  • Testability
  • Tooling & Workflow
  • Device & Browser support
  • Performance
    • Footprint/size/boot
    • Play well with server-side rendering
    • Lazy-load modules
  • Accessibility
  • Web Components integration
  • Support for "offline first" apps
  • Support for responsive and "mobile first" apps

If a framework doesn't support something out of the box, a sensible solution will be used (e.g. standard plugin, add-on, etc), e.g. for templating, routing, Ajax.

Frameworks

Framework Setup Render List Use XHR/API Routing CRUD Tests
Angular ✔︎ ✔︎ ✔︎ ✔︎
Backbone ✔︎ ✔︎ ✔︎ ✔︎ ✔︎
Ember (CLI) ✔︎ ✔︎ ✔︎ ✔︎
React + Flux ✔︎ ✔︎ ✔︎ ✔︎ ✔︎
Vue.js ✔︎ ✔︎ ✔︎ ✔︎

Possible additions:

  • Polymer
  • Ampersand.js

Application

The application consists of a main "Contact List" module, which has an initial view of contacts and has CRUD features. Additionally there is a "breadcrumbs" Web Component (shared across the apps).

The apps are using an actual endpoint (example), but this API is a dummy, read-only server (using dyson).

Installation

git clone https://github.com/webpro/frameground.git
cd frameground
npm install

Angular

No installation needed, just point a webserver somewhere at localhost.

Backbone, React+Flux, Vue

cd src/backbone # Or src/react etc.
npm install
npm start

Point a webserver somewhere at localhost.

Ember

You'll need to have Ember CLI installed (npm install -g ember-cli).

cd src/ember
npm install
bower install
npm start

The application runs at localhost:4200.

Running instances

You can also run the hosted applications:

License

MIT