Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT)...
Transcript of Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT)...
Interfacing IT
Laiteriippumaton UIAjaxilla ja Javalla
IT MillJoonas Lehtinen, PhDCEO
Interfacing IT
IT Mill
• Leading expert on RIA (Rich Internet
Applications)
• Provides tools, services and support
for software development for Web,
Java and XML technologies
• Finnish, privately owned, venture backed
company found in year 2000
Interfacing IT
Laiteriippumaton UI?
Interfacing IT
Stakeholders
Interfacing IT
Better than a Desktop Application?
Interfacing IT
How to Put It Together?
Interfacing IT
Cost? Time To Market? ROI?
Interfacing IT
Laiteriippumaton?
Interfacing IT
Pienin ja ainoa yhteinen nimittäjä
Web BrowserJava
Win32
.NET
FlashLinux
Interfacing IT
Web Browser
Interfacing IT
Ajax
• Stands for AsynchronousJavaScript and XML
• Really a marketing term• “Abuse” of old
technologies:– HTTP– XMLHTTPRequest– DOM ja HTML– XSS (Cross-site
scripting)
• Moves the presentationlogic to browser
• Requires no installations• Supported by IE6, IE7,
Firefox, Opera, Safari, ..
Interfacing IT
Täydellinen ratkaisu?
Interfacing IT
Selaimet
• Internet Explorer 6 / 7
• Webkit / KHTML / Safari / S60R3
• Firefox / XULRunner / Mozilla
• Opera
Interfacing IT
Päätelaitteiden eroja (1/2)
• Erittäin vaihteleva CSS-tuki
• Eri bugit kaikilla selaimen eri tasoilla
– Presentaatiokerroksen bugit
– Käyttöjärjestelmän erilaiset widgetit
– Erilaisia muistivuotoja vm:ssä
– Kommunikaatiokerroksen erot
• Erilaisia ominaisuuksia eri selaimilla
– SVG, VML, Canvas
– Eri pluginit: Flash, Silverlight, Java
– Kuvien filtteröinnit
Interfacing IT
Interfacing IT
http://www.webstandards.org/action/acid2/
Interfacing IT
MSDN
Interfacing IT
Päätelaitteiden eroja (2/2)
• Erittäin vaihteleva suoritusnopeus– Toteutuksien erovaisuudet– Prosessorien nopeuserot
• Ruudun koko vaihtelee• Syöttölaitteet vaihtelevat
– Näppäimistö, hiiri, kosketusnäyttö– Tulevaisuudessa ehkä mikrofoni, GPS, kamera, ..
• Muistin määrä vaihtelee merkittävästi• Verkon nopeus ja latenssit erilaisia
Interfacing IT
http://nontroppo.org/timer/kestrel_tests/
Interfacing IT
http://nontroppo.org/timer/kestrel_tests/
Interfacing IT
http://nontroppo.org/timer/kestrel_tests/
Interfacing IT
http://nontroppo.org/timer/kestrel_tests/
Interfacing IT
Time Breakdown of Modern Web Design
Interfacing IT
Työkalut
Interfacing IT
Classification of RIA Frameworks
Programmed in
Java
JavaScript
XML
IT Mill Toolkit 5Google WebToolkit
Backbase
Dojo
Executedin web browser
Executedin server
ICE Faces
Tibco
.NET
IT Mill Toolkit 4
Requiresplug-in
Adobe Flex
Java Applet
Silverlight
JavaFX
Interfacing IT
IT Mill Toolkit User Interface Library
Interfacing IT
Building Blocks for Your RIA
Interfacing IT
Write Once, Use on Any Browser
Interfacing IT
Java - The Only Language You Need
Interfacing IT
Keeping the Logic in Server Keeps It Secure
Interfacing IT
Powerful Development Tools
Interfacing IT
Example: SimpleDevelopment Model
• Application is created by extendingcom.itmill.toolkit.Application
• init() gets called on application start– Initializes the user interface– Registers event handlers
• Events arrive to buttonClick(event)– Calculations are done in the
handler to keep the examplesimple
– Event handler updates calculatordisplay with a simple method call
• No XML, HTML or JavaScript,just Java
buttonClick(event)
init()
event
create the user interface
update the “Result”
Interfacing IT
Interfacing IT
Interfacing IT
IT Mill Toolkit 5
• AJAX enabled UI widgets built on to ofGoogle Web Toolkit (GWT) technology
• New components can be added completely inJava (with help of GWT)
• Supports both server-side as well as client-side programming models
• Open Source with Apache 2 license• Commercial support available
• Toolkit 4 available today• Beta of Toolkit 5 with GWT integration will be
available in December 2007
Interfacing IT
Interfacing IT
Testing Tools
1. Record a test case– Use application like normal user
would– Add assertions to verify correct
application behaviour / results
2. Save test case to testing server– Combine test cases to complete test
suites– Edit test if modifications are needed
3. Run test case on any browser– Run tests regularly to ensure quality– Run several tests in parallel to
ensure application scalability– Run the tests in all target browsers
and operating systems
Interfacing IT
Kysymyksiä?Ville Ingman
Technical Sales Manager
Joonas LehtinenCEO
www.itmill.com
?