SlideShare ist ein Scribd-Unternehmen logo
1 von 60
SENCHA TOUCH
    DRUYTS TOM
WHY MOBILE WEB APPS
WHY MOBILE WEB APPS
SENCHA TOUCH


A framework to build HTML 5 mobile applications for iOS,
Android and Blackberry
ARCHITECTURE
               Class System
               Event System
               Data package
               Widgets & Layouts
               …
THE CLASS SYSTEM

      Prototype-
                   Class-based
        based
THE CLASS SYSTEM
                        Flexibility




   Sencha class
     system       =   Predictability




                       Programmer
                        Familiarity
CLASS DEFINITION
Ext.define(‘My.Sample.Person’, {
        constructor: function(name) {
                 this.name = name
        },


        walk: function(steps) {
                 alert(this.name + ‘is walking’ + steps +
                 ‘steps’);
        }
});
HOW TO CREATE AN
OBJECT
var person = new My.sample.Person(‘Tom’);
person.walk();
INHERITENCE
Ext.define(‘My.sample.Person’, {
             constructor: function(name) {
                           this.name = name;
             },
             walk: function(steps) {
                           alert(this.name + ‘ is walking ‘ + steps + ‘ steps’);
             }
});


Ext.define(‘My.sample.Developer’, {
             extend: ‘My.sample.Person’,
             code: function(language) {
                           alert(this.name + ‘ is coding in ‘ + language);
             }
});
INHERITENCE
var tom = new My.sample.Developer(‘tom’);
tom.walk(5);
tom.code(‘Javascript’);
MIXINS
Used to generate multiple inheritance
DEPENDENCY
MANAGEMENT
<html>
<script src=‘sencha-touch-debug.js’></script>
</html>
DEPENDENCY
MANAGEMENT
<html>
<script src=‘sencha-touch-debug.js’></script>
<script>
var tom = new My.sample.Person(‘Tom’);
</script>
</html>
DEPENDENCY
MANAGEMENT
<html>
<script src=‘sencha-touch-debug.js’></script>
<script src=‘My.sample.Person’></script>
<script>
var tom = new My.sample.Person(‘Tom’);
</script>
</html>
DEPENDENCY
MANAGEMENT
<html>
<script src=‘sencha-touch-debug.js’></script>
<script src=‘My.sample.Person’></script>
<script src=‘My.sample.Developer’></script>
<script>
var tom = new My.sample.Person(‘Tom’);
var developer = new My.sample.Developer(‘Tom’);
</script>
</html>
DEPENDENCY
MANAGEMENT
What if we got 50 classes ?


The order of the script tags is important


Becomes a nightmare to manage !
DEPENDENCY
MANAGEMENT
Only include the sencha-touch-debug.js file


Use Ext.create to create new objects
   • Will automatically load the class if it isn’t loaded yet
   • No need to write the imports yourself anymore
DEPENDENCY
MANAGEMENT
<html>
<script src=‘sencha-touch-debug.js’></script>
var tom = Ext.create(‘My.sample.Developer’, {name: ‘Tom’});
</script>
</html>
CONFIG
Ext.define(‘My.Sample.Person’, {
           name: ‘’,
           constructor: function(name) {
                       this.name = name
           },


           getName: function() {
                       return name;
           },


           setName: function(newName) {
                       this.name = newName;
           },
});
CONFIG
If we got a lot of properties, you need to write a lot of
getters and setters


Nobody likes writing getters and setters, it is just boring


Put them in a config object, and get the setters and
getters for free
CONFIG
Ext.define(‘My.sample.Person’, {
        config: {
                    name: ‘Unkown’
        },
        constructor: function(config) {
                    this.initConfig(config);
        }
});
CONFIG
var person = Ext.create(‘My.sample.Person’, {name: ‘Tom’, age: 25});
person.getName()          //Tom
person.getAge()           //25
CONFIG
Great those auto generated setters


But what about validation ?


What if I want to do more then just assigning the value to
the field ?
CONFIG: SETTER
PROCESS




Before               Set             After
Validation       Actual assignment   Notification
Filtering                            Updating dependencies
Transformation
CONFIG: SETTER
PROCESS
   setFoo()



