SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
Auffrischung jQuery

jQuery Mobile
Marco Francke I 03.03.2011




                             © Mayflower GmbH 2010
Was ist jQuery und was kann
            es?




                              Mayflower GmbH I 2
Was ist jQuery und was kann es?



I schnelle JavaScript Bibliothek basierend auf der Selector Engine
  Sizzle
I ermöglicht einfache Selection und Manipulation von HTML-
  Elementen
I einfaches Event-Handling
I bietet von "Haus" aus einfache Animationen an (toggle, slide, ...)
I einfache AJAX-Interaktionen
I versteht sich mit "allen" commerziellen Browsern



                                                                   Mayflower GmbH I 3
Was spricht für die Verwendung
         von jQuery?




                                 Mayflower GmbH I 4
Was spricht für die Verwendung von jQuery?



I wird von großen "Playern" verwendet
  (Google, Wordpress, Drupal, Mozilla, ...)
I wird als inoffizieller Standard gehandelt
I Sehr gute Dokumentation mit vielen Beispielen
I eine große Community
I einfach zu erlernen
I extrem viele Plugins




                                                  Mayflower GmbH I 5
Nützliches im Alltag




                       Mayflower GmbH I 6
Nützliches im Alltag



 Die Selektoren:
I am schnellsten ist die Selektion über die ID
   ·$('#id');
I eingeschränkte Selektoren sind um ein Vielfaches schneller
   · $('input.myClass') ist ca. 5-6 mal schneller als $('.myClass')


   · $('a[href="index.html"]') ist auch ca. 5-6 mal schneller als $
       ('[href="index.html"]')




                                                                      Mayflower GmbH I 7
Nützliches im Alltag



I Selektion innerhalb eines Contexts
   · $('input.myClass', $('#id')[0]) ist gut aber
   · $('#id').find('input.myClass') ist noch besser



I Richtig gut ist:
   · bereits selektierte Elemente (die öfter benötigt werden) in eine
     Variable speichern und diese dann im weiteren Verlauf
     verwenden




                                                                   Mayflower GmbH I 8
Event-Handler




                Mayflower GmbH I 9
Event-Handler



I Gewohnte Verwendung
   ·via closures (werden zur Laufzeit erzeugt)
        $('#id').click(function() {
        // mache was
        });


   · gleiche wie
        $('#id').bind('click', function() {
           // mache was
        });



                                                 Mayflower GmbH I 10
Event-Handler



I Closures vermeiden
   · besser: $('#id').click(myfunction);
I Aber Achtung Scope nicht verlieren!
   ·$('#id').click(jQuery.proxy(this.myFunction, this));
I Nützliche Begleiter wenn es um Events geht sind
   ·live und closest



I Beispiele sagen mehr als Worte



                                                           Mayflower GmbH I 11
jQuery Mobile

   Fakten




                Mayflower GmbH I 12
Fakten



I jQuery Mobile ist derzeit in der Version 1.0 verfügbar
  und ist ALPHA 3
I Bietet optimierte und angepasste UI-Widgets für mobile Endgeräte
I Einfaches Theming
I User Interface arbeitet mit den meisten Smartphones, Webbrowsern
  und Tablets
I Browser-History Management




                                                               Mayflower GmbH I 13
Fakten



I jQuery Mobile verfolgt den Ansatz high-end Geräte die HTML5,
  CSS3 und JS verszehen sowie weniger gut ausgestattete Geräte.



I Unterstützt Screenreader und andere unterstützende Technologien.




                                                               Mayflower GmbH I 14
Eigenschaften von
  jQuery Mobile




                    Mayflower GmbH I 15
Eigenschaften von jQuery Mobile



I setzt auf dem jQuery Core auf und daher gleiche Syntax
  >> geringe Lernkurve


I kompatibel mit den wichtigsten mobilen Plattformen
   · iOS, Android, Blackberry, Palm WebOS, Nokia/Symbian,
     Windows Mobile, bada, MeeGo


