Building i pad apps in pure java with vaadin
-
Upload
joonas-lehtinen -
Category
Technology
-
view
3.817 -
download
0
description
Transcript of Building i pad apps in pure java with vaadin
![Page 1: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/1.jpg)
Joonas Lehtinen@joonaslehtinen
Building iPad Apps in Pure Java with Vaadin
![Page 2: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/2.jpg)
2010
![Page 3: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/3.jpg)
![Page 4: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/4.jpg)
Today~ 100M iPads shipped
~70% of tablet marketshare
![Page 5: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/5.jpg)
A Year Ago“93% of Fortune 500
companies have deployed or are testing iPads”
- Apple
![Page 6: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/6.jpg)
So, how do I develop for iPad?
![Page 7: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/7.jpg)
![Page 8: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/8.jpg)
![Page 9: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/9.jpg)
?
![Page 10: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/10.jpg)
![Page 11: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/11.jpg)
![Page 12: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/12.jpg)
Vaadin is a UI framework
for rich web applications
![Page 13: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/13.jpg)
![Page 14: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/14.jpg)
htmljava
![Page 15: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/15.jpg)
123ideas
![Page 16: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/16.jpg)
1RichComponents
![Page 18: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/18.jpg)
![Page 19: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/19.jpg)
![Page 20: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/20.jpg)
![Page 21: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/21.jpg)
![Page 26: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/26.jpg)
![Page 27: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/27.jpg)
InMemory, Bean, Method, Collection, JDBC, JPA, Hibernate, TextFile, FileSystem, Properties, EclipseLink, Lucene, Mockups, GAE, ...
![Page 28: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/28.jpg)
2Server + Client
![Page 29: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/29.jpg)
Layers of abstraction
JavaScriptJava toJavaScript
Webserver
Backendserver
required optional optionalrequired
RPC
optional
Vaa
din
required optionalrequired
GW
T
requiredrequired
Ext
JS
requiredrequired
required required
![Page 30: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/30.jpg)
Architecture
![Page 31: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/31.jpg)
![Page 32: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/32.jpg)
3EmbracingJava
![Page 33: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/33.jpg)
Componentsare justPOJOs
![Page 34: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/34.jpg)
Any JVMLanguage
![Page 35: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/35.jpg)
Any JavaIDE & Tools
![Page 36: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/36.jpg)
Most JavaServers, Portals &Clouds
![Page 37: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/37.jpg)
ApacheLicense
![Page 38: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/38.jpg)
VaadinTouchKit
![Page 39: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/39.jpg)
Apple iOS theme
Mobile components• TouchKitWindow• Navigation manager• NavigationBar• NavigationButton• SwipeView• PopoverWindow• Tabsheets• Toolbar• Switch
Offline mode
![Page 40: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/40.jpg)
What kind of iPad apps are we talking about?
![Page 41: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/41.jpg)
PumaProduct portfolio management
![Page 42: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/42.jpg)
![Page 43: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/43.jpg)
![Page 44: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/44.jpg)
![Page 45: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/45.jpg)
![Page 46: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/46.jpg)
Developing with Vaadin TouchKit
![Page 47: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/47.jpg)
![Page 48: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/48.jpg)
![Page 49: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/49.jpg)
![Page 50: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/50.jpg)
![Page 51: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/51.jpg)
![Page 52: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/52.jpg)
https://github.com/jojule/CrmDemo
![Page 53: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/53.jpg)
How does it work, really?
![Page 54: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/54.jpg)
![Page 55: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/55.jpg)
• Initial HTML• CSS (theme)• Images• JavaScript
830k total
250k
compress
120k
reducedwidgetset
![Page 56: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/56.jpg)
![Page 57: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/57.jpg)
• name=”Joonas”• button clicked
150 bytes
![Page 58: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/58.jpg)
![Page 59: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/59.jpg)
• name=”Joonas”• button clicked
150 bytes
• Add notification
466 bytes
![Page 60: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/60.jpg)
gettingstarted
![Page 61: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/61.jpg)
![Page 62: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/62.jpg)
mvn archetype:generate-DarchetypeGroupId=com.vaadin-DarchetypeArtifactId=vaadin-archetype-touchkit-DarchetypeVersion=LATEST
Maven
mvn package jetty:run-war
![Page 63: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/63.jpg)
Free Bookvaadin.com/book
~700 pages
Vaadin 7 Draft Edition
US $29.95
Vaadin is an open source Java framework for building modern web applications that look great, perform well and make you and
your users happy. http://vaadin.com/
2675387895299
ISBN 978-952-92-6753-890000
Get a free copyat Vaadin booth
![Page 64: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/64.jpg)
�
By Marko Grönroos
ABOUT VAADIN
ww
w.d
zone
.co
m
G
et M
ore
Ref
card
z! V
isit
ref
card
z.co
m
#85
Getting Started with VaadinCONTENTS INCLUDE:�� About Vaadin�� Creating An Application�� Components �� Layout Components�� Themes�� Data Binding and more...
Vaadin is a server-side Ajax web application development framework that allows you to build web applications just like with traditional desktop frameworks, such as AWT or Swing. An application is built from user interface components contained hierarchically in layout components.
In the server-driven model, the application code runs on a server, while the actual user interaction is handled by a client-side engine running in the browser. The client-server communications and any client-side technologies, such as HTML and JavaScript, are invisible to the developer. As the client-side engine runs as JavaScript in the browser, there is no need to install plug-ins. Vaadin is released under the Apache License 2.0.
Figure 1: Vaadin Client-Server Architecture
If the built-in selection of components is not enough, you can develop new components with the Google Web Toolkit (GWT)
Figure 2: Architecture for Vaadin Applications
Hot Tip
You can get a reference to the application object from any component attached to the application with ��$!!����$� ���
Event ListenersIn the event-driven model, user interaction with user interface components triggers server-side events, which you can handle
Web BrowserClient-Side Engine
JavaWeb Server
VaadinUIComponents
YourJavaApplication
WebService
EJB
DB
Servlet Container
UserApplication
EventListener
DataModel
ApplicationThemes
ApplicationResources
DefaultTheme
FileResources
ExternalResources
Database
DataBinding
Inherits Events Changes
AJAX Requests
Inherits
UIComponent
JavaServlet
ApplicationClass
Web BrowserClient-Side Engine
brought to you by...
![Page 65: Building i pad apps in pure java with vaadin](https://reader033.fdocuments.us/reader033/viewer/2022042613/546276edb4af9f671c8b4803/html5/thumbnails/65.jpg)
Questions?Comments?
[email protected] vaadin.com/joonas
@joonaslehtinen#vaadin
InvitationJoin us today 5pm for Vaadin & GWT meet-up at Hotel Serrano (100 yards from Hilton)
Super dev mode & Elemental in GWT 2.5Ray Cromwell / Google
Vaadin 7 Client-Server Hybrid AppsJoonas Lehtinen / Vaadin
Errai 2.1Mike Brock / Red Hat
RUMS/NASA demoGeorge Soler / SAIC
Please register at http://bit.ly/vaadin-gwt-meetup