Before                     processedValue = applyFoo(newValue, oldValue)




 Set     This.foo = processedValue




Update                          updateFoo(processedValue, oldValue)
Ext.define(‘My.sample.Person’, {
            config: {
                         name: ‘Unkown’
            },
            constructor: function(config) {
                         this.initConfig(config);
            },


            applyName: function(newValue, oldValue) {
                         return ‘De heer’ + newValue;
            },


            updateName: function(newValue, oldValue) {
                         alert(‘Value changed to:’ + name);
            }
});
CLASS SYSTEM
Basic understanding of the Class system


Powerful system built in the framework to make the life
of developers much easier


Now we can stop the boring stuff and start writing
applications
What are we going to build ?
TYPICAL APPLICATION
ARCHITECTURE
TYPICAL APPLICATION
STRUCTURE
Which translates to the following directory structure:
INDEX.HTML
Include the correct build




Include the CSS file from sencha
Include the app.js file
Leave the body tags empty
APP.JS
Defines the entry point of the application


The launch function will automatically be called when the
framework is loaded


Within the launch function, create your first view and add
it to the viewport
VIEWS
Views are what the user interacts with directly


Sencha Touch comes with a wide range of predefined
views that you can use
   •   Panels, Containers
   •   Buttons
   •   Lists
   •   Textfields, checkboxes, toggle fields
   •   …


Must be created in the view subfolder
CONTROLLERS
Controllers are responsible for responding to events that
occur within your app


They are automatically created when the application is
launched


Makes use of the powerful twin configuration:
• Refs
• Controls
CONTROLLERS: REFS
Used to get a reference to a component


Makes use of the ComponentQuery syntax to the locate
components


Example:
Refs: {
          homeButton: ‘#home’
}


You get the getter for free !
CONTROLLERS:
CONTROLS
Defines the events on which the controller listens and
how to react


Example:
control: {
             homeButton: {
                     goHome: ‘showTheHomeView’
             }
}
CONTROLLERS: ROUTES
Since Sencha Touch 2 controllers have support for Routes


Enables History support


Example:
Routes: {
        ‘login’: ‘showLogin’
}


Will listen to http://myApp.com/#login
MODELS
Represents the data in our application
MODELS: FIELDS
Defines the properties of the model


Consists of:
     • Name
     • Type


fields: {
            {name: ‘id’, type: ‘int’}
            {name: ‘name’, type: ‘string’}
}
MODELS: PROXIES
Defines where and how to load/save the data


Mainly used by stores


You must define:
   • Type of proxy
   • The URL
   • The reader (json or xml)
PROXIES: REST
Ext.define(‘App.model.Broodje’, {
             extend: ‘Ext.data.Model’,
             config: {
                           fiels: [‘id’, ‘name’],
                           proxy: {
                                           type: ‘rest’,
                                           url: ‘data/broodjes’,
                                           reader: {
                                                           type: ‘json’,
                                                           root: ‘broodje’
                                           }
                           }
             }
});
PROXIES: REST
var broodje = Ext.create(‘App.model.Broodje’, {name: ‘smos kaas’});


broodje.save()            // POST /broodjes
broodje.destroy()         //DELETE /broodjes/123


If not happy with the default URLs, implement the
buildUrl method to customize the generated URLs
MODELS:
ASSOCIATIONS
Most applications have relations between models


The associations API enables developers to express those
relations


Possibilities:
   • hasMany
   • belongsTo
MODELS:
ASSOCIATIONS
Ext.define(‘App.model.Broodje’, {
         extend: ‘Ext.data.Model’,
         config: {
                     hasMany: {model: ‘Ingredient’, name: ‘ingredients’}
         }
});
Ext.define(‘App.model.Ingredient’, {
         extend: ‘Ext.data.Model’,
         config: {
                     belongsTo: ‘Ext.data.Model’
         }
});
ASSOCIATIONS: THE
BENEFITS
Benefits off defining associations:
       • Data of ‘child’ members get automatic loaded
       • Easy to traverse the associated data