I Selbstverständlich ist auch jQuery Mobile ein Leichtgewicht
  von 12k (compressed) und beinhaltet alle Mobile relevanten
  Funktionen



                                                                Mayflower GmbH I 16
Eigenschaften von jQuery Mobile



I jQuery Mobile verwendet das HTML5 data-role Attribut
  als Trigger um alle Widgets zu initialisieren



I einfache und gut dokumentierte API



I neue Events für Touch-Screens mit Fallback- Funktionalität




                                                               Mayflower GmbH I 17
Wie geht jQuery Mobile vor?




                              Mayflower GmbH I 18
Wie geht jQuery Mobile vor?



I Es hängt sich automatisch an Markup-Erweiterungen


I Entsprechend der Attribute lädt es die Plugins und wandelt das
  HTML in ein interaktives UI um.


I Dieser Vorgang ist die Standardeinstellung von jQuery Mobile.
  Dieses Verhalten kann konfiguriert werden.


   · Beispiel: Grundgerüsst einer jQ-Mobile-App

                                                                   Mayflower GmbH I 19
Konfiguration




                Mayflower GmbH I 20
Konfiguration



I So bald jQuery Mobile geladen wird,
  wird das „mobileinit“-Event getriggert.



I Innerhalb des mobileinit-Handlers kann man mit $.mobile.*
  Standard-Konfigurationen ändern oder erweitern




                                                              Mayflower GmbH I 21
Konfiguration




I Standard-Konfigurationen:
   · nonHistorySelectors (string, default: "dialog"):
       wird eine Seite über einen Link mit dem Attribut data-
        rel=“dialog“ oder wird die Seite mit dem Attribut data-
        role=“dialog“ aufgerufen, dann wird keine Browser-History
        aufgezeichnet
   · ajaxLinksEnabled (boolean, default: true):
       es wird versucht, alle Seiten mit AJAX aufzurufen
   · ajaxFormsEnabled (boolean, default: true):
       Formulare werden ebenso mit AJAX abgeschickt




                                                              Mayflower GmbH I 22
Konfiguration



   · transitions (array, default: ['slide', 'slideup', 'slidedown', 'pop',
    'flip', 'fade']):
       Verfügbare Übergangseffekte


   · defaultTransition (string, default: 'slide'):
      Standard-Übergang


   · loadingMessage (string, default: 'loading'):
      Standard-Popupnachricht beim Laden


I Beispiel: Konfiguration der Mobile-App
                                                                        Mayflower GmbH I 23
Events




         Mayflower GmbH I 24
Events



I jQuery Mobile bietet verschiedene neue Events, die für mobile
  Geräte und ebenso für Desktop-Umgebungen funktionieren
   · Bsp.: tap -> mouseclick



I Das Event-Binding ist wie gewohnt




                                                                  Mayflower GmbH I 25
Events



I Touch-Events
   · tap
       wird getriggert bei einer kurzen Berührung
   · taphold
       wird getriggert nach ca. einer Sekunde
   · swipe
       wird getriggert nach einer horizontalen Wischung von 30px
         oder einer vertikalen Wischung von weniger als 20px




                                                             Mayflower GmbH I 26
Events




   · swipeleft
        wie swipe nur gerichtet nach links
   ·   swiperight
        wie swipe nur gerichtet nach rechts
I Orientation Event:
   · orientationchange
      wird getriggert bei der Änderung der Handyposition von der
         Portrait- in Landscape- Ansicht und umgekehrt
         (Hochformat/Querformat)


I Beispiel: Events einer jQ-Mobile-App

                                                             Mayflower GmbH I 27
Events - Scroll-Events



   · scrollstart
      wird getriggert, wenn eine Scrollbewegung beginnt


   · Scrollstop
      wird getriggert, wenn die Scrollbewegung beendet wird




                                                               Mayflower GmbH I 28
