SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Mixing Ajax, Swing und Flash Sibylle Peter, Matthias Huber, Canoo AG
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Übersicht ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Clientseitige Integration Server Server Ajax Flash Swing Client Server
Warum mehrere Technologien? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mixing Ajax & Flash Flash Ajax ExternalInterface Flex Ajax Bridge
ExternalInterface ,[object Object],[object Object],[object Object],[object Object]
ExternalInterface - Beispiel ,[object Object],[object Object]
Ajax flexApp = document.getElementById('flexApp'); ... flexApp.setCamera(camera.checked); ... function setSelectedPhone( name, price) { name.innerHTML = name; price.innerHTML = price; } catalog.swf hybridstore.html
Flex catalog.mxml private function setupCallbacks():void { if (ExternalInterface.available) { ExternalInterface.addCallback("setCamera", setCamera); ... addEventListener(ThumbnailClickedEvent.THUMBNAIL_CLICK_EVENT,   setSelectedPhoneEventHandler); } } .... private function setSelectedPhoneEventHandler( event:ThumbnailClickedEvent):void { var thumb:Thumbnail = event.thumbnail; ExternalInterface.call("setSelectedPhone",   thumb.getName(),   thumb.getPrice()); }
Flex Ajax Bridge ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ExternalInterface    Flex Ajax Bridge ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mixing Swing & Ajax ,[object Object],[object Object],Swing Ajax JavaScript
Mixing Swing  &  Ajax ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Swing & Ajax – Beispiel I SwingGoogleMap JDIC WebBrowser Native Browser Engine map.html
Swing & Ajax – Beispiel II Zoom In ActionListener JDIC WebBrowser Google Map executeScript map.zoomIn map.getZoom
Swing & Ajax – Beispiel III NavBar JS2JavaEventHandler JDIC WebBrowser Google Map EventListener JS2JavaEvent document.location setLocation mouseMove
Mixing Swing  &  Flash - jFlash ,[object Object],[object Object],Swing Flash Java API External API
External API ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Swing & Flash – Beispiel  JFlashHybridStore JFlash IE Flash Plugin store.swf
Swing & Flash – Beispiel II ActionListener JFlash Store callExternalAPI ActiveX.CallFunction <invoke … Camera
Swing & Flash – Beispiel III JS2JavaEventHandler JFlash Store NavBar JFlashEventHandler EventHandler ExternalInterface.call JFlashEvent <invoke… JS2JavaEvent setSelectedPhone ThumbnailClickedEvent
jFlash ,[object Object],[object Object],[object Object],[object Object],[object Object]
Mixing Swing  &  Flash - JDIC Swing JavaScript URL  loading Flash JavaScript ExternalInterface FABridge
Swing & Flash – Beispiel  JDICHybridStore JDIC WebBrowser Native Browser store.html
Swing & Flash – Beispiel II ActionListener Store <invoke … Camera JDIC WebBrowser store.html executeScript flexApp.setCamera..
Swing & Flash – Beispiel III JS2JavaEventHandler JDIC WebBrowser Store ExternalInterface.call NavBar JS2JavaEvent setSelectedPhone EventHandler ClickedEvent store.html document.location
JDIC    JFlash ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Zusammenfassung ,[object Object],[object Object],[object Object]
Zusammenfassung ,[object Object],[object Object],[object Object],[object Object],[object Object]
Zusammenfassung ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
Links ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Andere mochten auch

Free, Open, Flexible: Rethinking Learning Materials Online
Free, Open, Flexible: Rethinking Learning Materials OnlineFree, Open, Flexible: Rethinking Learning Materials Online
Free, Open, Flexible: Rethinking Learning Materials OnlineAlexandre Enkerli
 
Anth326 Meeting 3: African Diversity
Anth326 Meeting 3: African DiversityAnth326 Meeting 3: African Diversity
Anth326 Meeting 3: African DiversityAlexandre Enkerli
 
Le bilan des explorcamps 2007 / 2008 de l'ARTESI
Le bilan des explorcamps 2007 / 2008 de l'ARTESILe bilan des explorcamps 2007 / 2008 de l'ARTESI
Le bilan des explorcamps 2007 / 2008 de l'ARTESIFrederic Soussin
 
Enthusing Higher Education Getting Universities and Colleges to Play with On...
Enthusing Higher Education Getting Universities and Colleges to Play with On...Enthusing Higher Education Getting Universities and Colleges to Play with On...
Enthusing Higher Education Getting Universities and Colleges to Play with On...Alexandre Enkerli
 
