Robust and comfortable dev stack for web app development.
I believe static typing makes code more robust and readable while CoffeeScrips makes code more concise. I designed Este MVC with touch devices and good UX in mind. I prefer Closure Library, it's huge, mature, and well written. Closure Compiler extraordinery level of minification is win for mobile apps. Facebook React is brilliant for building dynamic UI's. Polymer PointerGestures rocks. Unit tests must be light-fast and automatic. Well tunned dev stack is important. And more.
- statically compiled JavaScript or CoffeeScript
- desktop, tablet, mobile supported
- pure client side technology, any backend is supported
- powerful development stack build on top of gruntjs.com
- grunt-este
- fast file watcher without pooling and with LiveReload
- Este library
- Este App MVC framework
- UI components and other handy stuff
- TDD ready, fast unit testing via Mocha
- great internalization and strings localizations support
- snippets and settings for SublimeText
- server Express App boilerplate
- third parties:
- watch changes, check syntax, and compile
- CoffeeScript
- Stylus
- Closure Templates
- run very fast unit tests immediately after file save
- calculate and resolve module dependencies
- extract and inject strings for localizations
- run development server
- join and minify css
- compile JavaScript
- update running app styles without browser reload (LiveReload)
- reload browser and server when needed
- prepare app for production
Node.js is required. Ensure also you have grunt-cli
and bower
installed.
npm install -g grunt-cli
npm install -g bower
- install Java and Python 2 (Python 3 does not work)
- set environment variables for Python and Java
- http://docs.python.org/using/windows.html#excursus-setting-environment-variables
git clone https://github.com/steida/este.git este-app
cd este-app
npm install
bower install
- run
grunt
- point your browser to localhost:8000
- build something beautiful
Take a look at project structure. server
directory contains server-side backend code, in this case
it's Node.js Express server, but we can use any backend of course. Este is client-side technology
and it's possible to create Este app that don't require any backend at all.
client
directory contains client-side apps. By default, only app
is needed. But it's not rare that
our project needs several separated sub-projects, for example: site
, app
, administration
.
Take a look at app entry point start.coffee, check Este demos or TodoMVC demo. Learn from well documented source code and demos.
Start development. Build app, run development stack.
grunt
Start development in stage mode. Styles are minified and scripts are compiled.
grunt --stage
Build app. Useful for continuous integration.
grunt build
or grunt build --stage
Run development stack. Useful to skip building phase.
grunt run
or grunt run --stage
Debug makes compiled scripts readable.
grunt build --stage=debug
Extract messages for localization.
grunt esteExtractMessages
Compile project with localized messages.
grunt esteBuilder:appLocalized
Recommended Editor: Sublime Text
Must-have Packages
- Sublime Package Control (read instructions)
- CoffeeScript
- Stylus
- github.com/anvie/SoyTemplate (read instructions)
- Clipboard History
- JsFormat
- EditorConfig
My Sublime Text settings and snippets. Code snippets cheat sheet.
- watch github.com/steida/este-library for updates
- learn
npm link
andbower link
and use it with your npm modules and bower libraries - learn
bower link
and keep youreste-library
fresh
Copyright (c) 2013 Daniel Steigerwald
Licensed under the MIT license.