Events - Page-Events



I Immer wenn eine Seite angezeigt wird oder verschwindet, werden
  jeweils 2 Events getriggert.


   · pagebeforeshow
      wird getriggert bevor die Seite dargestellt wird


   · pagebeforehide
      wird getriggert bevor die Seite verschwindet




                                                             Mayflower GmbH I 29
Events - Page-Events



   · pageshow
      wird getriggert nachdem die Seite dargestellt wurde


   · pagehide
      wird getriggert nachdem die Seite verschwunden ist




                                                             Mayflower GmbH I 30
Methoden




           Mayflower GmbH I 31
Methoden



I jQuery Mobile bietet Methoden an, die später an einer geeigneten
     Stelle über das „$.mobile“-Objekt aufgerufen werden können.


   · $.mobile.changePage (method)
        Aufruf einer Seite
   ·   $.mobile.pageLoading (method)
        zeigt und versteckt das "loading" Popup
   ·   $.mobile.silentScroll (method)
        scrollt zu einer angegeben Y-Position ohne die Scroll-Events
          zu triggern
I Beispiel: Methoden von jQuery-Mobile

                                                                 Mayflower GmbH I 32
Layout-Helfer




                Mayflower GmbH I 33
Layout-Helfer



I jQuery Mobile setzt Device-spezifische Klassen im HTML-Tag um
  das Layout an das entsprechende Gerät bzw. Position des Gerätes
  anzupassen. Im JS und CSS kann man sich darauf beziehen, um
  eigene Änderungen vorzunehmen.


   · Die portait und landscape Klasse gibt an, in welcher Position
       sich das Device gerade befindet
   ·   Klasse wie z.B. „max-width-320px“ gibt die maximal
       darstellbare Breite an




                                                                 Mayflower GmbH I 34
Vielen Dank für Ihre Aufmerksamkeit!




       Kontakt   Marco Francke
                 marco.francke@mayflower.de


                 Mayflower GmbH
                 Mannhardtstrasse6
                 80538 München


10.03.11                              Mayflower GmbH   35

Weitere ähnliche Inhalte

Andere mochten auch

Bitacora de tecnologia
Bitacora de tecnologiaBitacora de tecnologia
Bitacora de tecnologiaPipe Estrada
 
50 Best Of 2007
50 Best Of 200750 Best Of 2007
50 Best Of 2007webtel
 
Plantilla icontec
Plantilla icontecPlantilla icontec
Plantilla icontecJuan Gomez
 
Plantronics Unified Communications Trendreport 2009
Plantronics Unified Communications Trendreport 2009Plantronics Unified Communications Trendreport 2009
Plantronics Unified Communications Trendreport 2009Zucker.Kommunikation
 
PréSentation1 Hundertwasser
PréSentation1 HundertwasserPréSentation1 Hundertwasser
PréSentation1 HundertwasserFrauA
 
Formen des e teaching und (gute) beispiele
Formen des e teaching und (gute) beispieleFormen des e teaching und (gute) beispiele
Formen des e teaching und (gute) beispieleJörg Hafer
 
Plantilla icontec odjetivos
Plantilla icontec odjetivosPlantilla icontec odjetivos
Plantilla icontec odjetivosJuan Gomez
 
TRABAJO DE CAMPO
TRABAJO DE CAMPOTRABAJO DE CAMPO
TRABAJO DE CAMPOisapinero25
 
Secuencia didactica rafael avila
Secuencia didactica rafael avilaSecuencia didactica rafael avila
Secuencia didactica rafael avilarafaelenriqueavila
 

Andere mochten auch (18)

Bitacora de tecnologia
Bitacora de tecnologiaBitacora de tecnologia
Bitacora de tecnologia
 
Potestad Tributaria
Potestad TributariaPotestad Tributaria
Potestad Tributaria
 
50 Best Of 2007
50 Best Of 200750 Best Of 2007
50 Best Of 2007
 