Delivering same course again : How to start afresh
Delivering same course again : How to start afreshDelivering same course again : How to start afresh
Delivering same course again : How to start afreshAlexandre Enkerli
 
Anth326/2AA Meeting 1 (Draft)
Anth326/2AA Meeting 1 (Draft)Anth326/2AA Meeting 1 (Draft)
Anth326/2AA Meeting 1 (Draft)Alexandre Enkerli
 
SOCI/ANTH 441 Material Culture Week 6: Ethnography
SOCI/ANTH 441 Material Culture Week 6: EthnographySOCI/ANTH 441 Material Culture Week 6: Ethnography
SOCI/ANTH 441 Material Culture Week 6: EthnographyAlexandre Enkerli
 
Les outils WEB 2.0 des innoventeurs
Les outils WEB 2.0 des innoventeursLes outils WEB 2.0 des innoventeurs
Les outils WEB 2.0 des innoventeursFrederic Soussin
 
Teaching with Moodle: Engaging Learners through Online Discussions
Teaching with Moodle: Engaging Learners through Online DiscussionsTeaching with Moodle: Engaging Learners through Online Discussions
Teaching with Moodle: Engaging Learners through Online DiscussionsAlexandre Enkerli
 
How Bio Ontologies Enable Open Science
How Bio Ontologies Enable Open ScienceHow Bio Ontologies Enable Open Science
How Bio Ontologies Enable Open Sciencedrnigam
 
SOCI/ANTH 441 Material Culture Week 2: Things
SOCI/ANTH 441 Material Culture Week 2: ThingsSOCI/ANTH 441 Material Culture Week 2: Things
SOCI/ANTH 441 Material Culture Week 2: ThingsAlexandre Enkerli
 
Charente Tourisme 14 04 11
Charente Tourisme 14 04 11Charente Tourisme 14 04 11
Charente Tourisme 14 04 11Frederic Soussin
 

Andere mochten auch (19)

Free, Open, Flexible: Rethinking Learning Materials Online
Free, Open, Flexible: Rethinking Learning Materials OnlineFree, Open, Flexible: Rethinking Learning Materials Online
Free, Open, Flexible: Rethinking Learning Materials Online
 
Soci441mtg2
Soci441mtg2Soci441mtg2
Soci441mtg2
 
Anth326 Meeting 3: African Diversity
Anth326 Meeting 3: African DiversityAnth326 Meeting 3: African Diversity
Anth326 Meeting 3: African Diversity
 
TEST
TESTTEST
TEST
 
ANTH398D Meeting 5
ANTH398D Meeting 5ANTH398D Meeting 5
ANTH398D Meeting 5
 
Le bilan des explorcamps 2007 / 2008 de l'ARTESI
Le bilan des explorcamps 2007 / 2008 de l'ARTESILe bilan des explorcamps 2007 / 2008 de l'ARTESI
Le bilan des explorcamps 2007 / 2008 de l'ARTESI
 
Affiitiz 4
Affiitiz 4Affiitiz 4
Affiitiz 4
 
Enthusing Higher Education Getting Universities and Colleges to Play with On...
Enthusing Higher Education Getting Universities and Colleges to Play with On...Enthusing Higher Education Getting Universities and Colleges to Play with On...
Enthusing Higher Education Getting Universities and Colleges to Play with On...
 
Delivering same course again : How to start afresh
Delivering same course again : How to start afreshDelivering same course again : How to start afresh
Delivering same course again : How to start afresh
 
SOCI/ANT 441 Meeting 3
SOCI/ANT 441 Meeting 3SOCI/ANT 441 Meeting 3
SOCI/ANT 441 Meeting 3
 
Anth326/2AA Meeting 1 (Draft)
Anth326/2AA Meeting 1 (Draft)Anth326/2AA Meeting 1 (Draft)
Anth326/2AA Meeting 1 (Draft)
 
SOCI/ANTH 441 Material Culture Week 6: Ethnography
SOCI/ANTH 441 Material Culture Week 6: EthnographySOCI/ANTH 441 Material Culture Week 6: Ethnography
SOCI/ANTH 441 Material Culture Week 6: Ethnography
 
ANTH326 Meeting 6 (Draft)
ANTH326 Meeting 6 (Draft)ANTH326 Meeting 6 (Draft)
ANTH326 Meeting 6 (Draft)
 
