SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
#theedge2012



Rich Ajax Platform
  By: Nickolay Borodachuk




       March 2012
All rights reserved @ Copyright AlphaCSP 2012   2
Modular business apps



             Multi Platform


            Single Sourcing
Cross platform




All rights reserved @ Copyright AlphaCSP 2012   4
Reuse your desktop app

                 98 % - Components reuse

                 80 % - Code reuse




                                                5
All rights reserved @ Copyright AlphaCSP 2012       5
Agenda

  Basic
    History
     Rap Vision
     Architecture
    Example
  Cool stuff
Basic
Web & RCP
Rich                     vs Web


o Rich client: Also known as a desktop application, native application,
  thick client, or fat client



o Web client: Also known as a web application, Internet/Intranet
   application, web user interface, and thin client




    ƒ



                                                                          8
RCP examples




               9
Rich Internet Client

o Rich web client: Also known as a rich Internet application, Ajax client,
   Web 2.0 client, and fat thin client.

    • Java Script - modify static content
    • Ajax - asynchronous requests

    • Dynamic JavaScript and HTML




Focus on one development language and environment.
                                                                             10
The Rich   Platform




                      11
History
 2006…2011




             12
History


RAP 0.1           RAP 1.1               RAP 1.3


 2006      2007       2008       2009      2010      2011



        Rap 1.0              RAP 1.2              RAP 1.4


                                                            13
RAP Vision
No need for WEB in…WEB
The RAP Vision




                 15
The RAP Vision




                 16
• Reusable components

• Consistent look & feel

• Save money

• Custom components




                           17
The RAP Vision




                 18
• Use only Java

• Tooling – Junit

• Full IDE support

• Much like SWT



     No need for HTML ! ! !
                              19
SWT example




                                                20
All rights reserved @ Copyright AlphaCSP 2012   20
The RAP Vision




                 21
• RCP powerful framework


• Plugins, plugins, plugins…


• Separates RCP into server and client


                                         22
The RAP Vision




                 23
• Third party source code

  • Easy to upgrade

  • Decouple applications development



Did you know ? As long as a plug-in is not currently in use, it can
      even be exchanged while an application is running
                                                                24
The RAP Vision




                 25
• No need to rewrite for WEB


• Little effort of developer side


• Use application vice versa




                                    26
The RAP Vision




                 27
• SWT part of the Eclipse


• Reimplements SWT


• Advantage compared to GWT or WICKET




                                        28
Architecture
RWT, QOOXDOO, Equinox




                        29
Architecture

       RCP     RAP




                     30
