Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT)...

38
Interfacing IT Laiteriippumaton UI Ajaxilla ja Javalla IT Mill Joonas Lehtinen, PhD CEO

Transcript of Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT)...

Page 1: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Laiteriippumaton UIAjaxilla ja Javalla

IT MillJoonas Lehtinen, PhDCEO

Page 2: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

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

Page 3: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Laiteriippumaton UI?

Page 4: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Stakeholders

Page 5: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Better than a Desktop Application?

Page 6: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

How to Put It Together?

Page 7: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Cost? Time To Market? ROI?

Page 8: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Laiteriippumaton?

Page 9: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Pienin ja ainoa yhteinen nimittäjä

Web BrowserJava

Win32

.NET

FlashLinux

Page 10: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Web Browser

Page 11: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

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, ..

Page 12: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Täydellinen ratkaisu?

Page 13: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Selaimet

• Internet Explorer 6 / 7

• Webkit / KHTML / Safari / S60R3

• Firefox / XULRunner / Mozilla

• Opera

Page 14: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

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

Page 15: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Page 16: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

http://www.webstandards.org/action/acid2/

Page 17: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

MSDN

Page 18: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

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

Page 19: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

http://nontroppo.org/timer/kestrel_tests/

Page 20: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

http://nontroppo.org/timer/kestrel_tests/

Page 21: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

http://nontroppo.org/timer/kestrel_tests/

Page 22: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

http://nontroppo.org/timer/kestrel_tests/

Page 23: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Time Breakdown of Modern Web Design

Page 24: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Työkalut

Page 25: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

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

Page 26: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

IT Mill Toolkit User Interface Library

Page 27: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Building Blocks for Your RIA

Page 28: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Write Once, Use on Any Browser

Page 29: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Java - The Only Language You Need

Page 30: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Keeping the Logic in Server Keeps It Secure

Page 31: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Powerful Development Tools

Page 32: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

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”

Page 33: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Page 34: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Page 35: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

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

Page 36: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Page 37: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

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

Page 38: Laiteriippumaton UI Javalla ja Ajaxilla - Public · 2007. 11. 29. · Google Web Toolkit (GWT) technology •New components can be added completely in Java (with help of GWT) •Supports

Interfacing IT

Kysymyksiä?Ville Ingman

Technical Sales Manager

[email protected]

Joonas LehtinenCEO

[email protected]

www.itmill.com

?