Me
MeMe
Me
 
Plantilla icontec
Plantilla icontecPlantilla icontec
Plantilla icontec
 
Plantronics Unified Communications Trendreport 2009
Plantronics Unified Communications Trendreport 2009Plantronics Unified Communications Trendreport 2009
Plantronics Unified Communications Trendreport 2009
 
La basura en su lugar
La basura en su lugarLa basura en su lugar
La basura en su lugar
 
Presentación2
Presentación2Presentación2
Presentación2
 
PréSentation1 Hundertwasser
PréSentation1 HundertwasserPréSentation1 Hundertwasser
PréSentation1 Hundertwasser
 
Formen des e teaching und (gute) beispiele
Formen des e teaching und (gute) beispieleFormen des e teaching und (gute) beispiele
Formen des e teaching und (gute) beispiele
 
Periódico..
Periódico..Periódico..
Periódico..
 
Software educativo
Software educativoSoftware educativo
Software educativo
 
15.- Distribuciones Linux Mexicanas
15.- Distribuciones Linux Mexicanas15.- Distribuciones Linux Mexicanas
15.- Distribuciones Linux Mexicanas
 
Crear contactos
Crear contactosCrear contactos
Crear contactos
 
Plantilla icontec odjetivos
Plantilla icontec odjetivosPlantilla icontec odjetivos
Plantilla icontec odjetivos
 
TRABAJO DE CAMPO
TRABAJO DE CAMPOTRABAJO DE CAMPO
TRABAJO DE CAMPO
 
14.- Servidor my sql
14.- Servidor my sql14.- Servidor my sql
14.- Servidor my sql
 
Secuencia didactica rafael avila
Secuencia didactica rafael avilaSecuencia didactica rafael avila
Secuencia didactica rafael avila
 

Ähnlich wie jQuery Mobile

Mobile Anwendungen mit SenchaTouch
Mobile Anwendungen mit SenchaTouchMobile Anwendungen mit SenchaTouch
Mobile Anwendungen mit SenchaTouchMayflower GmbH
 
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyNative Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyMayflower GmbH
 
JS Best Practises Debugging und Logging
JS Best Practises Debugging und LoggingJS Best Practises Debugging und Logging
JS Best Practises Debugging und LoggingMayflower GmbH
 
Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Patrick Lauke
 
Multiscreen Experience Design (September 2012, MuC UP12)
Multiscreen Experience Design (September 2012, MuC UP12)Multiscreen Experience Design (September 2012, MuC UP12)
Multiscreen Experience Design (September 2012, MuC UP12)Wolfram Nagel
 
WPF Dos n Don'ts - der WPF Rundumschlag
WPF Dos n Don'ts - der WPF RundumschlagWPF Dos n Don'ts - der WPF Rundumschlag
WPF Dos n Don'ts - der WPF RundumschlagHendrik Lösch
 
Mit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & AndroidMit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & AndroidBjörn Wibben
 
Knockin' on heaven's door - Die Praxis zu Besuch beim W3C
Knockin' on heaven's door - Die Praxis zu Besuch beim W3CKnockin' on heaven's door - Die Praxis zu Besuch beim W3C
Knockin' on heaven's door - Die Praxis zu Besuch beim W3CJens Grochtdreis
 
Responsive Webdesign: Fiese Fallstricke und sexy Strategien
Responsive Webdesign: Fiese Fallstricke und sexy StrategienResponsive Webdesign: Fiese Fallstricke und sexy Strategien
Responsive Webdesign: Fiese Fallstricke und sexy StrategienJohannes Weber
 
Mobile Anwendungsentwicklung mit Webtechnologien
Mobile Anwendungsentwicklung mit WebtechnologienMobile Anwendungsentwicklung mit Webtechnologien
Mobile Anwendungsentwicklung mit WebtechnologienMayflower GmbH
 
Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...
Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...
Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...OPITZ CONSULTING Deutschland
 
Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5kkramhoeft
 
