Embedjs

1,172 views
1,145 views

Published on

Slides from my talk about EmbedJS at HH.js

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,172
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Embedjs

  1. 1. EmbedJS The Toolkit. The Philosophy. Jens Arps uxebu
  2. 2. We open the mobile web.
  3. 3. EmbedJS (Based on the Dojo Toolkit)
  4. 4. JS capable devices… …and there will be more to embed JavaScript on.
  5. 5. http://www.flickr.com/photos/tacoekkel/25538919/ The Approach Take your library apart to reconstruct it as needed
  6. 6. ZOMG!! Why?!?
  7. 7. No code branching at runtime.
  8. 8. 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
  9. 9. Highly flexible build system.
  10. 10. 2) Highly flexible 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!
  11. 11. Highly maintainable codebase.
  12. 12. 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 fix. • 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.
  13. 13. What did this do to EmbedJS?
  14. 14. • 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
  15. 15. Issues?
  16. 16. Let‘s look at some code.
  17. 17. Thanks! @embedjs http://github.com/uxebu/embedjs @uxebu http://uxebu.com @jensarps http://jensarps.de

×