developing mobile applications with eclipse scout...developing mobile applications with eclipse...

32
BSI Business Systems Integration AG Developing mobile applications with Eclipse Scout Presentation by Ken Lee, Andreas Hoegger EclipseCon Boston 2013 March 27th, 2013

Upload: others

Post on 19-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

BSI Business Systems Integration AG

Developing mobile applications with

Eclipse Scout

Presentation by Ken Lee, Andreas Hoegger EclipseCon Boston 2013

March 27th, 2013

Page 2: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

• 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

Page 3: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

BSI Business Systems Integration AG

A Story about UI

Evolution

Page 4: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

A Story about UI Evolution

Once upon a time...

Page 5: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

A Story about UI Evolution

Once upon a time...

Page 6: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

A Story about UI Evolution

Page 7: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

A Story about UI Evolution

Page 8: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

A Story about UI Evolution

Page 9: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

UI Evolution Summary

Rich Client (Swing / SWT)

Tablet Mobile

Web Client (RAP)

Page 10: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

BSI Business Systems Integration AG

Introduction to Scout

Page 11: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

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.

Page 12: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

Scout Overview

Eclipse

Application

Scout

Page 13: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

ESB

Application Layer

UI

Integration

Scout Server

Client Model

Scout Client

Business Services

Data Access

Client

Server

Page 15: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

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)

Page 16: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

BSI Business Systems Integration AG

Multi-Frontend with a single

Codebase

Page 17: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

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

Page 19: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

BSI Business Systems Integration AG

Mobile / Tablet UI

Page 20: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

Mobile Extension

Scout Runtime Core

Scout Mobile Extension

Optimized Components

Optimized Themes

Device Transformer

Scout RAP UI

Page 21: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

Device Transformation

Page 22: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

Smartfield

Table

Optimized Components

Page 23: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

Optimized Theme

Page 24: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

BSI Business Systems Integration AG

Scout Mobile in Action

Page 25: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

• 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

Page 26: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

• 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

Page 27: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

• 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

Page 28: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

BSI Business Systems Integration AG

Development Status

Page 29: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

• 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

Page 30: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

BSI Business Systems Integration AG

Live Demonstration

Page 31: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

? !

Questions

Page 32: Developing mobile applications with Eclipse Scout...Developing mobile applications with Eclipse Scout ... Services Data Access Client Server . Service Tunnel Server Eclipse Platform

BSI Business Systems Integration AG

Thank You!