broodje.ingredients().each(function(ingredient) {
      console.log(ingredient);
});
MODELS: VALIDATIONS
Models have support for validations


Possible validations:
   •   Presence
   •   Length
   •   Format
   •   Inclusion
   •   Exclusion
MODELS: VALIDATIONS
Examples:


{ type: 'presence', field: 'name' },
{ type: 'length', field: 'name', min: 5 },
{ type: 'format', field: 'age', matcher: /d+/ },
{ type: 'inclusion', field: 'gender', list: ['male', 'female'] },
{ type: 'exclusion', field: 'name', list: ['admin'] }
MODELS: VALIDATIONS
How to use ?
var newUser = Ext.create('User',
{ name: 'admin', age: 'twenty-nine', gender: 'not a valid gender' }
);


var errors = newUser.validate();
errors.isValid();           //returns false if there were validations errors
errors.items();             //returns an array of all errors
STORES
Is just basically a collection of model instances


Are used to load data into a List


Can optionally use a Proxy to load the required data


Support for sorting & grouping
HYBRID APPLICATIONS
This is all nice but we are still running in the browser


What if we want a ‘real’ application ?


What if we want to access device functionality like
   •   Contacts list
   •   Camera
   •   Photos
   •   …
HYBRID ?

Site
       Web sites



                   Web apps



                              Native app


App
                                       Native
HYBRID ?

Site
       Web sites



                   Web apps
                              Hybrid
                              apps

                                       Native app


App
                                                Native
HYBRID ?

           WebFont          Video            Audio         Graphics


Camera                                                                HTTP
             CSS Styling & Layout

Location                                                              AJAX
             JavaScript
Contacts                                                              Events
             Semantic HTML
 SMS                                                                  Sockets


                                Parralel             Cross app
              File system
                                processing           messagin
HYBRID ?
                                    WebView

           WebFont          Video            Audio         Graphics


Camera                                                                HTTP
             CSS Styling & Layout

Location                                                              AJAX
             JavaScript
Contacts                                                              Events
             Semantic HTML
 SMS                                                                  Sockets


                                Parralel             Cross app
              File system
                                processing           messagin
Native wrapper

                                     WebView

           WebFont          Video            Audio         Graphics


Camera                                                                HTTP
             CSS Styling & Layout

Location                                                              AJAX
             JavaScript
Contacts                                                              Events
             Semantic HTML
 SMS                                                                  Sockets


                                Parralel             Cross app
              File system
                                processing           messagin
SENCHA TOOLS
Sencha Tools allows you to build a Native Wrapper


Build your project with the Sencha Tools and you get a
native app


But what about the left side ?
PHONEGAP
Tries to close the gap between web apps and access to
the device APIs


Different on every platform


Access to:
   •   Camera
   •   Contacts
   •   Notification
   •   Storage
   •   …
QUESTIONS ?

Weitere ähnliche Inhalte

Was ist angesagt?

Love and Loss: A Symfony Security Play
Love and Loss: A Symfony Security PlayLove and Loss: A Symfony Security Play
Love and Loss: A Symfony Security PlayKris Wallsmith
 
How I started to love design patterns
How I started to love design patternsHow I started to love design patterns
How I started to love design patternsSamuel ROZE
 
How Kris Writes Symfony Apps
How Kris Writes Symfony AppsHow Kris Writes Symfony Apps
How Kris Writes Symfony AppsKris Wallsmith
 
How I started to love design patterns
How I started to love design patternsHow I started to love design patterns
How I started to love design patternsSamuel ROZE
 
Virtual Madness @ Etsy
Virtual Madness @ EtsyVirtual Madness @ Etsy
Virtual Madness @ EtsyNishan Subedi
 
Lithium: The Framework for People Who Hate Frameworks
Lithium: The Framework for People Who Hate FrameworksLithium: The Framework for People Who Hate Frameworks
Lithium: The Framework for People Who Hate FrameworksNate Abele
 
CQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony applicationCQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony applicationSamuel ROZE
 
Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5Leonardo Proietti
 
Symfony2, creare bundle e valore per il cliente
Symfony2, creare bundle e valore per il clienteSymfony2, creare bundle e valore per il cliente
Symfony2, creare bundle e valore per il clienteLeonardo Proietti
 
