eclipse scout goesjava & html5€¦ · eclipse scout scout framework built for business...
TRANSCRIPT
![Page 1: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/1.jpg)
Daniel Wiehl, Matthias Zimmermann
Eclipse Scout goes Java & HTML5
![Page 2: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/2.jpg)
Agenda
�What’s Scout
�16 Years of technology
�The new HTML5 UI
�The new Scout Java Platform
![Page 3: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/3.jpg)
Eclipse Scout
Scout Framework
� Built for Business Applications
� Multi Device support
� Based on Java and HTML5, CSS3, JS
Framework Goals
� Long term strategy (enterprise apps live > 10 years)
� Boosts productivity (producing software in Switzerland …)
� Easy to learn (new team members productive in 1-2 weeks)
Visit us at Booth #8 – next to the coffee cart ☺☺☺☺
![Page 4: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/4.jpg)
Eclipse Scout
![Page 5: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/5.jpg)
Eclipse Scout 2015
Back to the Future …
![Page 6: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/6.jpg)
Let’s go back …
![Page 7: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/7.jpg)
… 1999
![Page 8: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/8.jpg)
… 1999
![Page 9: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/9.jpg)
… 1999
![Page 10: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/10.jpg)
… 2002
![Page 11: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/11.jpg)
… 2005
![Page 12: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/12.jpg)
… 2007
![Page 13: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/13.jpg)
Eclipse Scout 2011
![Page 14: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/14.jpg)
Eclipse Scout 2012
![Page 15: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/15.jpg)
Eclipse Scout 2015/16
![Page 16: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/16.jpg)
Eclipse Scout 2015
Eclipse Scout NeonThe new HTML5 UI
![Page 17: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/17.jpg)
![Page 18: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/18.jpg)
Perspectives Tools
Navigation
Table Controls Table Filter Status
Actions
Content
View Tabs
![Page 19: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/19.jpg)
Eclipse Scout 2015
Eclipse Scout NeonStyling and Themes
![Page 20: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/20.jpg)
Technology
� CSS3 + Less
CSS Organisation
� Global Less files (colors, fonts, sizes, …)
� Component specific Less files (Form, Field, Button…)
� Optional: Project specific Less files
� Theme: Named set of Less files
From Less to final CSS
1. Project specific files override Scout defaults
2. Single big CSS is assembled, processed and minified
Themes and Styling with Scout
![Page 21: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/21.jpg)
ThemingSwitching Themes dynamically
![Page 22: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/22.jpg)
ThemingDefault Theme
![Page 23: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/23.jpg)
Theming«Dark» Theme
![Page 24: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/24.jpg)
Theming«Rayo» Theme
![Page 25: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/25.jpg)
Eclipse Scout 2015
Eclipse Scout NeonGlobal Styling + Component Styling
![Page 26: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/26.jpg)
Use Case
� Styling of general appearance
− Colors
− Fonts
− Sizes
� Low effort with upgrades
� Simple and efficient
Example
� Control colors
Styling with Global Propertiescolors.css, fonts.css, sizes.css …
![Page 27: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/27.jpg)
Changing a Custom Theme@control-background-color = #fa1;
![Page 28: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/28.jpg)
Changing a Custom Theme@control-background-color = #fa1;
![Page 29: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/29.jpg)
Use Cases
� Modify appearance of individual component
� Override component Less/CSS3 files
� Additional efforts for Scout upgrades
Example
� Dialog properties
Please note
� Current state (Nov 2015) is work in progress
� There are still 7 months until Neon M7
Styling Individual ComponentsForms.css, Menu.css, Desktop.css …
![Page 30: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/30.jpg)
Styling Individual Components.dialog class
![Page 31: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/31.jpg)
Styling Individual Components.dialog – change some attributes
![Page 32: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/32.jpg)
Styling Individual Componentsand reload …
![Page 33: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/33.jpg)
Eclipse Scout 2015
Eclipse Scout NeonThe new Java Platform
![Page 34: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/34.jpg)
� What motivated us to become a vanilla Java framework
� What does the new application platform look like
� How we replaced OSGi services and Eclipse extension registry
![Page 35: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/35.jpg)
- bring simplicity back to Scout;
- express project dependencies with Maven only;
- build projects with Maven only;
- integrate third party libraries directly via Maven Central;
- integrate easier with Java EE containers.
Motivation in making Scout a vanilla Java framework
![Page 36: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/36.jpg)
Eclipse Scout Application Platform
Platform
application
lifecycle
Class InventoryJandex (Wildfly)
Bean Manageruses
Platform Listener
Java SPI APIMETA-INF
/services/o.e.s.r.p.IPlatform
Implementor
discovery
notifies
creates
![Page 37: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/37.jpg)
- simple Java class;
- is annotated with @Bean;
- does not require you to implement an interface;
- has either application or instance scope.
Eclipse Scout Bean ManagerWhat is a bean?
![Page 38: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/38.jpg)
Eclipse Scout Bean ManagerWhat does an ‘instance scoped’ bean look like?
@Bean
public class HelloBean {
public void sayHello() {
System.out.println("Hello Ludwigsburg");
}
}
How to lookup that bean?
BEANS.get(HelloBean.class).sayHello(); // Hello Ludwigsburg: HelloBean@1f32e575
BEANS.get(HelloBean.class).sayHello(); // Hello Ludwigsburg: HelloBean@279f2327
Different object reference
HelloBean@1f32e575
HelloBean@279f2327
![Page 39: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/39.jpg)
Eclipse Scout Bean ManagerWhat does an ‘application scoped’ bean look like?
@ApplicationScoped
public class HelloBean {
public void sayHello() {
System.out.println("Hello Ludwigsburg");
}
}
How to lookup that bean?
BEANS.get(HelloBean.class).sayHello(); // Hello Ludwigsburg: HelloBean@1f32e575
BEANS.get(HelloBean.class).sayHello(); // Hello Ludwigsburg: HelloBean@1f32e575
Same object reference
HelloBean@1f32e575
HelloBean@1f32e575
![Page 40: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/40.jpg)
- any object can be a bean;
- a bean can be provided dynamically;
- a bean can be replaced;
- a bean is registered on all its supertypes and interfaces.
Eclipse Scout Bean ManagerWhat makes Scout Bean Manager so great?
![Page 41: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/41.jpg)
Eclipse Scout Bean ManagerSome examples
<interface>
ICar
<abstract>
VW
Golf Passat
@Order(-1)
EGolf
@Order(-2)
@Replace
@Bean
Polo
@IgnoreBean
� Passat, EGolf
� Passat
� Exception
� EGolf
� Passat
� Exception
BEANS.all(ICar.class);
BEANS.get(ICar.class);
BEANS.get(VW.class);
BEANS.get(Golf.class);
BEANS.get(Passat.class);
BEANS.get(Polo.class);
BEANS.opt(Polo.class); � null
![Page 42: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/42.jpg)
- it’s like magic!
- beans are discovered only by their presence;
- for that to work, Jandex is used to calculate a class inventory index by spidering for classes during Maven build.
Eclipse Scout Bean ManagerHow are beans discovered?
![Page 43: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/43.jpg)
Eclipse Scout 2015
Summary
![Page 44: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/44.jpg)
Neon Release
� Eclipse Scout == Vanilla Java Framework
− Powerful Platform
− Maven by the Books
� Eclipse Scout UI == HTML5, JS, CSS3
− Custom Themes
− Custom Styling
Take Home Message
![Page 45: Eclipse Scout goesJava & HTML5€¦ · Eclipse Scout Scout Framework Built for Business Applications Multi Device support Based on Java and HTML5, CSS3, JS Framework Goals Long termstrategy](https://reader035.vdocument.in/reader035/viewer/2022081400/5f0ff2e67e708231d446afdf/html5/thumbnails/45.jpg)
Eclipse Scout 2015
Thanks@EclipseScout
{daniel.wiehl|matthias.zimmermann}@bsi-software.com