Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse...
Transcript of Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse...
BSI Business Systems Integration AG
Developing mobile applications with
Eclipse Scout
Presentation by Ken Lee, Andreas Hoegger EclipseCon Boston 2013
March 27th, 2013
• A Story about UI Evolution
• Introduction to Eclipse Scout
• Multi-Frontend with a single Codebase – Showcase
• Mobile / Tablet UI – Extensions
– Transformation
– Optimization
• Scout Mobile in Action
• Development Status
• Live Demonstration
Overview
BSI Business Systems Integration AG
A Story about UI
Evolution
A Story about UI Evolution
Once upon a time...
A Story about UI Evolution
Once upon a time...
A Story about UI Evolution
A Story about UI Evolution
A Story about UI Evolution
UI Evolution Summary
Rich Client (Swing / SWT)
Tablet Mobile
Web Client (RAP)
BSI Business Systems Integration AG
Introduction to Scout
What is Scout?
• Open-Source Java/Eclipse Framework
• Designed for Business Applications
• Tooling Support with Scout SDK
• Multi-Frontend (Desktop, Web, Mobile)
• Goals
• Boost productivity
• Simple to learn
Simple. Stable.
Flexible.
Scout Overview
Eclipse
Application
Scout
ESB
Application Layer
UI
Integration
Scout Server
Client Model
Scout Client
Business Services
Data Access
Client
Server
Service Tunnel
Eclipse Platform
Equinox OSGi
Webserver
Scout Server
Server Application
WS
LOG
SQL
* + •
Eclipse Platform
Equinox OSGi
Scout Client
Client Application
Swin
g
SWT
* + °
Client-Server Architecture (Desktop)
Web Mobile
Service Tunnel
Eclipse Platform
Equinox OSGi
Webserver
Scout Server
Server Application
WS
LOG
SQL
* + •
Eclipse Platform
Equinox OSGi
Scout Client
Client Application
RA
P
* + °
Webserver
Browser
Client-Server Architecture (Web / Mobile)
BSI Business Systems Integration AG
Multi-Frontend with a single
Codebase
Multi-Frontend with a single Codebase
One Codebase
Easier Maintenance
Lower Costs Same Development Tools
Same Programming Language
Consistent Business Rules
Consistent Look & Feel
Same Features
BSI Business Systems Integration AG
Showcase
http://www.youtube.com/watch?v=pjANvfa-phI
BSI Business Systems Integration AG
Mobile / Tablet UI
Mobile Extension
Scout Runtime Core
Scout Mobile Extension
Optimized Components
Optimized Themes
Device Transformer
Scout RAP UI
Device Transformation
Smartfield
Table
Optimized Components
Optimized Theme
BSI Business Systems Integration AG
Scout Mobile in Action
• Include Scout mobile plugins into RAP product
Scout Mobile in Action
org.eclipse.scout.rt.client.mobile
org.eclipse.scout.rt.ui.rap.theme.rayo.mobile
org.eclipse.scout.rt.ui.rap.mobile
org.eclipse.scout.rt.ui.rap.theme.rayo
• Configure RAP brandings and entrypoints
Scout Mobile in Action
org.eclipse.rap.ui.entrypoint
StandaloneRwtEnvironment
MobileStandaloneRwtEnvironment
TabletStandaloneRwtEnvironment
org.eclipse.rap.ui.branding
Web -> org.eclipse.scout.rt.ui.rap.theme.rayo
Mobile -> org.eclipse.scout.rt.ui.rap.theme.rayo.mobile
Tablet -> org.eclipse.scout.rt.ui.rap.theme.rayo.mobile
• Register Dispatcher Servlet
• Register Device Transformer
• Make unnecessary fields invisible
Scout Mobile in Action
org.eclipse.scout.rt.extension.client.desktopExtensions
DeviceTransformationDesktopExtension
org.eclipse.equinox.http.registry.servlets
DeviceDispatcherServlet
BSI Business Systems Integration AG
Development Status
• Runs productively at our company
• Shipped with Eclipse Scout 3.9 (Kepler M6)
• Based on RAP 2.1
• Sources on Git – org.eclipse.scout.rt.client.mobile
– org.eclipse.scout.rt.ui.rap.mobile
– org.eclipse.scout.rt.ui.rap.theme.rayo.mobile
• Currently supporting iOS and Android – May run slow with old phones and browsers
– Windows Phone support not planned yet
http://www.eclipse.org/downloads/packages/eclipse-scout-developers/keplerm6
http://git.eclipse.org/c/scout/org.eclipse.scout.rt.git
Development Status
BSI Business Systems Integration AG
Live Demonstration
? !
Questions
BSI Business Systems Integration AG
Thank You!