Web2py tutorial to create db driven application.
Web2py tutorial to create db driven application.Web2py tutorial to create db driven application.
Web2py tutorial to create db driven application.fRui Apps
 
The state of Symfony2 - SymfonyDay 2010
The state of Symfony2 - SymfonyDay 2010The state of Symfony2 - SymfonyDay 2010
The state of Symfony2 - SymfonyDay 2010Fabien Potencier
 
Mashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web AppsMashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web AppsBastian Hofmann
 
Design Patterns avec PHP 5.3, Symfony et Pimple
Design Patterns avec PHP 5.3, Symfony et PimpleDesign Patterns avec PHP 5.3, Symfony et Pimple
Design Patterns avec PHP 5.3, Symfony et PimpleHugo Hamon
 
Min-Maxing Software Costs - Laracon EU 2015
Min-Maxing Software Costs - Laracon EU 2015Min-Maxing Software Costs - Laracon EU 2015
Min-Maxing Software Costs - Laracon EU 2015Konstantin Kudryashov
 
The State of Lithium
The State of LithiumThe State of Lithium
The State of LithiumNate Abele
 
SenchaCon 2016: Want to Use Ext JS Components with Angular 2? Here’s How to I...
SenchaCon 2016: Want to Use Ext JS Components with Angular 2? Here’s How to I...SenchaCon 2016: Want to Use Ext JS Components with Angular 2? Here’s How to I...
SenchaCon 2016: Want to Use Ext JS Components with Angular 2? Here’s How to I...Sencha
 
Lithium: The Framework for People Who Hate Frameworks, Tokyo Edition
Lithium: The Framework for People Who Hate Frameworks, Tokyo EditionLithium: The Framework for People Who Hate Frameworks, Tokyo Edition
Lithium: The Framework for People Who Hate Frameworks, Tokyo EditionNate Abele
 

Was ist angesagt? (20)

Love and Loss: A Symfony Security Play
Love and Loss: A Symfony Security PlayLove and Loss: A Symfony Security Play
Love and Loss: A Symfony Security Play
 
Sane Async Patterns
Sane Async PatternsSane Async Patterns
Sane Async Patterns
 
How I started to love design patterns
How I started to love design patternsHow I started to love design patterns
How I started to love design patterns
 
How Kris Writes Symfony Apps
How Kris Writes Symfony AppsHow Kris Writes Symfony Apps
How Kris Writes Symfony Apps
 
How I started to love design patterns
How I started to love design patternsHow I started to love design patterns
How I started to love design patterns
 
Virtual Madness @ Etsy
Virtual Madness @ EtsyVirtual Madness @ Etsy
Virtual Madness @ Etsy
 
Lithium: The Framework for People Who Hate Frameworks
Lithium: The Framework for People Who Hate FrameworksLithium: The Framework for People Who Hate Frameworks
Lithium: The Framework for People Who Hate Frameworks
 
CQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony applicationCQRS and Event Sourcing in a Symfony application
CQRS and Event Sourcing in a Symfony application
 
Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5Rich domain model with symfony 2.5 and doctrine 2.5
Rich domain model with symfony 2.5 and doctrine 2.5
 
Symfony2, creare bundle e valore per il cliente
Symfony2, creare bundle e valore per il clienteSymfony2, creare bundle e valore per il cliente
Symfony2, creare bundle e valore per il cliente
 
Advanced Django
Advanced DjangoAdvanced Django
Advanced Django
 
Web2py tutorial to create db driven application.
Web2py tutorial to create db driven application.Web2py tutorial to create db driven application.
Web2py tutorial to create db driven application.
 
Mashing up JavaScript
Mashing up JavaScriptMashing up JavaScript
Mashing up JavaScript
 
The state of Symfony2 - SymfonyDay 2010
The state of Symfony2 - SymfonyDay 2010The state of Symfony2 - SymfonyDay 2010
The state of Symfony2 - SymfonyDay 2010
 
Mashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web AppsMashing up JavaScript – Advanced Techniques for modern Web Apps
Mashing up JavaScript – Advanced Techniques for modern Web Apps
 