Les outils WEB 2.0 des innoventeurs
Les outils WEB 2.0 des innoventeursLes outils WEB 2.0 des innoventeurs
Les outils WEB 2.0 des innoventeurs
 
Teaching with Moodle: Engaging Learners through Online Discussions
Teaching with Moodle: Engaging Learners through Online DiscussionsTeaching with Moodle: Engaging Learners through Online Discussions
Teaching with Moodle: Engaging Learners through Online Discussions
 
How Bio Ontologies Enable Open Science
How Bio Ontologies Enable Open ScienceHow Bio Ontologies Enable Open Science
How Bio Ontologies Enable Open Science
 
SOCI/ANTH 441 Material Culture Week 2: Things
SOCI/ANTH 441 Material Culture Week 2: ThingsSOCI/ANTH 441 Material Culture Week 2: Things
SOCI/ANTH 441 Material Culture Week 2: Things
 
ANTH326 Meeting 4
ANTH326 Meeting 4ANTH326 Meeting 4
ANTH326 Meeting 4
 
Charente Tourisme 14 04 11
Charente Tourisme 14 04 11Charente Tourisme 14 04 11
Charente Tourisme 14 04 11
 

Ähnlich wie Jax07 - Mixing Ajax Swing and Flash

Enterprise UI
Enterprise UIEnterprise UI
Enterprise UIgedoplan
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Jürg Stuker
 
Schnelle Winkel: 10x schnellere Webapps mit AngularJS und JEE
Schnelle Winkel: 10x schnellere Webapps mit AngularJS und JEESchnelle Winkel: 10x schnellere Webapps mit AngularJS und JEE
Schnelle Winkel: 10x schnellere Webapps mit AngularJS und JEEBenjamin Schmid
 
Effiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenEffiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenMartin Leyrer
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshopargency
 
Einführung in die webOS Programmierung
Einführung in die webOS ProgrammierungEinführung in die webOS Programmierung
Einführung in die webOS ProgrammierungMarkus Leutwyler
 
Rich ajax platform (rap)
Rich ajax platform (rap)Rich ajax platform (rap)
Rich ajax platform (rap)Bilal Erkin
 
Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?gedoplan
 
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionEffiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionMartin Leyrer
 
Gwt Techtalk Präsentation
Gwt Techtalk PräsentationGwt Techtalk Präsentation
Gwt Techtalk Präsentationmlegenhausen
 
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
 
PHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-AnsätzePHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-AnsätzeRalf Lütke
 
Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5kkramhoeft
 
2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als CacheDaniel Fisher
 
Web APIs mit ASP.NET MVC Core 1
Web APIs mit ASP.NET MVC Core 1Web APIs mit ASP.NET MVC Core 1
Web APIs mit ASP.NET MVC Core 1Manfred Steyer
 
Angular 2 Workshop November 2015 von der w-jax 2015
Angular 2 Workshop November 2015 von der w-jax 2015Angular 2 Workshop November 2015 von der w-jax 2015
Angular 2 Workshop November 2015 von der w-jax 2015Manfred Steyer
 
Angular 2 Workshop Oktober 2015
Angular 2 Workshop Oktober 2015Angular 2 Workshop Oktober 2015
Angular 2 Workshop Oktober 2015Manfred Steyer
 

Ähnlich wie Jax07 - Mixing Ajax Swing and Flash (20)

Enterprise UI
Enterprise UIEnterprise UI
Enterprise UI
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
 
Wicket Kurzübersicht
Wicket KurzübersichtWicket Kurzübersicht
Wicket Kurzübersicht
 
Schnelle Winkel: 10x schnellere Webapps mit AngularJS und JEE
Schnelle Winkel: 10x schnellere Webapps mit AngularJS und JEESchnelle Winkel: 10x schnellere Webapps mit AngularJS und JEE
Schnelle Winkel: 10x schnellere Webapps mit AngularJS und JEE
 
Effiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenEffiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 Anwendungen
 
Augmented Reality Workshop
Augmented Reality WorkshopAugmented Reality Workshop
Augmented Reality Workshop
 
Einführung in die webOS Programmierung
Einführung in die webOS ProgrammierungEinführung in die webOS Programmierung
Einführung in die webOS Programmierung
 
