80 likes | 248 Vues
Ústavný seminár, 26.3.2009. Vývoj AJAX aplikácií pomocou nástroja Google Web Toolkit. Emil Gatial. http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5 http://code.google.com/webtoolkit/. Institute of Informatics Slovak Academy of Sciences. Úvod do AJAX. AJAX
E N D
Ústavný seminár, 26.3.2009 Vývoj AJAX aplikácií pomocou nástroja Google Web Toolkit Emil Gatial http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5 http://code.google.com/webtoolkit/ Institute of Informatics Slovak Academy of Sciences
Úvod do AJAX • AJAX Asynchrónna komunikácia client/server pomocou DOM API XMLHttpRequest v jazyku JavaScript var xmlhttp; var content = “Hello world”; try { xmlhttp = new XMLHttpRequest(); } catch () { alert("Error initializing XMLHttpRequest!"); } if(xmlhttp) { xmlhttp.onreadystatechange=function() {handler(http)}; xmlhttp.open("POST", url, true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.setRequestHeader("Content-length", content.length); xmlhttp.setRequestHeader("Connection", "close"); xmlhttp.send(content); return xmlhttp; } function handler(response) { if (xmlhttp && xmlhttp.readyState == 4 && xmlhttp.status == 200) alert(“Response: “+ response.responseText); } Ústavný seminár, Bratislava
Google Web Toolkit (GWT) • Kompilátor Java do JavaScript kódu • Knižnice pre GUI (UI widgets) • Ladenie GWT aplikácii • Emulácia základných knižníc v Jave • Generovanie JavaScript kódu pre rôzne prehliadače Cieľ: Urýchliť vývoj a ladenie AJAX aplikácií v jazyku Java Ústavný seminár, Bratislava
Spúšťanie GWT aplikácie • „Hosted mode“ – aplikácia je spustená v „Java bytecode“ • pre účely ladenia • „Web mode“ – klientska aplikácia je spustená vo webovom prehliadači • produkčná verzia Ústavný seminár, Bratislava
JSON&JSNI • JSON (JavaScript Object Notation) {"firstName": "John", "lastName": "Smith","address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": 10021 }, "phoneNumbers": ["212 555-1234","646 555-4567"] } • JSNI (JavaScript Native Interface) native String test(String s) /*-{ var s = this@seminar.gwt.Test::toUpperCase(Ljava/lang/String;)(s) $wnd.alert(“Test: ”+ s); return s; }-*/; • JavaScript Overlay Types class UserInfo extends JavaScriptObject { protected Customer() { } public final native String getFirstName() /*-{ return this.firstName; }-*/ … public final getFullName() { return getFirstName() +” “+ getLastName() } } Ústavný seminár, Bratislava
Externé GWT knižnice • Gears 1.1 Library • Google AJAX Search 1.0 Library • Google Maps 1.0 Library • Google Visualization 1.0 Library • Gadgets 1.0 Library Ústavný seminár, Bratislava
Ukážka vývoja GWT aplikácie v IntelliJ Idea Hlavná stránka GWT http://code.google.com/webtoolkit/ Dokumentácia GWT http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5 Dokumentácia GWT-EXT http://code.google.com/p/gwt-ext/ GWT JAVADOC http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/index.html?overview-summary.html GWT-EXT JAVADOC http://www.gwt-ext.com/docs/2.0.4/ Ústavný seminár, Bratislava