WebApps e Frameworks Javascript por Henrique Netto
Javascript
Aprenda Javascript em 10 dias.
Funcional, Prototipado, e outras coisas
function Account(name) { this.id = this.generateId(); this.name = name; }
function Account(name) { this.id = this.generateId(); this.name = name; } construtor
function Account(name) { this.id = this.generateId(); this.name = name; } construtor Account.prototype .generateId = function () { return parseInt( Math.random() * 100 ); };
function Account(name) { this.id = this.generateId(); this.name = name; } construtor Account.prototype .generateId = function () { return parseInt( Math.random() * 100 ); }; métodos da classe
function Account(name) { this.id = this.generateId(); this.name = name; } construtor Account.prototype .generateId = function () { return parseInt( Math.random() * 100 ); }; métodos da classe var account = new Account('Netto');
A WEB evoluiu.
Normalização por código
Normalização por código
Bibliotecas Javascript
AccDC Foobar.js MooTools Spry framework AJS FUEL My Library Sylvester Ally FuncJS Nano SWFObject Ample SDK Glow Node.js Taffy DB AmplifyJS Google Closure Library Pdf.js Three.js AngularJS Google Web Toolkit PlotKit typeface.js Artisan JS iX Framework Plum.js Underscore.js Banana Banana JS Jelly PottisJS Uize uize.com Backbone.js Joose Processing.js Wakanda Framework Blackbird jQuery Prototype Wijmo Cappuccino jQuery UI Protovis X Library Clean AJAX jQWidgets PURE YUI Library cufón JayData Qfox Zeleos web toolkit CupQ jsDraw2D qooxdoo Zreshk D3js jsPHP QuipoJS Datejs JuiceUI Raphaël DHTMLX JWee JavaScript Rialto Toolkit Dojo Toolkit Toolkit Rico Draw2D Kendo UI RSence Ember.js Knockout scaleApp EaselJS List.js Script.aculo.us Echo Lively Kernel SmartClient Enyo localStorageDB Socket.io Ext JS Microsoft's Ajax library SoundManager 2 Flot midori Spark Fly.js Mochikit SproutCore
Complexidade
Model View Controller (1978)
Model View Presenter (1990)
Web Model View Controller
<HTML>
Model View ViewModel (2006)
Model View *
{ "id": 25, "name": "James", "state": "active" }
{ "id": 25, "name": "James", "state": "active" } <div id="user-25" class="active"> <span class="name">James</span> </div>
{ "id": 25, "name": "James", "state": "active" } <div id="user-25" class="active"> <span class="name">James</span> </div>
{ "id": 25, "name": "James", "state": "active" } <div id="user-25" class="active"> <span class="name">James</span> </div>
{ "id": 25, "name": "James", "state": "active" } <div id="user-25" class="active"> <span class="name">James</span> </div>
{ "id": 25, "name": "James", "state": "active" } <div id="user-25" class="active"> <span class="name">James</span> </div>
Quando usar?
URL
URL
URL Controle de Histórico app#view app/view (html5)
create POST read GET update PUT delete DELETE
Spine Knockback.js
Reflexão
Spine
Como escolher?
TodoMVC
Quais pontos analisar?
Capacidades Usado em Produção Documentação Comunidade Não-intrusivo
Aplicações WEB são a soma de pequenos componentes.
microjs 140byt.es
Usar MVC client-side gera 2 code bases
Common JS
NodeJS
Meteor
É saudável essa quantidade de frameworks?
Obrigado

WebApps e Frameworks Javascript