Slide 1

Slide 1 text

JavaScript ... for the rest of us!

Slide 2

Slide 2 text

Why the hype about JavaScript? ● Web Application Distributed Processing ● Face the Server Side Development Approach ● Improve Web User Experience ● Browsers War's Protagonist

Slide 3

Slide 3 text

... but at early stages was JavaScript a document.getElementById based language?

Slide 4

Slide 4 text

JavaScript Designed to be a procedural programming language!

Slide 5

Slide 5 text

Procedural Programming... simply contain a series of computational steps to be carried out.

Slide 6

Slide 6 text

JavaScript ... but it also have structs like C programming language!

Slide 7

Slide 7 text

OKAY I'M IMPRESSED.

Slide 8

Slide 8 text

BUT WAIT! JavaScript can also provide a powerful a OOP programming environment!

Slide 9

Slide 9 text

NOW I'M CONFUSED! ¬¬

Slide 10

Slide 10 text

The world needs heroes to bring JavaScript to "braços da galera"

Slide 11

Slide 11 text

Today Heroes ● jQuery ( 2006 ) ● MooTools ( 2006 ) ● YUI ( 2006 ) ● Dojo Toolkit ( 2004 ) ● ExtJS ( 2007 ) ● ActiveWidgets ( 2004/5 ) ● Prototype ● Scriptaculous ● ... other thousands implementations.

Slide 12

Slide 12 text

JavaScript Structures... ...are also known as JavaScript Objects, writen in JavaScript Object Notations (JSON).

Slide 13

Slide 13 text

JavaScript Classes... ...are any callable functions.

Slide 14

Slide 14 text

Its variables... ... are always a reference to a memory instantiated object.

Slide 15

Slide 15 text

When everything is reference... ... data integrity inside application can be a little odd.

Slide 16

Slide 16 text

As Procedural Programming... ...JavaScript functions have no maintainer class, no parent class... nothing but a code stack!

Slide 17

Slide 17 text

Buzzword CLOSURE

Slide 18

Slide 18 text

Closure NOT JUST A TECHNIQUE, BUT A GOOD PRACTICE

Slide 19

Slide 19 text

Default API ● Window public functions ● Array, String, Boolean, RegExp, Function, Date, Object... ● Some Browsers specific classes ● DOM Layer 1 ● DOM Layer 2

Slide 20

Slide 20 text

By default we got no ● Scope namespaces / packages ● No simple class implementations ● No threads ● No event driven architecture ● ... just a low level API to handle browsers' things.

Slide 21

Slide 21 text

Frameworks? WHEN YOU NEED TO WORK WITH ONE OF THAT FEATURES, YOU BETTER FIND A FRAMEWORK.

Slide 22

Slide 22 text

THE END JAVASCRIPT BECOME MORE SIMPLER WHEN YOU KNOW HOW IT WAS DESIGNED. Autor: Miere Teixeira E-mail: [email protected] / [email protected] Twitter: @miere