YAFOWIL - Webformulare in Python ohne Kopfschmerzen
YAFOWIL - Webformulare in Python ohne KopfschmerzenYAFOWIL - Webformulare in Python ohne Kopfschmerzen
YAFOWIL - Webformulare in Python ohne KopfschmerzenJens Klein
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.GFU Cyrus AG
 
Silverlight - Tipps & Tricks für Fortgeschrittene
Silverlight - Tipps & Tricks für FortgeschritteneSilverlight - Tipps & Tricks für Fortgeschrittene
Silverlight - Tipps & Tricks für FortgeschritteneAndré Wussow
 
Große Applikationen mit AngularJS
Große Applikationen mit AngularJSGroße Applikationen mit AngularJS
Große Applikationen mit AngularJSSebastian Springer
 
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigermagnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigerThomas Kratz
 

Ähnlich wie jQuery Mobile (20)

Mobile Anwendungen mit SenchaTouch
Mobile Anwendungen mit SenchaTouchMobile Anwendungen mit SenchaTouch
Mobile Anwendungen mit SenchaTouch
 
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyNative Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
 
MVVM mit WPF
MVVM mit WPFMVVM mit WPF
MVVM mit WPF
 
Bannerwerbung mit jQuery
Bannerwerbung mit jQueryBannerwerbung mit jQuery
Bannerwerbung mit jQuery
 
JS Best Practises Debugging und Logging
JS Best Practises Debugging und LoggingJS Best Practises Debugging und Logging
JS Best Practises Debugging und Logging
 
Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010
 
Multiscreen Experience Design (September 2012, MuC UP12)
Multiscreen Experience Design (September 2012, MuC UP12)Multiscreen Experience Design (September 2012, MuC UP12)
Multiscreen Experience Design (September 2012, MuC UP12)
 
WPF Dos n Don'ts - der WPF Rundumschlag
WPF Dos n Don'ts - der WPF RundumschlagWPF Dos n Don'ts - der WPF Rundumschlag
WPF Dos n Don'ts - der WPF Rundumschlag
 
Symfony2
Symfony2Symfony2
Symfony2
 
Mit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & AndroidMit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & Android
 
Knockin' on heaven's door - Die Praxis zu Besuch beim W3C
Knockin' on heaven's door - Die Praxis zu Besuch beim W3CKnockin' on heaven's door - Die Praxis zu Besuch beim W3C
Knockin' on heaven's door - Die Praxis zu Besuch beim W3C
 
Responsive Webdesign: Fiese Fallstricke und sexy Strategien
Responsive Webdesign: Fiese Fallstricke und sexy StrategienResponsive Webdesign: Fiese Fallstricke und sexy Strategien
Responsive Webdesign: Fiese Fallstricke und sexy Strategien
 
Mobile Anwendungsentwicklung mit Webtechnologien
Mobile Anwendungsentwicklung mit WebtechnologienMobile Anwendungsentwicklung mit Webtechnologien
Mobile Anwendungsentwicklung mit Webtechnologien
 
Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...
Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...
Oberflächentests für JavaScript-Web-Apps – Mobile Tech Conference 2012 Autumn...
 
Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5
 
YAFOWIL - Webformulare in Python ohne Kopfschmerzen
YAFOWIL - Webformulare in Python ohne KopfschmerzenYAFOWIL - Webformulare in Python ohne Kopfschmerzen
YAFOWIL - Webformulare in Python ohne Kopfschmerzen
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.
 
Silverlight - Tipps & Tricks für Fortgeschrittene
Silverlight - Tipps & Tricks für FortgeschritteneSilverlight - Tipps & Tricks für Fortgeschrittene
Silverlight - Tipps & Tricks für Fortgeschrittene
 
Große Applikationen mit AngularJS
Große Applikationen mit AngularJSGroße Applikationen mit AngularJS
Große Applikationen mit AngularJS
 
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigermagnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
 