Architecture
QOOXDOO
// Create a button
var button1 = new qx.ui.form.Button("First Button", "icon/22/apps/internet-web-
browser.png");

// Document is the application root
var doc = this.getRoot();

// Add button to document at fixed coordinates
doc.add(button1,
{
  left : 100,
  top : 50
});
 // Add an event listener
button1.addListener("execute", function(e) {
  alert("Hello World!");
});
                                                                                  32
Architecture




Did you know? The word equinox means equal day and night 33
“ Always code as if the person who will
     maintain your code is a maniac
     serial killer that knows where you live.”

                          “..Visual C++, Tip of the day…”




                                                            34
What you know so far

               JFace   Workbench
    SWT




                                   35
Example
RCP to RAP in 5 minutes
RCP Mail




           37
Demo




       38
API Differences

RCP
aboutAction = AboutAction.ABOUT.create(window);
register(aboutAction);

RAP
aboutAction = new AboutAction(window);
register(aboutAction);


RAP + RCP
aboutAction = AboutActionHelper.create(window);
register(aboutAction);
                                                  39
Demo continued




                 40
Different app , same code
42
Cool stuff
Branding, Extension, Theming..
Testing

Supports standard JUnit testing
          public class MyTest extends TestCase {
           ...//
          {



Visible interface tests
          public class MyTest extends RAPTestCase {
           ...//
          {



                                                      44
Branding



             Define visual aspects


           Special branding for group


                  Theming - CSS
plugin.xml




 Themes

Register the New Theme

<extension
         id="firstTheme"
         point="org.eclipse.rap.ui.themes">
      <theme
             file="themes/myTheme/new.css"
             id="RCP.theme1"
             name="theme1">
      </theme>
         </extension>
Activate the Theme

<extension
         point="org.eclipse.rap.ui.branding">
      <branding
            defaultEntrypointId="RCP.entrypoint1"
            id="RCP.branding1"
            servletName="RCP.branding1"
            themeId="RCP.theme1">
      </branding>
   </extension>
                                                      46
Result




         47
Even more…

Run in cluster




RAP mobile




Easy deployment   Libra
                          48
Summary
    Rapid development
    Stay away from writing JavaScript, HTML and CSS




    Single Codebase - RAP can be compiled into an
    RCP application and Native mobile as well.

                                                    49
References

                                                http://wiki.eclipse.org/RAP
                   By Fabian Lange
                                                http://www.eclipse.org/rap/


                                                 By Ralf Sternberg




                                                                              50
All rights reserved @ Copyright AlphaCSP 2012                                 50
Contact details




nikolaib@alphacsp.com

Weitere ähnliche Inhalte

Was ist angesagt?

Lessons learned from a large scale OSGii web app - P Bakker & J de Vreede
Lessons learned from a large scale OSGii web app - P Bakker & J de VreedeLessons learned from a large scale OSGii web app - P Bakker & J de Vreede
Lessons learned from a large scale OSGii web app - P Bakker & J de Vreede
mfrancis
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBay
Tony Ng
 
Calling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBayCalling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBay
Tony Ng
 

Was ist angesagt? (20)

Top 10 Dying Programming Languages in 2020 | Edureka
Top 10 Dying Programming Languages in 2020 | EdurekaTop 10 Dying Programming Languages in 2020 | Edureka
Top 10 Dying Programming Languages in 2020 | Edureka
 
Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...
 
Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)Use Case: Building OSGi Enterprise Applications (QCon 14)
Use Case: Building OSGi Enterprise Applications (QCon 14)
 
php-1701-a
php-1701-aphp-1701-a
php-1701-a
 
Lessons learned from a large scale OSGii web app - P Bakker & J de Vreede
Lessons learned from a large scale OSGii web app - P Bakker & J de VreedeLessons learned from a large scale OSGii web app - P Bakker & J de Vreede
Lessons learned from a large scale OSGii web app - P Bakker & J de Vreede
 
OSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P KriensOSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P Kriens
 
Webinar: Open Mainframe Project's Zowe LTS Release
Webinar: Open Mainframe Project's Zowe LTS ReleaseWebinar: Open Mainframe Project's Zowe LTS Release
Webinar: Open Mainframe Project's Zowe LTS Release
 
eZ Publish Platform 5.2 and roadmap
eZ Publish Platform 5.2 and roadmapeZ Publish Platform 5.2 and roadmap
eZ Publish Platform 5.2 and roadmap
 
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
OSGi & Java EE: A hybrid approach to Enterprise Java Application Development,...
 
Project Zero Php Quebec
Project Zero Php QuebecProject Zero Php Quebec
Project Zero Php Quebec
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBay
 
Exploring pwa for shopware
Exploring pwa for shopwareExploring pwa for shopware
Exploring pwa for shopware
 
Java modules
Java modulesJava modules
Java modules
 
Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller
 
Launchpad: Lessons Learnt
Launchpad: Lessons LearntLaunchpad: Lessons Learnt
Launchpad: Lessons Learnt
 
Dissecting ruby on rails
Dissecting ruby on railsDissecting ruby on rails
Dissecting ruby on rails
 
Calling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBayCalling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBay
 
Comparing JVM Web Frameworks - TSSJS 2011
Comparing JVM Web Frameworks - TSSJS 2011Comparing JVM Web Frameworks - TSSJS 2011
Comparing JVM Web Frameworks - TSSJS 2011
 
Everything as code
Everything as codeEverything as code
Everything as code
 
Everything as code
Everything as codeEverything as code
Everything as code
 

Andere mochten auch

Final Design Project1
Final Design Project1Final Design Project1
Final Design Project1
guest72ad6bc
 
BLOG-A NOLA SORTU
BLOG-A NOLA SORTUBLOG-A NOLA SORTU
BLOG-A NOLA SORTU
jozuman24
 
Decisions Periamp
Decisions PeriampDecisions Periamp
Decisions Periamp
injoosweb
 
Preoperative
PreoperativePreoperative
Preoperative
injoosweb
 
Periampullary Ca
Periampullary CaPeriampullary Ca
Periampullary Ca
injoosweb
 
Pancreaticoduodenectomy
PancreaticoduodenectomyPancreaticoduodenectomy
Pancreaticoduodenectomy
injoosweb
 
Imaging of Bile Duct - Columbia Asia Workshop
Imaging of Bile Duct - Columbia Asia WorkshopImaging of Bile Duct - Columbia Asia Workshop
Imaging of Bile Duct - Columbia Asia Workshop
injoosweb
 

Andere mochten auch (16)

Builder-Architect Feature
Builder-Architect FeatureBuilder-Architect Feature
Builder-Architect Feature
 
Curso De Css
Curso De CssCurso De Css
Curso De Css
 
Final Design Project1
Final Design Project1Final Design Project1
Final Design Project1
 
Don Baker Personal Brand Nov 2008
Don Baker Personal Brand Nov 2008Don Baker Personal Brand Nov 2008
Don Baker Personal Brand Nov 2008
 
BLOG-A NOLA SORTU
BLOG-A NOLA SORTUBLOG-A NOLA SORTU
BLOG-A NOLA SORTU
 
Webbies.Key
Webbies.KeyWebbies.Key
Webbies.Key
 
celiac
celiacceliac
celiac
 
Slipcover Vs Re Upholstery
Slipcover Vs Re UpholsterySlipcover Vs Re Upholstery
Slipcover Vs Re Upholstery
 
Clinet Presnetation
Clinet PresnetationClinet Presnetation
Clinet Presnetation
 
Decisions Periamp
Decisions PeriampDecisions Periamp
Decisions Periamp
 
Augustus Overview Open Source Analytics
Augustus Overview  Open Source AnalyticsAugustus Overview  Open Source Analytics
Augustus Overview Open Source Analytics
 
staging
stagingstaging
staging
 
Preoperative
PreoperativePreoperative
Preoperative
 
Periampullary Ca
Periampullary CaPeriampullary Ca
Periampullary Ca
 
Pancreaticoduodenectomy
PancreaticoduodenectomyPancreaticoduodenectomy
Pancreaticoduodenectomy
 
Imaging of Bile Duct - Columbia Asia Workshop
Imaging of Bile Duct - Columbia Asia WorkshopImaging of Bile Duct - Columbia Asia Workshop
Imaging of Bile Duct - Columbia Asia Workshop
 

Ähnlich wie Rich Ajax Platform - theEdge 2012 conference presentation

Building software using Rich Clients Platforms Rikard Thulin
Building software using Rich Clients Platforms Rikard ThulinBuilding software using Rich Clients Platforms Rikard Thulin
Building software using Rich Clients Platforms Rikard Thulin
Rikard Thulin
 

Ähnlich wie Rich Ajax Platform - theEdge 2012 conference presentation (20)

JavaOne 2016: Kubernetes introduction for Java Developers
JavaOne 2016: Kubernetes introduction for Java Developers JavaOne 2016: Kubernetes introduction for Java Developers
JavaOne 2016: Kubernetes introduction for Java Developers
 
Kubernetes for Java Developers
 Kubernetes for Java Developers Kubernetes for Java Developers
Kubernetes for Java Developers
 
A look ahead at RAP (ESE 2010)
A look ahead at RAP (ESE 2010)A look ahead at RAP (ESE 2010)
A look ahead at RAP (ESE 2010)
 
PHPIDOL#80: Kubernetes 101 for PHP Developer. Yusuf Hadiwinata - VP Operation...
PHPIDOL#80: Kubernetes 101 for PHP Developer. Yusuf Hadiwinata - VP Operation...PHPIDOL#80: Kubernetes 101 for PHP Developer. Yusuf Hadiwinata - VP Operation...
PHPIDOL#80: Kubernetes 101 for PHP Developer. Yusuf Hadiwinata - VP Operation...
 
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
 
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
 
How to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to LinuxHow to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to Linux
 
Architecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKCArchitecting the Future: Abstractions and Metadata - BSidesKC
Architecting the Future: Abstractions and Metadata - BSidesKC
 
Real World Technologies
Real World TechnologiesReal World Technologies
Real World Technologies
 
Architecting the Future: Abstractions and Metadata - KCDC
Architecting the Future: Abstractions and Metadata - KCDCArchitecting the Future: Abstractions and Metadata - KCDC
Architecting the Future: Abstractions and Metadata - KCDC
 
Architecting the Future: Abstractions and Metadata - CodeStock
Architecting the Future: Abstractions and Metadata - CodeStockArchitecting the Future: Abstractions and Metadata - CodeStock
Architecting the Future: Abstractions and Metadata - CodeStock
 
Scaling with Symfony - PHP UK
Scaling with Symfony - PHP UKScaling with Symfony - PHP UK
Scaling with Symfony - PHP UK
 
The Decoupled CMS in Financial Services
The Decoupled CMS in Financial ServicesThe Decoupled CMS in Financial Services
The Decoupled CMS in Financial Services
 
Surviving a Plane Crash, a NU.nl case-study
Surviving a Plane Crash, a NU.nl case-studySurviving a Plane Crash, a NU.nl case-study
Surviving a Plane Crash, a NU.nl case-study
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Architecting the Future: Abstractions and Metadata - STL SilverLinings
Architecting the Future: Abstractions and Metadata - STL SilverLiningsArchitecting the Future: Abstractions and Metadata - STL SilverLinings
Architecting the Future: Abstractions and Metadata - STL SilverLinings
 
Building software using Rich Clients Platforms Rikard Thulin
Building software using Rich Clients Platforms Rikard ThulinBuilding software using Rich Clients Platforms Rikard Thulin
Building software using Rich Clients Platforms Rikard Thulin
 
Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Rich Ajax Platform - theEdge 2012 conference presentation