How can we make
web app development
more compelling?
Slide 20
Slide 20 text
How can we make
web app development
easier?
Slide 21
Slide 21 text
How can we make
web app development
faster?
Slide 22
Slide 22 text
Let’s look at our stack.
Slide 23
Slide 23 text
1. JavaScript
2. HTML
3. CSS
Slide 24
Slide 24 text
1. Objective-C
Slide 25
Slide 25 text
1. Java
Slide 26
Slide 26 text
1. JavaScript
2. HTML
3. CSS
Slide 27
Slide 27 text
HTML and CSS
are the
best/worst
thing about
the web.
/best
Slide 28
Slide 28 text
Standard
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
✔ Standard
Slide 32
Slide 32 text
✔ Standard
Declarative
Slide 33
Slide 33 text
No content
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
No content
Slide 36
Slide 36 text
✔ Standard
Declarative
Slide 37
Slide 37 text
✔ Standard
Declarative
✔
Slide 38
Slide 38 text
✔ Standard
Declarative
JavaScript
✔
Slide 39
Slide 39 text
✔
✘
Standard
Declarative
JavaScript
✔
Slide 40
Slide 40 text
✔
✘
Standard
Declarative
✔
Dynamic
Slide 41
Slide 41 text
CSS
isn’t powerful enough.
Slide 42
Slide 42 text
so we pre-process.
Slide 43
Slide 43 text
Variables
Mixins
Functions
Nested style
Slide 44
Slide 44 text
Variables
Mixins
Functions
Nested style
Slide 45
Slide 45 text
No content
Slide 46
Slide 46 text
No content
Slide 47
Slide 47 text
but...
Slide 48
Slide 48 text
No content
Slide 49
Slide 49 text
HTML
isn’t powerful enough.
Slide 50
Slide 50 text
so we template.
Slide 51
Slide 51 text
No content
Slide 52
Slide 52 text
uritemplate An UriTemplate implementation of rfc 6570
url-template
utc Simple underscore.js template compiler.
utml Express compliant templating for underscore.js
vacuum Clean streamed templates (primarily for HTML)
vash Razor syntax templates, for JS
velocity.js Velocity Template Language(VTL) for JavaScript
vie Editable RDFa with Backbone.js and JSON-LD
view-test view-test allows you to easily test Jade and EJS templates
views Views registry and rendering
walrus A bolder kind of mustache.
web2splash A PhoneGap splash screen generator using an HTML document
weber A tool for compiling scripts, stylesheets and templates wh
webfiller Webfiller puts data and styling into Web pages on the serv
webhook-templates Dust.js templates for webhook payloads
weld Template antimatter for javascript
wings Templating library that works on the server and client clo
wintersmith-nunjucks Nunjucks templates for Wintersmith
woot Quickly create new projects based on custom templates
xjs A templating language for node.js using xml and javascript
xjst XSLT inspired JavaScript templates (with spices)
xmlb XML builder templates for Node.js.
xsl2yate converts xsl templates to yate
yajet Template engine forked from http://www.yajet.net/
yate Yet Another Template Engine
yatl JSON-based template engine
yhandlebars Command line tool to precompile Handlebars templates as YU
yui3boiler simple utility to initialize module source directory struc
zappajs-template A working ZappaJS server with useful templates
zeke a plug-able coffeescript template generator
A ABBR ACRONYM ADDRESS AREA ARTICLE ASIDE
AUDIO B BDI BDO BIG BLOCKQUOTE BODY BR BUTTON
CANVAS CAPTION CITE CODE COL COLGROUP COMMAND
DATALIST DD DEL DETAILS DFN DIV DL DT EM
EMBED FIELDSET FIGCAPTION FIGURE FOOTER FORM
FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HEADER
HGROUP HR HTML I IFRAME IMG INPUT INS KBD
KEYGEN LABEL LEGEND LI LINK MAP MARK META
METER NAV NOSCRIPT OBJECT OL OPTGROUP OPTION
OUTPUT P PARAM PRE PROGRESS Q RP RT RUBY SAMP
SCRIPT SECTION SELECT SMALL SOURCE SPAN SPLIT
STRONG STYLE SUB SUMMARY SUP TABLE TBODY TD
TEXTAREA TFOOT TH THEAD TIME TITLE TR TRACK
TT UL VAR VIDEO WBR
If we are willing
to let go of the
surface syntax of
HTML and CSS...
Slide 124
Slide 124 text
we can now:
Slide 125
Slide 125 text
1. Reduce our exposure to XSS attacks
2. Eliminate a separate compile step
3. Write our DOM code where it makes sense
4. Use JavaScript syntax everywhere
5. Decouple our syntax sugar
6. Reduce the number of moving parts
7. Reuse existing infrastructure
8. Lessen the burden of context switching