Design Patterns avec PHP 5.3, Symfony et Pimple
Design Patterns avec PHP 5.3, Symfony et PimpleDesign Patterns avec PHP 5.3, Symfony et Pimple
Design Patterns avec PHP 5.3, Symfony et Pimple
 
Min-Maxing Software Costs - Laracon EU 2015
Min-Maxing Software Costs - Laracon EU 2015Min-Maxing Software Costs - Laracon EU 2015
Min-Maxing Software Costs - Laracon EU 2015
 
The State of Lithium
The State of LithiumThe State of Lithium
The State of Lithium
 
SenchaCon 2016: Want to Use Ext JS Components with Angular 2? Here’s How to I...
SenchaCon 2016: Want to Use Ext JS Components with Angular 2? Here’s How to I...SenchaCon 2016: Want to Use Ext JS Components with Angular 2? Here’s How to I...
SenchaCon 2016: Want to Use Ext JS Components with Angular 2? Here’s How to I...
 
Lithium: The Framework for People Who Hate Frameworks, Tokyo Edition
Lithium: The Framework for People Who Hate Frameworks, Tokyo EditionLithium: The Framework for People Who Hate Frameworks, Tokyo Edition
Lithium: The Framework for People Who Hate Frameworks, Tokyo Edition
 

Ähnlich wie Sencha Touch - Introduction

Micro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMicro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMichael Dawson
 
Apache Drill with Oracle, Hive and HBase
Apache Drill with Oracle, Hive and HBaseApache Drill with Oracle, Hive and HBase
Apache Drill with Oracle, Hive and HBaseNag Arvind Gudiseva
 
Build restful ap is with python and flask
Build restful ap is with python and flaskBuild restful ap is with python and flask
Build restful ap is with python and flaskJeetendra singh
 
Mongoose and MongoDB 101
Mongoose and MongoDB 101Mongoose and MongoDB 101
Mongoose and MongoDB 101Will Button
 
Build Web Apps using Node.js
Build Web Apps using Node.jsBuild Web Apps using Node.js
Build Web Apps using Node.jsdavidchubbs
 
Reliable Javascript
Reliable Javascript Reliable Javascript
Reliable Javascript Glenn Stovall
 
Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecturepostrational
 
Ember.js - A JavaScript framework for creating ambitious web applications
Ember.js - A JavaScript framework for creating ambitious web applications  Ember.js - A JavaScript framework for creating ambitious web applications
Ember.js - A JavaScript framework for creating ambitious web applications Juliana Lucena
 
Emberjs as a rails_developer
Emberjs as a rails_developer Emberjs as a rails_developer
Emberjs as a rails_developer Sameera Gayan
 
Ember.js for a CakePHP Developer
Ember.js for a CakePHP DeveloperEmber.js for a CakePHP Developer
Ember.js for a CakePHP Developerjtrapp07
 
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resourcesJavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resourcesCorley S.r.l.
 
Aprimorando sua Aplicação com Ext JS 4 - BrazilJS
Aprimorando sua Aplicação com Ext JS 4 - BrazilJSAprimorando sua Aplicação com Ext JS 4 - BrazilJS
Aprimorando sua Aplicação com Ext JS 4 - BrazilJSLoiane Groner
 
JavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de DatosJavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de Datosphilogb
 
JavaScript para Graficos y Visualizacion de Datos - BogotaJS
JavaScript para Graficos y Visualizacion de Datos - BogotaJSJavaScript para Graficos y Visualizacion de Datos - BogotaJS
JavaScript para Graficos y Visualizacion de Datos - BogotaJSphilogb
 
Do you know what your drupal is doing? Observe it!
Do you know what your drupal is doing? Observe it!Do you know what your drupal is doing? Observe it!
Do you know what your drupal is doing? Observe it!Luca Lusso
 
Sencha Touch basic concepts, pros and cons
Sencha Touch basic concepts, pros and consSencha Touch basic concepts, pros and cons
Sencha Touch basic concepts, pros and consOleg Gomozov
 

Ähnlich wie Sencha Touch - Introduction (20)