Rich ajax platform (rap)
Rich ajax platform (rap)Rich ajax platform (rap)
Rich ajax platform (rap)
 
Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?Angular und JEE - Wieso, weshalb, warum (und wie)?
Angular und JEE - Wieso, weshalb, warum (und wie)?
 
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionEffiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
 
3. Night of the pack
3. Night of the pack3. Night of the pack
3. Night of the pack
 
Gwt Techtalk Präsentation
Gwt Techtalk PräsentationGwt Techtalk Präsentation
Gwt Techtalk Präsentation
 
Mit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & AndroidMit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & Android
 
PHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-AnsätzePHP-Module in statischen Seiten - Architektur-Ansätze
PHP-Module in statischen Seiten - Architektur-Ansätze
 
Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5
 
2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache
 
Web APIs mit ASP.NET MVC Core 1
Web APIs mit ASP.NET MVC Core 1Web APIs mit ASP.NET MVC Core 1
Web APIs mit ASP.NET MVC Core 1
 
Web 2.0 revisited
Web 2.0 revisitedWeb 2.0 revisited
Web 2.0 revisited
 
Angular 2 Workshop November 2015 von der w-jax 2015
Angular 2 Workshop November 2015 von der w-jax 2015Angular 2 Workshop November 2015 von der w-jax 2015
Angular 2 Workshop November 2015 von der w-jax 2015
 
Angular 2 Workshop Oktober 2015
Angular 2 Workshop Oktober 2015Angular 2 Workshop Oktober 2015
Angular 2 Workshop Oktober 2015
 

Jax07 - Mixing Ajax Swing and Flash

  • 1. Mixing Ajax, Swing und Flash Sibylle Peter, Matthias Huber, Canoo AG
  • 2.
  • 3.
  • 4. Clientseitige Integration Server Server Ajax Flash Swing Client Server
  • 5.
  • 6. Mixing Ajax & Flash Flash Ajax ExternalInterface Flex Ajax Bridge
  • 7.
  • 8.
  • 9. Ajax flexApp = document.getElementById('flexApp'); ... flexApp.setCamera(camera.checked); ... function setSelectedPhone( name, price) { name.innerHTML = name; price.innerHTML = price; } catalog.swf hybridstore.html
  • 10. Flex catalog.mxml private function setupCallbacks():void { if (ExternalInterface.available) { ExternalInterface.addCallback(&quot;setCamera&quot;, setCamera); ... addEventListener(ThumbnailClickedEvent.THUMBNAIL_CLICK_EVENT, setSelectedPhoneEventHandler); } } .... private function setSelectedPhoneEventHandler( event:ThumbnailClickedEvent):void { var thumb:Thumbnail = event.thumbnail; ExternalInterface.call(&quot;setSelectedPhone&quot;, thumb.getName(), thumb.getPrice()); }
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Swing & Ajax – Beispiel I SwingGoogleMap JDIC WebBrowser Native Browser Engine map.html
  • 16. Swing & Ajax – Beispiel II Zoom In ActionListener JDIC WebBrowser Google Map executeScript map.zoomIn map.getZoom
  • 17. Swing & Ajax – Beispiel III NavBar JS2JavaEventHandler JDIC WebBrowser Google Map EventListener JS2JavaEvent document.location setLocation mouseMove
  • 18.
  • 19.
  • 20. Swing & Flash – Beispiel JFlashHybridStore JFlash IE Flash Plugin store.swf
  • 21. Swing & Flash – Beispiel II ActionListener JFlash Store callExternalAPI ActiveX.CallFunction <invoke … Camera
  • 22. Swing & Flash – Beispiel III JS2JavaEventHandler JFlash Store NavBar JFlashEventHandler EventHandler ExternalInterface.call JFlashEvent <invoke… JS2JavaEvent setSelectedPhone ThumbnailClickedEvent
  • 23.
  • 24. Mixing Swing & Flash - JDIC Swing JavaScript URL loading Flash JavaScript ExternalInterface FABridge
  • 25. Swing & Flash – Beispiel JDICHybridStore JDIC WebBrowser Native Browser store.html
  • 26. Swing & Flash – Beispiel II ActionListener Store <invoke … Camera JDIC WebBrowser store.html executeScript flexApp.setCamera..
  • 27. Swing & Flash – Beispiel III JS2JavaEventHandler JDIC WebBrowser Store ExternalInterface.call NavBar JS2JavaEvent setSelectedPhone EventHandler ClickedEvent store.html document.location
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.