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.
- desktop, tablet, mobile supported
- pure client side, backend agnostic
- powerful development stack build on top of gruntjs.com
- 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:
- support for server side Closure and React rendering
- watch changes, check syntax, and compile
- 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
- update running app styles without browser reload (LiveReload)
- reload browser and server when needed
- prepare app for production
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
git clone https://github.com/steida/este.git este-app cd este-app npm install bower install
- 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:
Start development. Build app, run development stack.
Start development in stage mode. Styles are minified and scripts are compiled.
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.
Compile project with localized messages.
Recommended Editor: Sublime Text
- Sublime Package Control (read instructions)
- github.com/anvie/SoyTemplate (read instructions)
- watch github.com/steida/este-library for updates
bower linkand use it with your npm modules and bower libraries
bower linkand keep your
Copyright (c) 2013 Daniel Steigerwald
Licensed under the MIT license.