Skip to content
/ este Public
forked from este/este

Robust and comfortable dev stack for isomorphic web apps

Notifications You must be signed in to change notification settings

defidavid/este

 
 

Repository files navigation

Techniques

  • ES6 and other future JavaScripts dialects with the best transpiler babeljs.io. JSX and Flowtype syntax supported as well. Sourcemaps enabled by default.
  • React with Flux with immutable global app state.
  • Stateless actions and stores.
  • Vanilla Flux, we don't need over abstracted frameworks.
  • Webpack css livereload with hot module reload even for React components.
  • Easy undo/redo and app state load/save.
  • Super fast rendering with immutable.js.
  • Well tuned webpack devstack with handy notifier.
  • Stylesheets in CSS, LESS, SASS or Stylus.
  • Optimized for critical rendering path.

Prerequisites

Install iojs or node.js. Then install gulp.js.

npm install -g gulp

Create App

git clone https://github.com/spredfast/reactstarter.git myapp
cd myapp
npm install

Start Development

Dev Tasks

  • gulp run app in development mode
  • gulp -p run app in production mode
  • gulp test

CI Tasks

  • npm start just run app, remember to set NODE_ENV=production and others enviroment variables.
  • npm postinstall just alias for gulp build --production, useful for Heroku.
  • npm test just alias for gulp test

Documentation

Code is documentation itself as it illustrates various patterns, but for start you should read something about React.js. Then you should learn what is the Flux application architecture. Now refresh you JavaScript knowledge about "new" JavaScript - learn ES6. This stack uses immutable.js and for a good reason. Check this nice short [video](https://www.youtube.com/watch?v=5yHFTN-_mOo Ok, Server side you.http://expressjs.com/), to see one of many great advantages of functional programming.

Links

Tips

  • App state snapshot: Press shift+ctrl+s, then open dev console and type _appState.
  • Use const by default, let if you have to rebind a variable.
  • Use () => lambda expression for all predicates and anonymous functions.

Credit

Forked: Daniel Steigerwald, https://github.com/steida/este

About

Robust and comfortable dev stack for isomorphic web apps

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 88.9%
  • CSS 8.1%
  • HTML 3.0%