Micro app-framework
Micro app-frameworkMicro app-framework
Micro app-framework
 
Micro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMicro app-framework - NodeLive Boston
Micro app-framework - NodeLive Boston
 
Intro to Ember.JS 2016
Intro to Ember.JS 2016Intro to Ember.JS 2016
Intro to Ember.JS 2016
 
Apache Drill with Oracle, Hive and HBase
Apache Drill with Oracle, Hive and HBaseApache Drill with Oracle, Hive and HBase
Apache Drill with Oracle, Hive and HBase
 
Build restful ap is with python and flask
Build restful ap is with python and flaskBuild restful ap is with python and flask
Build restful ap is with python and flask
 
Mongoose and MongoDB 101
Mongoose and MongoDB 101Mongoose and MongoDB 101
Mongoose and MongoDB 101
 
Build Web Apps using Node.js
Build Web Apps using Node.jsBuild Web Apps using Node.js
Build Web Apps using Node.js
 
Reliable Javascript
Reliable Javascript Reliable Javascript
Reliable Javascript
 
Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecture
 
Ember.js - A JavaScript framework for creating ambitious web applications
Ember.js - A JavaScript framework for creating ambitious web applications  Ember.js - A JavaScript framework for creating ambitious web applications
Ember.js - A JavaScript framework for creating ambitious web applications
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Emberjs as a rails_developer
Emberjs as a rails_developer Emberjs as a rails_developer
Emberjs as a rails_developer
 
Ember.js for a CakePHP Developer
Ember.js for a CakePHP DeveloperEmber.js for a CakePHP Developer
Ember.js for a CakePHP Developer
 
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resourcesJavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
 
Aprimorando sua Aplicação com Ext JS 4 - BrazilJS
Aprimorando sua Aplicação com Ext JS 4 - BrazilJSAprimorando sua Aplicação com Ext JS 4 - BrazilJS
Aprimorando sua Aplicação com Ext JS 4 - BrazilJS
 
JavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de DatosJavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de Datos
 
JavaScript para Graficos y Visualizacion de Datos - BogotaJS
JavaScript para Graficos y Visualizacion de Datos - BogotaJSJavaScript para Graficos y Visualizacion de Datos - BogotaJS
JavaScript para Graficos y Visualizacion de Datos - BogotaJS
 
Do you know what your drupal is doing? Observe it!
Do you know what your drupal is doing? Observe it!Do you know what your drupal is doing? Observe it!
Do you know what your drupal is doing? Observe it!
 
Nodejs.meetup
Nodejs.meetupNodejs.meetup
Nodejs.meetup
 
Sencha Touch basic concepts, pros and cons
Sencha Touch basic concepts, pros and consSencha Touch basic concepts, pros and cons
Sencha Touch basic concepts, pros and cons
 

Mehr von ABC-GROEP.BE

Technische sessie: Intro to CQRS
Technische sessie: Intro to CQRSTechnische sessie: Intro to CQRS
Technische sessie: Intro to CQRSABC-GROEP.BE
 
Kdg open erp DynApps
Kdg open erp DynAppsKdg open erp DynApps
Kdg open erp DynAppsABC-GROEP.BE
 
Customer Case Microsoft Partnership
Customer Case Microsoft PartnershipCustomer Case Microsoft Partnership
Customer Case Microsoft PartnershipABC-GROEP.BE
 
ITMoov 2012 - MarathonMan Stefaan Engels
ITMoov 2012 - MarathonMan Stefaan EngelsITMoov 2012 - MarathonMan Stefaan Engels
ITMoov 2012 - MarathonMan Stefaan EngelsABC-GROEP.BE
 
ITmoov 2012 - Enterprise Social Networking
ITmoov 2012 - Enterprise Social NetworkingITmoov 2012 - Enterprise Social Networking
ITmoov 2012 - Enterprise Social NetworkingABC-GROEP.BE
 
ITMoov 2012 - Data governance en data quality
ITMoov 2012 - Data governance en data qualityITMoov 2012 - Data governance en data quality
ITMoov 2012 - Data governance en data qualityABC-GROEP.BE
 