Mehr von Mayflower GmbH

Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mayflower GmbH
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: SecurityMayflower GmbH
 
Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftMayflower GmbH
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientMayflower GmbH
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingMayflower GmbH
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...Mayflower GmbH
 
Pair Programming Mythbusters
Pair Programming MythbustersPair Programming Mythbusters
Pair Programming MythbustersMayflower GmbH
 
Shoeism - Frau im Glück
Shoeism - Frau im GlückShoeism - Frau im Glück
Shoeism - Frau im GlückMayflower GmbH
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefernMayflower GmbH
 
Von 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsVon 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsMayflower GmbH
 
Piwik anpassen und skalieren
Piwik anpassen und skalierenPiwik anpassen und skalieren
Piwik anpassen und skalierenMayflower GmbH
 
Agilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastAgilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastMayflower GmbH
 
Mongo DB - Segen oder Fluch
Mongo DB - Segen oder FluchMongo DB - Segen oder Fluch
Mongo DB - Segen oder FluchMayflower GmbH
 

Mehr von Mayflower GmbH (20)

Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
 
Why and what is go
Why and what is goWhy and what is go
Why and what is go
 
Agile Anti-Patterns
Agile Anti-PatternsAgile Anti-Patterns
Agile Anti-Patterns
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
 
Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur Führungskraft
 
Produktive teams
Produktive teamsProduktive teams
Produktive teams
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native Client
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debugging
 
Usability im web
Usability im webUsability im web
Usability im web
 
Rewrites überleben
Rewrites überlebenRewrites überleben
Rewrites überleben
 
JavaScript Security
JavaScript SecurityJavaScript Security
JavaScript Security
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
 
Responsive Webdesign
Responsive WebdesignResponsive Webdesign
Responsive Webdesign
 
Pair Programming Mythbusters
Pair Programming MythbustersPair Programming Mythbusters
Pair Programming Mythbusters
 
Shoeism - Frau im Glück
Shoeism - Frau im GlückShoeism - Frau im Glück
Shoeism - Frau im Glück
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefern
 
Von 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsVon 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 Sprints
 
Piwik anpassen und skalieren
Piwik anpassen und skalierenPiwik anpassen und skalieren
Piwik anpassen und skalieren
 
Agilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastAgilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce Breakfast
 
Mongo DB - Segen oder Fluch
Mongo DB - Segen oder FluchMongo DB - Segen oder Fluch
Mongo DB - Segen oder Fluch
 

