var page = Framework.createPage({ 'type': 'home', 'visible': true });
var page = Framework.createPage(); page .loadTemplate('home.html') .appendToDOM();
App.Router.map(function() { this.resource('posts', function() { this.route('new'); }); });
var DocumentView = Backbone.View.extend({ 'tagName': 'li', 'events': { 'mouseover .title .date': 'showTooltip', 'click .open': 'render' }, 'render': function() { β¦ }, 'showTooltip': function() { β¦ } });
function ViewModel(first, last) { this.firstName = ko.observable(first); this.lastName = ko.observable(last); } ko.applyBindings(new ViewModel("", ""))
function TodoCtrl($scope) { $scope.todos = [ { 'text': ' angular', 'done': true }, { 'text': ' angular', 'done': false } ]; }
var Framework = { 'el': null, 'setElement': function(el) { this.el = el; return this; }, 'update': function(list) { var str = '<ul>'; for (var i = 0; i < list.length; i++) { var li = document.createElement('li'); li.textContent = list[i]; str += li.outerHTML; } str += '</ul>'; this.el.innerHTML = str; return this; } }
Framework .setElement(document.querySelector('.content')) .update(['JavaScript', '', '']);
document.querySelector('a').addEventListener('click', function() { Framework.update(['', '', '']); });
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
. , . , β setElement:
setElement: function(el) { this.list = document.createElement('ul'); el.appendChild(this.list); return this; }
. .
, , update:
'update': function(list) { for (var i = 0; i < list.length; i++) { if (!this.rows[i]) { var row = document.createElement('LI'); row.textContent = list[i]; this.rows[i] = row; this.list.appendChild(row); } else if (this.rows[i].textContent !== list[i]) { this.rows[i].textContent = list[i]; } } if (list.length < this.rows.length) { for (var i = list.length; i < this.rows.length; i++) { if (this.rows[i] !== false) { this.list.removeChild(this.rows[i]); this.rows[i] = false; } } } return this; }
for . this.rows . , textContent. , , .
:
.
React DOM. . .
, .
DOM
JavaScript DOM. , . Backbone.js, :
var Navigation = Backbone.View.extend({ 'events': { 'click .header.menu': 'toggleMenu' }, 'toggleMenu': function() { // β¦ } });
, .header.menu, , . , DOM. .menu. .main-menu, JS-. , , DOM.
, JS. β DOM, HTML.
AngularJS:
<a href="#" ng-click="go()"> </a>
go - , . DOM. HTML. DOM.
HTML. (HMTL) (JS). , . :
<div onclick="javascript:App.doSomething(this);"> </div>
, . :
<div data-component="slideshow" data-items="5" data-select="dispatch:selected"> β¦ </div>
HTML, .
. . β . . , " ". , .
RequireJS β . , , :
require(['ajax', 'router'], function(ajax, router) { // β¦ });
ajax router. require . router :
// router.js define(['jquery'], function($) { return { 'apiMethod': function() { // β¦ } } });
β jQuery. , API β , , .
AngularJS factory (). , :
myModule.factory('greeter', function($window) { return { 'greet': function(text) { alert(text); } }; }); function MyController($scope, greeter) { $scope.sayHello = function() { greeter.greet(' !'); }; }
β require . .
. , . . , :
var router:<inject:Router>;
, . RequireJS AngularJS , , , .
HTML. ? .
<script type="text/x-handlebars"> Hello, <strong> </strong>! </script>
HTML, , .
Ajax
Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } });
HTML- . HTTP-, .
β DOM. HTML , HTTP-, .
JavaScript
var HelloMessage = React.createClass({ render: function() { // JS: return <div>, {this.props.name}</div>; } });
React, , .
-HTML
HTML. JSON YAML.
? . . HTML- . DOM. , .
AngularJS . . . β HTML, AngularJS . , Object.observe , .
. - , . , , , . , , YUI, . JS-, .
"". . β , . .
, . . , . , .
API
API , . . - , , :
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'addRoute': function(path) { var rData = router.resolve(path); var controller = factory.get(rData.controllerType); router.register(path, controller.handler); return controller; } } }; var AboutCtrl = Framework.addRoute('/about');
. , . URK, . , , URL? ? API.
:
var Framework = function() { var router = new Router(); var factory = new ControllerFactory(); return { 'createController': function(path) { var rData = router.resolve(path); return factory.get(rData.controllerType); } 'addRoute': function(path, handler) { router.register(path, handler); } } } var AboutCtrl = Framework.createController({ 'type': 'about' }); Framework.addRoute('/about', AboutCtrl.handler);
, β , . , . , - . API , , . , , . , , .
, , . . , - , . . , , .. β TDD.
, , . , . , β , .
. . Travis. , , .
c PHP, WordPress. β ? β . - . JS- β . , , .
. β , . . β .
:
. . , β . , β . API. . , , . . . , , , . , .
, . , JavaScript.
Source: https://habr.com/ru/post/259279/