ITmoov 2012 - Het OpenERP business model
ITmoov 2012 - Het OpenERP business modelITmoov 2012 - Het OpenERP business model
ITmoov 2012 - Het OpenERP business modelABC-GROEP.BE
 
ITmoov 2012 - Introductie ABC-Groep
ITmoov 2012 - Introductie ABC-GroepITmoov 2012 - Introductie ABC-Groep
ITmoov 2012 - Introductie ABC-GroepABC-GROEP.BE
 
ITmoov 2012 - De Business Intelligence achter de pensioenhervorming
ITmoov 2012 - De Business Intelligence achter de pensioenhervormingITmoov 2012 - De Business Intelligence achter de pensioenhervorming
ITmoov 2012 - De Business Intelligence achter de pensioenhervormingABC-GROEP.BE
 
ITmoov 2012 - De Ondernemerstriathlon
ITmoov 2012 - De OndernemerstriathlonITmoov 2012 - De Ondernemerstriathlon
ITmoov 2012 - De OndernemerstriathlonABC-GROEP.BE
 
ITmoov 2012 - Rogerthat multiple choice messaging platform
ITmoov 2012 - Rogerthat multiple choice messaging platformITmoov 2012 - Rogerthat multiple choice messaging platform
ITmoov 2012 - Rogerthat multiple choice messaging platformABC-GROEP.BE
 
DynApps - Case IOK Afvalbeheer
DynApps - Case IOK AfvalbeheerDynApps - Case IOK Afvalbeheer
DynApps - Case IOK AfvalbeheerABC-GROEP.BE
 
Forum Event KA-TI: OpenERP at a glance
Forum Event KA-TI: OpenERP at a glanceForum Event KA-TI: OpenERP at a glance
Forum Event KA-TI: OpenERP at a glanceABC-GROEP.BE
 
Forum Event KA-TI: Open source ook voor bedrijfskritische applicaties
Forum Event KA-TI: Open source ook voor bedrijfskritische applicatiesForum Event KA-TI: Open source ook voor bedrijfskritische applicaties
Forum Event KA-TI: Open source ook voor bedrijfskritische applicatiesABC-GROEP.BE
 
ABC-Groep in Antwerpen Manager
ABC-Groep in Antwerpen ManagerABC-Groep in Antwerpen Manager
ABC-Groep in Antwerpen ManagerABC-GROEP.BE
 
Customer Case Oracle - VMM
Customer Case Oracle - VMMCustomer Case Oracle - VMM
Customer Case Oracle - VMMABC-GROEP.BE
 
Customer Case SharePoint - Qualiphar
Customer Case SharePoint - QualipharCustomer Case SharePoint - Qualiphar
Customer Case SharePoint - QualipharABC-GROEP.BE
 
Customer Case Oracle - Bibnet
Customer Case Oracle - BibnetCustomer Case Oracle - Bibnet
Customer Case Oracle - BibnetABC-GROEP.BE
 

Mehr von ABC-GROEP.BE (20)

Technische sessie: Intro to CQRS
Technische sessie: Intro to CQRSTechnische sessie: Intro to CQRS
Technische sessie: Intro to CQRS
 
Kdg technisch
Kdg technischKdg technisch
Kdg technisch
 
Kdg open erp DynApps
Kdg open erp DynAppsKdg open erp DynApps
Kdg open erp DynApps
 
Customer Case Microsoft Partnership
Customer Case Microsoft PartnershipCustomer Case Microsoft Partnership
Customer Case Microsoft Partnership
 
ITMoov 2012 - MarathonMan Stefaan Engels
ITMoov 2012 - MarathonMan Stefaan EngelsITMoov 2012 - MarathonMan Stefaan Engels
ITMoov 2012 - MarathonMan Stefaan Engels
 
ITmoov 2012 - Enterprise Social Networking
ITmoov 2012 - Enterprise Social NetworkingITmoov 2012 - Enterprise Social Networking
ITmoov 2012 - Enterprise Social Networking
 
ITMoov 2012 - Data governance en data quality
ITMoov 2012 - Data governance en data qualityITMoov 2012 - Data governance en data quality
ITMoov 2012 - Data governance en data quality
 