jQuery Mobile

  • 1. Auffrischung jQuery jQuery Mobile Marco Francke I 03.03.2011 © Mayflower GmbH 2010
  • 2. Was ist jQuery und was kann es? Mayflower GmbH I 2
  • 3. Was ist jQuery und was kann es? I schnelle JavaScript Bibliothek basierend auf der Selector Engine Sizzle I ermöglicht einfache Selection und Manipulation von HTML- Elementen I einfaches Event-Handling I bietet von "Haus" aus einfache Animationen an (toggle, slide, ...) I einfache AJAX-Interaktionen I versteht sich mit "allen" commerziellen Browsern Mayflower GmbH I 3
  • 4. Was spricht für die Verwendung von jQuery? Mayflower GmbH I 4
  • 5. Was spricht für die Verwendung von jQuery? I wird von großen "Playern" verwendet (Google, Wordpress, Drupal, Mozilla, ...) I wird als inoffizieller Standard gehandelt I Sehr gute Dokumentation mit vielen Beispielen I eine große Community I einfach zu erlernen I extrem viele Plugins Mayflower GmbH I 5
  • 6. Nützliches im Alltag Mayflower GmbH I 6
  • 7. Nützliches im Alltag Die Selektoren: I am schnellsten ist die Selektion über die ID ·$('#id'); I eingeschränkte Selektoren sind um ein Vielfaches schneller · $('input.myClass') ist ca. 5-6 mal schneller als $('.myClass') · $('a[href="index.html"]') ist auch ca. 5-6 mal schneller als $ ('[href="index.html"]') Mayflower GmbH I 7
  • 8. Nützliches im Alltag I Selektion innerhalb eines Contexts · $('input.myClass', $('#id')[0]) ist gut aber · $('#id').find('input.myClass') ist noch besser I Richtig gut ist: · bereits selektierte Elemente (die öfter benötigt werden) in eine Variable speichern und diese dann im weiteren Verlauf verwenden Mayflower GmbH I 8
  • 9. Event-Handler Mayflower GmbH I 9
  • 10. Event-Handler I Gewohnte Verwendung ·via closures (werden zur Laufzeit erzeugt) $('#id').click(function() { // mache was }); · gleiche wie $('#id').bind('click', function() { // mache was }); Mayflower GmbH I 10
  • 11. Event-Handler I Closures vermeiden · besser: $('#id').click(myfunction); I Aber Achtung Scope nicht verlieren! ·$('#id').click(jQuery.proxy(this.myFunction, this)); I Nützliche Begleiter wenn es um Events geht sind ·live und closest I Beispiele sagen mehr als Worte Mayflower GmbH I 11
  • 12. jQuery Mobile Fakten Mayflower GmbH I 12
  • 13. Fakten I jQuery Mobile ist derzeit in der Version 1.0 verfügbar und ist ALPHA 3 I Bietet optimierte und angepasste UI-Widgets für mobile Endgeräte I Einfaches Theming I User Interface arbeitet mit den meisten Smartphones, Webbrowsern und Tablets I Browser-History Management Mayflower GmbH I 13
  • 14. Fakten I jQuery Mobile verfolgt den Ansatz high-end Geräte die HTML5, CSS3 und JS verszehen sowie weniger gut ausgestattete Geräte. I Unterstützt Screenreader und andere unterstützende Technologien. Mayflower GmbH I 14
  • 15. Eigenschaften von jQuery Mobile Mayflower GmbH I 15
  • 16. Eigenschaften von jQuery Mobile I setzt auf dem jQuery Core auf und daher gleiche Syntax >> geringe Lernkurve I kompatibel mit den wichtigsten mobilen Plattformen · iOS, Android, Blackberry, Palm WebOS, Nokia/Symbian, Windows Mobile, bada, MeeGo I Selbstverständlich ist auch jQuery Mobile ein Leichtgewicht von 12k (compressed) und beinhaltet alle Mobile relevanten Funktionen Mayflower GmbH I 16
  • 17. Eigenschaften von jQuery Mobile I jQuery Mobile verwendet das HTML5 data-role Attribut als Trigger um alle Widgets zu initialisieren I einfache und gut dokumentierte API I neue Events für Touch-Screens mit Fallback- Funktionalität Mayflower GmbH I 17
  • 18. Wie geht jQuery Mobile vor? Mayflower GmbH I 18
  • 19. Wie geht jQuery Mobile vor? I Es hängt sich automatisch an Markup-Erweiterungen I Entsprechend der Attribute lädt es die Plugins und wandelt das HTML in ein interaktives UI um. I Dieser Vorgang ist die Standardeinstellung von jQuery Mobile. Dieses Verhalten kann konfiguriert werden. · Beispiel: Grundgerüsst einer jQ-Mobile-App Mayflower GmbH I 19
  • 20. Konfiguration Mayflower GmbH I 20
  • 21. Konfiguration I So bald jQuery Mobile geladen wird, wird das „mobileinit“-Event getriggert. I Innerhalb des mobileinit-Handlers kann man mit $.mobile.* Standard-Konfigurationen ändern oder erweitern Mayflower GmbH I 21
  • 22. Konfiguration I Standard-Konfigurationen: · nonHistorySelectors (string, default: "dialog"): wird eine Seite über einen Link mit dem Attribut data- rel=“dialog“ oder wird die Seite mit dem Attribut data- role=“dialog“ aufgerufen, dann wird keine Browser-History aufgezeichnet · ajaxLinksEnabled (boolean, default: true): es wird versucht, alle Seiten mit AJAX aufzurufen · ajaxFormsEnabled (boolean, default: true): Formulare werden ebenso mit AJAX abgeschickt Mayflower GmbH I 22
  • 23. Konfiguration · transitions (array, default: ['slide', 'slideup', 'slidedown', 'pop', 'flip', 'fade']): Verfügbare Übergangseffekte · defaultTransition (string, default: 'slide'): Standard-Übergang · loadingMessage (string, default: 'loading'): Standard-Popupnachricht beim Laden I Beispiel: Konfiguration der Mobile-App Mayflower GmbH I 23
  • 24. Events Mayflower GmbH I 24
  • 25. Events I jQuery Mobile bietet verschiedene neue Events, die für mobile Geräte und ebenso für Desktop-Umgebungen funktionieren · Bsp.: tap -> mouseclick I Das Event-Binding ist wie gewohnt Mayflower GmbH I 25
  • 26. Events I Touch-Events · tap wird getriggert bei einer kurzen Berührung · taphold wird getriggert nach ca. einer Sekunde · swipe wird getriggert nach einer horizontalen Wischung von 30px oder einer vertikalen Wischung von weniger als 20px Mayflower GmbH I 26
  • 27. Events · swipeleft wie swipe nur gerichtet nach links · swiperight wie swipe nur gerichtet nach rechts I Orientation Event: · orientationchange wird getriggert bei der Änderung der Handyposition von der Portrait- in Landscape- Ansicht und umgekehrt (Hochformat/Querformat) I Beispiel: Events einer jQ-Mobile-App Mayflower GmbH I 27
  • 28. Events - Scroll-Events · scrollstart wird getriggert, wenn eine Scrollbewegung beginnt · Scrollstop wird getriggert, wenn die Scrollbewegung beendet wird Mayflower GmbH I 28
  • 29. Events - Page-Events I Immer wenn eine Seite angezeigt wird oder verschwindet, werden jeweils 2 Events getriggert. · pagebeforeshow wird getriggert bevor die Seite dargestellt wird · pagebeforehide wird getriggert bevor die Seite verschwindet Mayflower GmbH I 29
  • 30. Events - Page-Events · pageshow wird getriggert nachdem die Seite dargestellt wurde · pagehide wird getriggert nachdem die Seite verschwunden ist Mayflower GmbH I 30
  • 31. Methoden Mayflower GmbH I 31
  • 32. Methoden I jQuery Mobile bietet Methoden an, die später an einer geeigneten Stelle über das „$.mobile“-Objekt aufgerufen werden können. · $.mobile.changePage (method) Aufruf einer Seite · $.mobile.pageLoading (method) zeigt und versteckt das "loading" Popup · $.mobile.silentScroll (method) scrollt zu einer angegeben Y-Position ohne die Scroll-Events zu triggern I Beispiel: Methoden von jQuery-Mobile Mayflower GmbH I 32
  • 33. Layout-Helfer Mayflower GmbH I 33
  • 34. Layout-Helfer I jQuery Mobile setzt Device-spezifische Klassen im HTML-Tag um das Layout an das entsprechende Gerät bzw. Position des Gerätes anzupassen. Im JS und CSS kann man sich darauf beziehen, um eigene Änderungen vorzunehmen. · Die portait und landscape Klasse gibt an, in welcher Position sich das Device gerade befindet · Klasse wie z.B. „max-width-320px“ gibt die maximal darstellbare Breite an Mayflower GmbH I 34
  • 35. Vielen Dank für Ihre Aufmerksamkeit! Kontakt Marco Francke marco.francke@mayflower.de Mayflower GmbH Mannhardtstrasse6 80538 München 10.03.11 Mayflower GmbH 35