Este.jsrobust, modular, comfortable       ... about Este.js dev stack     daniel@steigerwald.cz      javascript-skoleni.cz
What Este.js is?●   statically compiled CoffeeScript●   Google Closure Library●   Mocha tests●   Stylus styles●   Soy temp...
JargonPackage Manager: Fetch scripts from onlinesources like GitHub, taking dependencies intoaccount.Task Runner: Build to...
How to orchestrate so many things?Versioning, automatizations, configurations,boilerplates, reusability...Make your own de...
Este.js dev stack consists of:● github.com/steida/este-library  ○ JavaScript library, all reusable code is here.● github.c...
Bower - package managergithub.com/twitter/bowersindresorhus.com/bower-components●   generic and unopinionated●   for front...
Bower - package managerbower   install   jquerybower   install   git://github.com/components/jquery.gitbower   install   c...
Bower - package managerHow is this better than curl?● similar API as NPM● simple and cross-platform● semver.org and tags
Grunt.js - task runnergruntjs.comgruntjs.com/plugins●   over 400 plugins●   tasks and targets●   synchronous globbing●   a...
Grunt.js - task runnerHow is this better than make?● simple and cross-platform (again)● familiar api for all plugins, a lo...
Module Loaders● CommonJS● AMD● many different/mixed implementations  ○   Google Closure deps.js  ○   browserify.org  ○   g...
TJ Holowaychuk: Componentgithub.com/component/componentcomponent.io● death to monolithic libraries, granularity!● both pac...
Summary● we live in interesting times● there are a lot of other approaches   ○   AngularJS   ○   Sencha   ○   Dojo   ○   a...
Questions?daniel@steigerwald.cz javascript-skoleni.cz
Upcoming SlideShare
Loading in …5
×

Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komfortně

1,891 views
1,707 views

Published on

Google je firma, která tvoří asi nejvíce webových aplikací a zaměstnává nejvíce webových vývojářů. Ti už mnoho let používají framework Google Closure. Este.js je framework nad Google Closure postavený, který už několik let používám k vývoji všech možných webových aplikací, ale také sada open source nástrojů, které se vám vyplatí znát a používat, i když vaše srdce tíhne k jQuery. Dozvíte se také, jak řídit závislosti a verze (package management), k čemu jsou dobré moduly, a jak mít maximálně automatizovaný a komfortní dev stack pro vývoj webových aplikací hodný roku 2013.

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,891
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komfortně

  1. 1. Este.jsrobust, modular, comfortable ... about Este.js dev stack daniel@steigerwald.cz javascript-skoleni.cz
  2. 2. What Este.js is?● statically compiled CoffeeScript● Google Closure Library● Mocha tests● Stylus styles● Soy templates● Este.js library ○ MVC framework ○ quite a lot useful classes● simple server for development● settings and snippets for Sublime Text● (Im sure I forgot something.)
  3. 3. JargonPackage Manager: Fetch scripts from onlinesources like GitHub, taking dependencies intoaccount.Task Runner: Build tool, combines scripts andother assets together into something usable bybrowsers.Module Loader: A way to programmaticallyload scripts when they are needed.
  4. 4. How to orchestrate so many things?Versioning, automatizations, configurations,boilerplates, reusability...Make your own dev stack. Done.
  5. 5. Este.js dev stack consists of:● github.com/steida/este-library ○ JavaScript library, all reusable code is here.● github.com/steida/grunt-este ○ several tasks for Grunt.js (task runnerl)● github.com/steida/este ○ application boilerplate ○ /Gruntfile.js/coffee (task runner configuration) ○ /bower.json (package manager) ○ /package.json (package manager)
  6. 6. Bower - package managergithub.com/twitter/bowersindresorhus.com/bower-components● generic and unopinionated● for frontend (NPM is for backend)● over 1000 components● dont store packages in your repository!● learn semver.org● use tags (and tilde, e.g. ~0.4.0)
  7. 7. Bower - package managerbower install jquerybower install git://github.com/components/jquery.gitbower install components/jquery (same as above)bower install http://foo.com/jquery.awesome-plugin.jsbower install ./repos/jquerybower install jquery#1.8.1bower install components/jquery.git#~1.8.1bower install components/jquery#1.8.xbower install git@github.com:user/private-package.gitbower list
  8. 8. Bower - package managerHow is this better than curl?● similar API as NPM● simple and cross-platform● semver.org and tags
  9. 9. Grunt.js - task runnergruntjs.comgruntjs.com/plugins● over 400 plugins● tasks and targets● synchronous globbing● async queue
  10. 10. Grunt.js - task runnerHow is this better than make?● simple and cross-platform (again)● familiar api for all plugins, a lot of helpers● you can reuse your knowledge of JavaScript and Node.js● goto previous slide :)
  11. 11. Module Loaders● CommonJS● AMD● many different/mixed implementations ○ Google Closure deps.js ○ browserify.org ○ github.com/component/component ○ and more...
  12. 12. TJ Holowaychuk: Componentgithub.com/component/componentcomponent.io● death to monolithic libraries, granularity!● both package control and module loader● hundreds components yetBower is for existing libs while Component isfor creating small new ones for the purpose.
  13. 13. Summary● we live in interesting times● there are a lot of other approaches ○ AngularJS ○ Sencha ○ Dojo ○ almost-dead libraries like Mootools...Everything in life is a trade-off.
  14. 14. Questions?daniel@steigerwald.cz javascript-skoleni.cz

×