SlideShare ist ein Scribd-Unternehmen logo
1 von 78
Downloaden Sie, um offline zu lesen
XFRAMEWORK
Creating totally responsive cross-platform web apps
@pukhalski
Ilya Pukhalski,
EPAM Mobile Competency Center,
British Higher School of Art & Design
The Problem
— Responsive Web Design is difficult to apply for web apps
— No truly cross-platform high-level frameworks on the market
share
— It's difficult to provide the necessary level of UX
for each of the platforms
5
+
The Idea
Desktop(
/index.html(
((Page(#1(
Component(#1( Component(#2(
Component(#3(
Component(#4(
Tablet'
/index.html'
''Page'#1'
Component'
#1'
Component'#2'
Component'#3'
''Page'#2'
Component'
#1'
Component'#2'
Component'#4'
Mobile'phone'
/index.html'
''Page'#1'
Component'#1'
Component'#2'
''Page'#2' ''Page'#3'
Component'#1'
Component'#3'
Component'#1'
Component'#4'
Assumptions
— In most cases, considering the device types, all the changes are
in layout
— Logic is just customizable
— User does not need everything from the start
— You can cheat user // Optimistic Interfaces
What if…
— Make modules (components) truly independent
— Load them lazily
— Choose the necessary template based on device type
— Customize logic of the component based on device type
The Magic
*
XF
Core Modules
Components
+ library of default abstract XF Components
UI Elements
+ set of predefined XF UI Elements
XF Module — a part of the framework,
e.g. xf.touch.js, xf.view.js, xf.router.js, etc.
!
All current modules are included in standard
build of XF. Not all modules are required.
XF Component — a building block of app
(~widget), that can be abstracted as an
independent unit and can be reused throughout
the app or even any other XF app.
!
Includes collection (w/ models) and view.
XF UI Element — a page element without any
data connection, e.g. button, range controller,
scrollable area, list, etc.
!
UI Elements have simplified markup, that is
parsed by XF to make them look and feel in the
proper way.
—Backbone.js
—Underscore.js / Lo-dash.js
—JQuery / Zepto
Dependencies
XF.CORE
— Lazy loading, registering and creation of components
— Event bus and proxy
— Getters/setters for component options
— Starting the app and initialization of other xf.modules
XF.MODULES
xf.jquery.hooks.js
var _oldshow = $.fn.show;
/** @ignore */
$.fn.show = function(speed, callback) {
var res = _oldshow.apply(this, arguments);
if ($(this).find('[data-component]').length)
XF.trigger('xf:loadChildComponents', this);
return res;
};
— Hooks that trigger loading of components when some area
become visible, e.g.:
xf.zepto.support.js
xf.device.js
— XF.Device.isMobile // yes, cannot skip this right away...
— XF.Device.size
— XF.Device.type
— XF.Device.supports: touchEvents, pointerEvents, cssAnimations
— …
XF.define(function () {
return new XF.App({
initialize: function() { },
!
device: {
types : [
{
name : 'tablet',
range : {
max : 1024,
min : 569
},
// near future `supports`
supports : ['cssAnimations'],
templatePath : 'tablet/',
defaultAnimation: 'fade'
},
!
xf.cache.js
— Bulletproof local/session storage proxy
— Caching of templates for faster access in the future
xf.settings.js
— Current app version
— Cache settings
— Component, data and templating settings
xf.touch.js
— Touch Events
— Pointer Events
— Mouse Events
— D-Pad Events*
— tap
— swipeLeſt/swipeRight
— swipeUp/swipeDown
xf.pages.js
— Page switching
— Page animations handling (w/ fallbacks to JS)
— Works together with router
div class=xf-page data-id=home…/div
XF.define(function () {
return new XF.App({
router: {
routes: {
'/': 'home'
},
!
home: function() {
// ...
}
},
xf.app.js
XF.define(function () {
return new XF.App({
initialize: function() { },
!
device: {
types : [
{
name : 'tablet',
range : {
max : 1024,
min : 569
},
// near future `supports`
supports : ['cssAnimations'],
templatePath : 'tablet/',
defaultAnimation: 'fade'
},
!
xf.router.js
xf.collection.js
xf.model.js
xf.view.js
XF.COMPONENTS
Structure
— HTML Placeholder
— Component “Class” (JS file)
— Device type dependent template
div data-component=componentClass
data-id=“componentID
!
This text is visible while component is loading
!
/div
div data-component=componentClass
data-id=componentID
data-device-type=desktop
!
This text is visible while component is loading
!
/div
XF.define('componentClassName', function () {
!
return XF.Component.extend({
Collection: XF.Collection.extend({
url: '/rest/cities'
}),
// View Class === XF.View by default
initialize: function() {
// do some stuff here
}
});
!
});
XF.define('componentClassName',
['collections/collectionClass',
'collections/viewClass'],
function (Collection, View) {
return XF.Component.extend({
Collection: Collection,
View: View,
initialize: function() {
// do some stuff here
}
});
});
Communication?
Q of deferred events
// if component is not loaded or constructed
// events will wait until it will be
!
XF.trigger('component:componentID:eventName');
!
XF.trigger('component:componentClass:eventName');
div data-component=componentClass data-id=componentID
script
XF.setOptionsByID('componentID', {foo: 'bar'});
/script
/div
components/componentClass.js
new ComponentClass(options);
tmpl/desktop/componentClass.tmpl
tmpl/mobile/componentClass.tmpl
// is visible
Nesting Templates
!-- DEVICE DEPENDENT STUFF --
div class=points
% for (var i = 0; i  options.points; i++) { %
img class=point src=img/point.png /
% } %
/div
!
!-- INCLUDING DESKTOP TEMPLATE --
template src=desktop/componentClass.tmpl
!
XF.UI
xf.ui.list.js
Write less…
ul data-role=listview
li data-role=dividerA/li
li
h2Header/h2
pNo link/p
/li
lia href=#Simple link/a/li
li data-role=dividerDivider/li
li
h2Header/h2
pHeader and description/p
/li
/ul
…do nothing
ul data-role=listview data-skip-enhance=true id=xf-8293 class=xf-listview
li class= xf-li xf-li-dividerA/li
li class=xf-li-static xf-li
div class=xf-li-wrap
h2 class=xf-li-headerHeader/h2
p class=xf-li-descNo link/p
/div
/li
li class= xf-li
a href=# class=xf-li-btn
Simple link
div class=xf-btn-text/div
/a
/li
li class= xf-li xf-li-dividerDivider/li
li class= xf-li
a href=# class=xf-li-btn
div class=xf-btn-text
h2 class=xf-li-headerHeader/h2
p class=xf-li-descHeader and description/p
/div
/a
/li
/ul
xf.ui.button.js
xf.ui.forms.js
xf.ui.list.js
xf.ui.dialog.js
...and many more
LESS is more
INFRASTRUCTURE
XF Development Kit
Make an app in 3 lines
npm install generator-xf
yo xf
yo xf:application init
Creating a custom XF build
yo xf:build [module1, module2, ..., moduleN]
Updating XF and dependencies
yo xf:update
Creating an app boilerplate
yo xf:application init [name]
Building a production app version
yo xf:application build
Social Infrastructure
Landing page
Human-readable documentation
GitHub
Other channels
@xframeworkjs
FUTURE
XF.Components ❤ Web Components
Open-source the idea, not the code
Port of XF idea to another frameworks
— xframeworkjs.org
— docs.xframeworkjs.org
— @xframeworkjs
XF.UI.dialog.show('Thanks!');

Weitere ähnliche Inhalte

Was ist angesagt?

Workshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General OverviewWorkshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General OverviewVisual Engineering
 
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...Sencha
 
Slim RedBeanPHP and Knockout
Slim RedBeanPHP and KnockoutSlim RedBeanPHP and Knockout
Slim RedBeanPHP and KnockoutVic Metcalfe
 
Creating REST Applications with the Slim Micro-Framework by Vikram Vaswani
Creating REST Applications with the Slim Micro-Framework by Vikram VaswaniCreating REST Applications with the Slim Micro-Framework by Vikram Vaswani
Creating REST Applications with the Slim Micro-Framework by Vikram Vaswanivvaswani
 
Building Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSAntonio Peric-Mazar
 
Roman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To ReasonRoman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To ReasonDevelcz
 
Symfony tips and tricks
Symfony tips and tricksSymfony tips and tricks
Symfony tips and tricksJavier Eguiluz
 
uRequire@greecejs: An introduction to http://uRequire.org
uRequire@greecejs: An introduction to http://uRequire.orguRequire@greecejs: An introduction to http://uRequire.org
uRequire@greecejs: An introduction to http://uRequire.orgAgelos Pikoulas
 
Backbone.js with React Views - Server Rendering, Virtual DOM, and More!
Backbone.js with React Views - Server Rendering, Virtual DOM, and More!Backbone.js with React Views - Server Rendering, Virtual DOM, and More!
Backbone.js with React Views - Server Rendering, Virtual DOM, and More!Ryan Roemer
 
Introduction to AngularJS For WordPress Developers
Introduction to AngularJS For WordPress DevelopersIntroduction to AngularJS For WordPress Developers
Introduction to AngularJS For WordPress DevelopersCaldera Labs
 
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeatureBlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeatureCocoaHeads France
 
Mojolicious, real-time web framework
Mojolicious, real-time web frameworkMojolicious, real-time web framework
Mojolicious, real-time web frameworktaggg
 
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...Caldera Labs
 
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...Arc & Codementor
 

Was ist angesagt? (20)

Expressjs
ExpressjsExpressjs
Expressjs
 
Workshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General OverviewWorkshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General Overview
 
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
 
Slim RedBeanPHP and Knockout
Slim RedBeanPHP and KnockoutSlim RedBeanPHP and Knockout
Slim RedBeanPHP and Knockout
 
Creating REST Applications with the Slim Micro-Framework by Vikram Vaswani
Creating REST Applications with the Slim Micro-Framework by Vikram VaswaniCreating REST Applications with the Slim Micro-Framework by Vikram Vaswani
Creating REST Applications with the Slim Micro-Framework by Vikram Vaswani
 
Ember - introduction
Ember - introductionEmber - introduction
Ember - introduction
 
Pyramid
PyramidPyramid
Pyramid
 
Symfony 2
Symfony 2Symfony 2
Symfony 2
 
Building Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJS
 
Roman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To ReasonRoman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To Reason
 
Symfony tips and tricks
Symfony tips and tricksSymfony tips and tricks
Symfony tips and tricks
 
Symfony2 and AngularJS
Symfony2 and AngularJSSymfony2 and AngularJS
Symfony2 and AngularJS
 
uRequire@greecejs: An introduction to http://uRequire.org
uRequire@greecejs: An introduction to http://uRequire.orguRequire@greecejs: An introduction to http://uRequire.org
uRequire@greecejs: An introduction to http://uRequire.org
 
Symfony tips and tricks
Symfony tips and tricksSymfony tips and tricks
Symfony tips and tricks
 
Backbone.js with React Views - Server Rendering, Virtual DOM, and More!
Backbone.js with React Views - Server Rendering, Virtual DOM, and More!Backbone.js with React Views - Server Rendering, Virtual DOM, and More!
Backbone.js with React Views - Server Rendering, Virtual DOM, and More!
 
Introduction to AngularJS For WordPress Developers
Introduction to AngularJS For WordPress DevelopersIntroduction to AngularJS For WordPress Developers
Introduction to AngularJS For WordPress Developers
 
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeatureBlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
 
Mojolicious, real-time web framework
Mojolicious, real-time web frameworkMojolicious, real-time web framework
Mojolicious, real-time web framework
 
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
 
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
 

Andere mochten auch

CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest
 
CodeFest 2014. Christopher Bennage — Semantic Logging. Avoiding the log chaos
CodeFest 2014. Christopher Bennage — Semantic Logging. Avoiding the log chaosCodeFest 2014. Christopher Bennage — Semantic Logging. Avoiding the log chaos
CodeFest 2014. Christopher Bennage — Semantic Logging. Avoiding the log chaosCodeFest
 
CodeFest 2012. Капустинский А. — Рецепт пробок от 2ГИС (блиц-доклад)
CodeFest 2012. Капустинский А. — Рецепт пробок от 2ГИС (блиц-доклад)CodeFest 2012. Капустинский А. — Рецепт пробок от 2ГИС (блиц-доклад)
CodeFest 2012. Капустинский А. — Рецепт пробок от 2ГИС (блиц-доклад)CodeFest
 
CodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процесс
CodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процессCodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процесс
CodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процессCodeFest
 
CodeFest, июль 2012. Бугаев Л. — Запуск продукта в мобильных технологиях
CodeFest, июль 2012. Бугаев Л. — Запуск продукта в мобильных технологияхCodeFest, июль 2012. Бугаев Л. — Запуск продукта в мобильных технологиях
CodeFest, июль 2012. Бугаев Л. — Запуск продукта в мобильных технологияхCodeFest
 
CodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджера
CodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджераCodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджера
CodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджераCodeFest
 
CodeFest, июль 2012. Бережной С. — Заказчик и исполнитель
CodeFest, июль 2012. Бережной С. — Заказчик и исполнительCodeFest, июль 2012. Бережной С. — Заказчик и исполнитель
CodeFest, июль 2012. Бережной С. — Заказчик и исполнительCodeFest
 
CodeFest 2014. Michael Yarichuk — Обзор новой версии базы данных RavenDB 3.0
CodeFest 2014. Michael Yarichuk — Обзор новой версии базы данных RavenDB 3.0CodeFest 2014. Michael Yarichuk — Обзор новой версии базы данных RavenDB 3.0
CodeFest 2014. Michael Yarichuk — Обзор новой версии базы данных RavenDB 3.0CodeFest
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest
 
CodeFest, июль 2012. — Селиховкин И. 3 счастливых ПМ-а
CodeFest, июль 2012. — Селиховкин И. 3 счастливых ПМ-аCodeFest, июль 2012. — Селиховкин И. 3 счастливых ПМ-а
CodeFest, июль 2012. — Селиховкин И. 3 счастливых ПМ-аCodeFest
 
CodeFest 2012. Зинченко Т. — Практики тест-дизайна: разделяй и властвуй!
CodeFest 2012. Зинченко Т. — Практики тест-дизайна: разделяй и властвуй!CodeFest 2012. Зинченко Т. — Практики тест-дизайна: разделяй и властвуй!
CodeFest 2012. Зинченко Т. — Практики тест-дизайна: разделяй и властвуй!CodeFest
 
CodeFest 2012. Фоминых С. — Passion inside или вдохновенно о выступлениях
CodeFest 2012. Фоминых С. — Passion inside или вдохновенно о выступленияхCodeFest 2012. Фоминых С. — Passion inside или вдохновенно о выступлениях
CodeFest 2012. Фоминых С. — Passion inside или вдохновенно о выступленияхCodeFest
 
CodeFest 2012. Щербакова А. — Поколение Y, или зачем нам все это нужно?
CodeFest 2012. Щербакова А. — Поколение Y, или зачем нам все это нужно?CodeFest 2012. Щербакова А. — Поколение Y, или зачем нам все это нужно?
CodeFest 2012. Щербакова А. — Поколение Y, или зачем нам все это нужно?CodeFest
 
CodeFest 2012. Зимин Д. — Сквозь мобильную ОСь
CodeFest 2012. Зимин Д. — Сквозь мобильную ОСьCodeFest 2012. Зимин Д. — Сквозь мобильную ОСь
CodeFest 2012. Зимин Д. — Сквозь мобильную ОСьCodeFest
 
CodeFest 2012. Гладкий Д. — Практика применения MPS на примере проекта «Mobil...
CodeFest 2012. Гладкий Д. — Практика применения MPS на примере проекта «Mobil...CodeFest 2012. Гладкий Д. — Практика применения MPS на примере проекта «Mobil...
CodeFest 2012. Гладкий Д. — Практика применения MPS на примере проекта «Mobil...CodeFest
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest
 
CodeFest 2012. Львова М. — Корпоративная культура — это про Любовь!
CodeFest 2012. Львова М. — Корпоративная культура — это про Любовь!CodeFest 2012. Львова М. — Корпоративная культура — это про Любовь!
CodeFest 2012. Львова М. — Корпоративная культура — это про Любовь!CodeFest
 
CodeFest 2014. Сибирев А. — Управление инфраструктурой под Cocaine
CodeFest 2014. Сибирев А. — Управление инфраструктурой под CocaineCodeFest 2014. Сибирев А. — Управление инфраструктурой под Cocaine
CodeFest 2014. Сибирев А. — Управление инфраструктурой под CocaineCodeFest
 
CodeFest 2014. Березкин М. — Задаём ритм продуктовой разработки
CodeFest 2014. Березкин М. — Задаём ритм продуктовой разработкиCodeFest 2014. Березкин М. — Задаём ритм продуктовой разработки
CodeFest 2014. Березкин М. — Задаём ритм продуктовой разработкиCodeFest
 

Andere mochten auch (19)

CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
 
CodeFest 2014. Christopher Bennage — Semantic Logging. Avoiding the log chaos
CodeFest 2014. Christopher Bennage — Semantic Logging. Avoiding the log chaosCodeFest 2014. Christopher Bennage — Semantic Logging. Avoiding the log chaos
CodeFest 2014. Christopher Bennage — Semantic Logging. Avoiding the log chaos
 
CodeFest 2012. Капустинский А. — Рецепт пробок от 2ГИС (блиц-доклад)
CodeFest 2012. Капустинский А. — Рецепт пробок от 2ГИС (блиц-доклад)CodeFest 2012. Капустинский А. — Рецепт пробок от 2ГИС (блиц-доклад)
CodeFest 2012. Капустинский А. — Рецепт пробок от 2ГИС (блиц-доклад)
 
CodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процесс
CodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процессCodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процесс
CodeFest 2012. Белов С. — Пентест на стероидах. Автоматизируем процесс
 
CodeFest, июль 2012. Бугаев Л. — Запуск продукта в мобильных технологиях
CodeFest, июль 2012. Бугаев Л. — Запуск продукта в мобильных технологияхCodeFest, июль 2012. Бугаев Л. — Запуск продукта в мобильных технологиях
CodeFest, июль 2012. Бугаев Л. — Запуск продукта в мобильных технологиях
 
CodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджера
CodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджераCodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджера
CodeFest 2014. Лысковский А. — Семь тезисов о карьере менеджера
 
CodeFest, июль 2012. Бережной С. — Заказчик и исполнитель
CodeFest, июль 2012. Бережной С. — Заказчик и исполнительCodeFest, июль 2012. Бережной С. — Заказчик и исполнитель
CodeFest, июль 2012. Бережной С. — Заказчик и исполнитель
 
CodeFest 2014. Michael Yarichuk — Обзор новой версии базы данных RavenDB 3.0
CodeFest 2014. Michael Yarichuk — Обзор новой версии базы данных RavenDB 3.0CodeFest 2014. Michael Yarichuk — Обзор новой версии базы данных RavenDB 3.0
CodeFest 2014. Michael Yarichuk — Обзор новой версии базы данных RavenDB 3.0
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
 
CodeFest, июль 2012. — Селиховкин И. 3 счастливых ПМ-а
CodeFest, июль 2012. — Селиховкин И. 3 счастливых ПМ-аCodeFest, июль 2012. — Селиховкин И. 3 счастливых ПМ-а
CodeFest, июль 2012. — Селиховкин И. 3 счастливых ПМ-а
 
CodeFest 2012. Зинченко Т. — Практики тест-дизайна: разделяй и властвуй!
CodeFest 2012. Зинченко Т. — Практики тест-дизайна: разделяй и властвуй!CodeFest 2012. Зинченко Т. — Практики тест-дизайна: разделяй и властвуй!
CodeFest 2012. Зинченко Т. — Практики тест-дизайна: разделяй и властвуй!
 
CodeFest 2012. Фоминых С. — Passion inside или вдохновенно о выступлениях
CodeFest 2012. Фоминых С. — Passion inside или вдохновенно о выступленияхCodeFest 2012. Фоминых С. — Passion inside или вдохновенно о выступлениях
CodeFest 2012. Фоминых С. — Passion inside или вдохновенно о выступлениях
 
CodeFest 2012. Щербакова А. — Поколение Y, или зачем нам все это нужно?
CodeFest 2012. Щербакова А. — Поколение Y, или зачем нам все это нужно?CodeFest 2012. Щербакова А. — Поколение Y, или зачем нам все это нужно?
CodeFest 2012. Щербакова А. — Поколение Y, или зачем нам все это нужно?
 
CodeFest 2012. Зимин Д. — Сквозь мобильную ОСь
CodeFest 2012. Зимин Д. — Сквозь мобильную ОСьCodeFest 2012. Зимин Д. — Сквозь мобильную ОСь
CodeFest 2012. Зимин Д. — Сквозь мобильную ОСь
 
CodeFest 2012. Гладкий Д. — Практика применения MPS на примере проекта «Mobil...
CodeFest 2012. Гладкий Д. — Практика применения MPS на примере проекта «Mobil...CodeFest 2012. Гладкий Д. — Практика применения MPS на примере проекта «Mobil...
CodeFest 2012. Гладкий Д. — Практика применения MPS на примере проекта «Mobil...
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
 
CodeFest 2012. Львова М. — Корпоративная культура — это про Любовь!
CodeFest 2012. Львова М. — Корпоративная культура — это про Любовь!CodeFest 2012. Львова М. — Корпоративная культура — это про Любовь!
CodeFest 2012. Львова М. — Корпоративная культура — это про Любовь!
 
CodeFest 2014. Сибирев А. — Управление инфраструктурой под Cocaine
CodeFest 2014. Сибирев А. — Управление инфраструктурой под CocaineCodeFest 2014. Сибирев А. — Управление инфраструктурой под Cocaine
CodeFest 2014. Сибирев А. — Управление инфраструктурой под Cocaine
 
CodeFest 2014. Березкин М. — Задаём ритм продуктовой разработки
CodeFest 2014. Березкин М. — Задаём ритм продуктовой разработкиCodeFest 2014. Березкин М. — Задаём ритм продуктовой разработки
CodeFest 2014. Березкин М. — Задаём ритм продуктовой разработки
 

Ähnlich wie CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложения

BlackBerry DevCon 2011 - PhoneGap and WebWorks
BlackBerry DevCon 2011 - PhoneGap and WebWorksBlackBerry DevCon 2011 - PhoneGap and WebWorks
BlackBerry DevCon 2011 - PhoneGap and WebWorksmwbrooks
 
Build Web Apps using Node.js
Build Web Apps using Node.jsBuild Web Apps using Node.js
Build Web Apps using Node.jsdavidchubbs
 
Full Stack Reactive In Practice
Full Stack Reactive In PracticeFull Stack Reactive In Practice
Full Stack Reactive In PracticeLightbend
 
Bundling Client Side Assets
Bundling Client Side AssetsBundling Client Side Assets
Bundling Client Side AssetsTimothy Oxley
 
OttawaJS - React
OttawaJS - ReactOttawaJS - React
OttawaJS - Reactrbl002
 
Understanding Framework Architecture using Eclipse
Understanding Framework Architecture using EclipseUnderstanding Framework Architecture using Eclipse
Understanding Framework Architecture using Eclipseanshunjain
 
Twanda.Malcolm12-6-16back.jpgTwanda.Malcolm12-6-16barchart.docx
Twanda.Malcolm12-6-16back.jpgTwanda.Malcolm12-6-16barchart.docxTwanda.Malcolm12-6-16back.jpgTwanda.Malcolm12-6-16barchart.docx
Twanda.Malcolm12-6-16back.jpgTwanda.Malcolm12-6-16barchart.docxmarilucorr
 
Easy deployment & management of cloud apps
Easy deployment & management of cloud appsEasy deployment & management of cloud apps
Easy deployment & management of cloud appsDavid Cunningham
 
Jsf2 composite-components
Jsf2 composite-componentsJsf2 composite-components
Jsf2 composite-componentsvinaysbk
 
Hooks and Events in Drupal 8
Hooks and Events in Drupal 8Hooks and Events in Drupal 8
Hooks and Events in Drupal 8Nida Ismail Shah
 
Introduction to nodejs
Introduction to nodejsIntroduction to nodejs
Introduction to nodejsJames Carr
 
JavaServer Faces 2.0 - JavaOne India 2011
JavaServer Faces 2.0 - JavaOne India 2011JavaServer Faces 2.0 - JavaOne India 2011
JavaServer Faces 2.0 - JavaOne India 2011Arun Gupta
 
Backbone.js and friends
Backbone.js and friendsBackbone.js and friends
Backbone.js and friendsGood Robot
 
Step By Step Guide For Buidling Simple Struts App
Step By Step Guide For Buidling Simple Struts AppStep By Step Guide For Buidling Simple Struts App
Step By Step Guide For Buidling Simple Struts AppSyed Shahul
 
Good karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaGood karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaExoLeaders.com
 

Ähnlich wie CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложения (20)

BlackBerry DevCon 2011 - PhoneGap and WebWorks
BlackBerry DevCon 2011 - PhoneGap and WebWorksBlackBerry DevCon 2011 - PhoneGap and WebWorks
BlackBerry DevCon 2011 - PhoneGap and WebWorks
 
Build Web Apps using Node.js
Build Web Apps using Node.jsBuild Web Apps using Node.js
Build Web Apps using Node.js
 
React native
React nativeReact native
React native
 
Full Stack Reactive In Practice
Full Stack Reactive In PracticeFull Stack Reactive In Practice
Full Stack Reactive In Practice
 
Bundling Client Side Assets
Bundling Client Side AssetsBundling Client Side Assets
Bundling Client Side Assets
 
ES6: The Awesome Parts
ES6: The Awesome PartsES6: The Awesome Parts
ES6: The Awesome Parts
 
OttawaJS - React
OttawaJS - ReactOttawaJS - React
OttawaJS - React
 
Understanding Framework Architecture using Eclipse
Understanding Framework Architecture using EclipseUnderstanding Framework Architecture using Eclipse
Understanding Framework Architecture using Eclipse
 
Twanda.Malcolm12-6-16back.jpgTwanda.Malcolm12-6-16barchart.docx
Twanda.Malcolm12-6-16back.jpgTwanda.Malcolm12-6-16barchart.docxTwanda.Malcolm12-6-16back.jpgTwanda.Malcolm12-6-16barchart.docx
Twanda.Malcolm12-6-16back.jpgTwanda.Malcolm12-6-16barchart.docx
 
Play framework
Play frameworkPlay framework
Play framework
 
Easy deployment & management of cloud apps
Easy deployment & management of cloud appsEasy deployment & management of cloud apps
Easy deployment & management of cloud apps
 
Jsf2 composite-components
Jsf2 composite-componentsJsf2 composite-components
Jsf2 composite-components
 
Hooks and Events in Drupal 8
Hooks and Events in Drupal 8Hooks and Events in Drupal 8
Hooks and Events in Drupal 8
 
Introduction to nodejs
Introduction to nodejsIntroduction to nodejs
Introduction to nodejs
 
React october2017
React october2017React october2017
React october2017
 
JavaServer Faces 2.0 - JavaOne India 2011
JavaServer Faces 2.0 - JavaOne India 2011JavaServer Faces 2.0 - JavaOne India 2011
JavaServer Faces 2.0 - JavaOne India 2011
 
Spine.js
Spine.jsSpine.js
Spine.js
 
Backbone.js and friends
Backbone.js and friendsBackbone.js and friends
Backbone.js and friends
 
Step By Step Guide For Buidling Simple Struts App
Step By Step Guide For Buidling Simple Struts AppStep By Step Guide For Buidling Simple Struts App
Step By Step Guide For Buidling Simple Struts App
 
Good karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaGood karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with Karma
 

Mehr von CodeFest

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита ПрокоповCodeFest
 
Денис Баталов
Денис БаталовДенис Баталов
Денис БаталовCodeFest
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена ГальцинаCodeFest
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр КалашниковCodeFest
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина ИвановаCodeFest
 
Marko Berković
Marko BerkovićMarko Berković
Marko BerkovićCodeFest
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис КортуновCodeFest
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр ЗиминCodeFest
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей КрапивенскийCodeFest
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей ИгнатовCodeFest
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай КрапивныйCodeFest
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим СмирновCodeFest
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин ОсиповCodeFest
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим ПугачевCodeFest
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene GroeschkeCodeFest
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван БондаренкоCodeFest
 
Mete Atamel
Mete AtamelMete Atamel
Mete AtamelCodeFest
 

Mehr von CodeFest (20)

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита Прокопов
 
Денис Баталов
Денис БаталовДенис Баталов
Денис Баталов
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена Гальцина
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр Калашников
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина Иванова
 
Marko Berković
Marko BerkovićMarko Berković
Marko Berković
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис Кортунов
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр Зимин
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей Игнатов
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим Смирнов
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим Пугачев
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван Бондаренко
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 

Kürzlich hochgeladen

Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLimonikaupta
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirtrahman018755
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.soniya singh
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsstephieert
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 

Kürzlich hochgeladen (20)

Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girls
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 

CodeFest 2014. Пухальский И. — Отзывчивые кроссплатформенные веб-приложения