ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
EmbedJS
The Toolkit. The Philosophy.
Jens Arps
uxebu
We open the mobile web.
EmbedJS
(Based on the Dojo Toolkit)
JS capable devices¡­
¡­and there will be more
to embed JavaScript on.
http://www.?ickr.com/photos/tacoekkel/25538919/
The Approach
Take your library apart
to reconstruct it as needed
ZOMG!! Why?!?
No code branching at
runtime.
1) No code branching at runtime.
How?
Why?
? Features have different implementations.
?You wouldn¡®t want to ship a car w/ a fuel tank and a battery if
you only need one of them.
? Ship no useless code.
? Don¡®t waste computing power on runtime branching.
Feature: energyDepot
Implementations: fuelTank, battery
Highly ?exible build
system.
2) Highly ?exible build system.
How?
Why?
? Features are as small as possible/reasonable.
? Dependencies are declared in a implementaion =>
feature way.
? Ship only what you need!!You don¡®t need a certain feature for
your project? Don¡®t ship it!
Highly maintainable
codebase.
3) Highly maintainable codebase.
How?
Why?
? Coder is forced to separate semantically different code.
? Errors in one implementation do not affect another impl.
? Small features make errors easy to isolate.
? Self-contained features make erros easier to ?x.
? Other coders can easily join in on a project.
? Features are as small as possible/reasonable.
? Features are semantically meaningful units.
? Features are as self-contained as possible.
What did this do to
EmbedJS?
? A very selective API (a cherry-picked ~70
methods @ < 25k, unzipped).
? Implementations for every feature for
almost every possible platform. *)
? A simple-to-use but highly effectve build
tool (that you can use for your own
projects, too).
? The possibility to create a unique custom
build for your project - in seconds.
? The possibility for you to extend EmbedJS
with the features/platforms you want.
The tools: https://github.com/uxebu/embedjs-tools
Issues?
Let¡®s look at some
code.
Thanks!
@embedjs
http://github.com/uxebu/embedjs
@uxebu
http://uxebu.com
@jensarps
http://jensarps.de

More Related Content

Embedjs