ITmoov 2012 - Het OpenERP business model
ITmoov 2012 - Het OpenERP business modelITmoov 2012 - Het OpenERP business model
ITmoov 2012 - Het OpenERP business model
 
ITmoov 2012 - Introductie ABC-Groep
ITmoov 2012 - Introductie ABC-GroepITmoov 2012 - Introductie ABC-Groep
ITmoov 2012 - Introductie ABC-Groep
 
ITmoov 2012 - De Business Intelligence achter de pensioenhervorming
ITmoov 2012 - De Business Intelligence achter de pensioenhervormingITmoov 2012 - De Business Intelligence achter de pensioenhervorming
ITmoov 2012 - De Business Intelligence achter de pensioenhervorming
 
ITmoov 2012 - De Ondernemerstriathlon
ITmoov 2012 - De OndernemerstriathlonITmoov 2012 - De Ondernemerstriathlon
ITmoov 2012 - De Ondernemerstriathlon
 
ITmoov 2012 - Rogerthat multiple choice messaging platform
ITmoov 2012 - Rogerthat multiple choice messaging platformITmoov 2012 - Rogerthat multiple choice messaging platform
ITmoov 2012 - Rogerthat multiple choice messaging platform
 
DynApps - Case IOK Afvalbeheer
DynApps - Case IOK AfvalbeheerDynApps - Case IOK Afvalbeheer
DynApps - Case IOK Afvalbeheer
 
Forum Event KA-TI: OpenERP at a glance
Forum Event KA-TI: OpenERP at a glanceForum Event KA-TI: OpenERP at a glance
Forum Event KA-TI: OpenERP at a glance
 
Forum Event KA-TI: Open source ook voor bedrijfskritische applicaties
Forum Event KA-TI: Open source ook voor bedrijfskritische applicatiesForum Event KA-TI: Open source ook voor bedrijfskritische applicaties
Forum Event KA-TI: Open source ook voor bedrijfskritische applicaties
 
ABC-Groep in Antwerpen Manager
ABC-Groep in Antwerpen ManagerABC-Groep in Antwerpen Manager
ABC-Groep in Antwerpen Manager
 
Customer Case Oracle - VMM
Customer Case Oracle - VMMCustomer Case Oracle - VMM
Customer Case Oracle - VMM
 
Customer Case SharePoint - Qualiphar
Customer Case SharePoint - QualipharCustomer Case SharePoint - Qualiphar
Customer Case SharePoint - Qualiphar
 
Customer Case Oracle - Bibnet
Customer Case Oracle - BibnetCustomer Case Oracle - Bibnet
Customer Case Oracle - Bibnet
 
IT Methodologies
IT MethodologiesIT Methodologies
IT Methodologies
 

Kürzlich hochgeladen

TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024Stephen Perrenod
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPTiSEO AI
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...ScyllaDB
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxFIDO Alliance
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?Paolo Missier
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptxFIDO Alliance
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingScyllaDB
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!Memoori
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...ScyllaDB
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceSamy Fodil
 

Kürzlich hochgeladen (20)

TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 

Sencha Touch - Introduction

Hinweis der Redaktion

  1. Je bentzelfverantwoordelijkom .validate() op teroepen ! Gebeurtnietautomatisch !
  2. Network technologies on the right. Platform integration on the bottom. Device APIs on the left.Meestewebbrowser op iPhone, Android,… is beter in het rechterbovengedeelte. En slecht, of nietbestaandeaan de linkerkant.Je hebtdusgeentoegang tot de contactenlijst, sms, de camera, en alleandere device APIs… En het onderste is redelijkondersteund.Duswatkunnen we nu doen ? Het feitdat browser het rechterbovenstegedeeltegoedondersteunenwillen we nietverliezen, dusdatgaan we wrappen.
  3. Wemakengebruik van een embedded webviewdatditgedeelteondersteunt.
  4. En we stoppendeze embedded webview in een native wrapper. Onze native wrapper is dusgewooneenwebview, die al dezefunctionaliteitondersteunten waarin we onzeapplicatiedraait. Ditblijkteenenormpopulaireoplossing