SlideShare a Scribd company logo
1 of 9
Download to read offline
Common Client
Rich Client Platforms

          March 30 2009




            Charlie Black
        Senior Software
               Engineer
Background


    •   Rich Client Platform
         –   With it, programmers can build their own applications on existing platforms. Instead of having to write
             a complete application from scratch, they can benefit from proven and tested features of the
             framework provided by the platform – From Wikipedia
         –   According to Wikipedia there are three Platforms: Eclipse, NetBeans, and Spring
         –   For our trade study we have only looked at Eclipse and NetBeans since Spring doesn’t provide the
             client facilities of the other 2 platforms.

    •   Agile Client started development on Eclipse due to its use of an OSGi container.
    •   OSGi is a open standard specification container for deploying “modules” of
        functionality.
         –   It started from the embedded and network devices community

    •   Agile Client moved off of Eclipse due to SWT bugs
         –   SWT – Standard Widget Toolkit which is the Eclipse API for making buttons / label / and tables
               • In Eclipse standard Java UI programming is a second class citizen.
         –   Why is there a SWT?
               • The IBM smalltalk engineers that made eclipse wanted native look and feel.

    •   By going with NetBeans Agile Client fixed its end-user visible bugs, sacrificing our
        backend purity.
         –   NetBeans uses the NetBeans Module System – basically traded one proprietary spec for another (SWT
             for Netbeans Module System).




2
Eclipse




3
Netbeans




4
Did you see the difference?


    • The end user sees very little difference.

    • For Eclipse the RSS window was written in SWT and for
      NetBeans it was written in Java.
    • The “globe” are Java components in both examples.

    • Both are “modular” in backend development




5
Pros and Cons Eclipse


    •   Pros
         –   OSGi module system
              • Growing support for OSGi
                 modules in server side
                 frameworks

    •   Cons
         –   SWT – Proprietary graphics system
              • Notice the picture on the left…
                 Where is the Java based globe?
              • Standard Java UI are a second
                 rate system in Eclipse which is
                 based on SWT.
              • If there is an uncaught
                 exception in the Java UI, stack
                 trace, the window will freeze.
              • SWT was written by eclipse
                 developers for eclipse in C on
                 GTK by IBM smalltalk developers




6
Pros and Cons Netbeans


    • Pros
       –   Its 100% Java

    • Cons
       –   OSGi support is in beta.




7
More Decision Points


    •   Market – Eclipse is market friendly in two ways
         –   A lot of developers use Eclipse
         –   Commercial companies use Eclipse Rich Client Platform to lure in the developer base

    •   Market – NetBeans is winning more awards (Open Source / Development / Utility)
        than Eclipse
    •   A Developer does not have to use the same IDE as the Platform they coding to.
    •   From a Java World Article on Eclipse vs NetBeans out of the box experience as an
        IDE:




    •   What call would I make if I had to make one again?
         –   Netbeans – Mainly due to the Eclipse proprietary UI api for buttons / labels (SWT)




8
9

More Related Content

What's hot

What's hot (20)

Java project
Java projectJava project
Java project
 
JavaFX in Action Part I
JavaFX in Action Part IJavaFX in Action Part I
JavaFX in Action Part I
 
Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?
 
Features of java
Features of javaFeatures of java
Features of java
 
Features of java 02
Features of java 02Features of java 02
Features of java 02
 
Core java environment setup and details
Core java environment setup and detailsCore java environment setup and details
Core java environment setup and details
 
Java fx
Java fx Java fx
Java fx
 
Java presentation
Java presentationJava presentation
Java presentation
 
Demystifying Selenium framework
Demystifying Selenium frameworkDemystifying Selenium framework
Demystifying Selenium framework
 
Java history 01
Java history 01Java history 01
Java history 01
 
Presentation on java (8)
Presentation on java (8)Presentation on java (8)
Presentation on java (8)
 
Java introduction
Java introductionJava introduction
Java introduction
 
Ch2
Ch2Ch2
Ch2
 
Learn Java Part 1
Learn Java Part 1Learn Java Part 1
Learn Java Part 1
 
The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of Java
 
Core Java
Core JavaCore Java
Core Java
 
Netbeans gui tutorial
Netbeans gui tutorialNetbeans gui tutorial
Netbeans gui tutorial
 
Java Fundamentals
Java FundamentalsJava Fundamentals
Java Fundamentals
 
002- JavaFX Tutorial - Getting Started
002- JavaFX Tutorial - Getting Started002- JavaFX Tutorial - Getting Started
002- JavaFX Tutorial - Getting Started
 
Java FX Part2
Java FX Part2Java FX Part2
Java FX Part2
 

Similar to Common Client Rich Client Platforms

Similar to Common Client Rich Client Platforms (20)

Sadiq786
Sadiq786Sadiq786
Sadiq786
 
Lec 1-of-oop2
Lec 1-of-oop2Lec 1-of-oop2
Lec 1-of-oop2
 
Chapter 11:Understanding Client-Side Technologies
Chapter 11:Understanding Client-Side TechnologiesChapter 11:Understanding Client-Side Technologies
Chapter 11:Understanding Client-Side Technologies
 
Java Introduction
Java IntroductionJava Introduction
Java Introduction
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Introduction to Java
Introduction to Java Introduction to Java
Introduction to Java
 
Simple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVMSimple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your JVM
 
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
 
21110113913.pptxElectricity is a type of
21110113913.pptxElectricity is a type of21110113913.pptxElectricity is a type of
21110113913.pptxElectricity is a type of
 
Simple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvmSimple tweaks to get the most out of your jvm
Simple tweaks to get the most out of your jvm
 
Mobile Application Development- Configuration and Android Installation
Mobile Application Development- Configuration and Android InstallationMobile Application Development- Configuration and Android Installation
Mobile Application Development- Configuration and Android Installation
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
Introduction to Java Part-2
Introduction to Java Part-2Introduction to Java Part-2
Introduction to Java Part-2
 
1.Intro--Why Java.pptx
1.Intro--Why Java.pptx1.Intro--Why Java.pptx
1.Intro--Why Java.pptx
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
 
No Compromise - Better, Stronger, Faster Java in the Cloud
No Compromise - Better, Stronger, Faster Java in the CloudNo Compromise - Better, Stronger, Faster Java in the Cloud
No Compromise - Better, Stronger, Faster Java in the Cloud
 
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
 
Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...
 
Session 01 - Introduction to Java
Session 01 - Introduction to JavaSession 01 - Introduction to Java
Session 01 - Introduction to Java
 

More from Geertjan Wielenga

More from Geertjan Wielenga (20)

The Long Walk to Apache NetBeans
The Long Walk to Apache NetBeansThe Long Walk to Apache NetBeans
The Long Walk to Apache NetBeans
 
Java Master Class
Java Master ClassJava Master Class
Java Master Class
 
Coding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JETCoding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JET
 
Session at Oredev 2016.
Session at Oredev 2016.Session at Oredev 2016.
Session at Oredev 2016.
 
JFall 2016: Oracle JET Session
JFall 2016: Oracle JET SessionJFall 2016: Oracle JET Session
JFall 2016: Oracle JET Session
 
Slovenian Oracle User Group
Slovenian Oracle User GroupSlovenian Oracle User Group
Slovenian Oracle User Group
 
Imworld.ro
Imworld.roImworld.ro
Imworld.ro
 
Oracle User Group Holland
Oracle User Group HollandOracle User Group Holland
Oracle User Group Holland
 
State of NetBeans
State of NetBeansState of NetBeans
State of NetBeans
 
Oracle JET, with JET Mobile Content
Oracle JET, with JET Mobile ContentOracle JET, with JET Mobile Content
Oracle JET, with JET Mobile Content
 
10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript
 
Japanese Introduction to Oracle JET
Japanese Introduction to Oracle JETJapanese Introduction to Oracle JET
Japanese Introduction to Oracle JET
 
Oracle JET
Oracle JETOracle JET
Oracle JET
 
geecon 2016: "What's Oracle Doing with JavaScript?!"
geecon 2016: "What's Oracle Doing with JavaScript?!"geecon 2016: "What's Oracle Doing with JavaScript?!"
geecon 2016: "What's Oracle Doing with JavaScript?!"
 
Technology Evangelism
Technology EvangelismTechnology Evangelism
Technology Evangelism
 
Technology evangelist
Technology evangelistTechnology evangelist
Technology evangelist
 
Surviving Life in the JavaScript Ecosystem
Surviving Life in the JavaScript EcosystemSurviving Life in the JavaScript Ecosystem
Surviving Life in the JavaScript Ecosystem
 
Oracle JET: Enterprise-Ready JavaScript Toolkit
Oracle JET: Enterprise-Ready JavaScript ToolkitOracle JET: Enterprise-Ready JavaScript Toolkit
Oracle JET: Enterprise-Ready JavaScript Toolkit
 
NetBeans Workshop at Hanze University of Applied Science, Groningen
NetBeans Workshop at Hanze University of Applied Science, GroningenNetBeans Workshop at Hanze University of Applied Science, Groningen
NetBeans Workshop at Hanze University of Applied Science, Groningen
 
Coding for Desktop & Mobile with HTML5 & Java EE
Coding for Desktop & Mobile with HTML5 & Java EECoding for Desktop & Mobile with HTML5 & Java EE
Coding for Desktop & Mobile with HTML5 & Java EE
 

Recently uploaded

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 

Recently uploaded (20)

State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 

Common Client Rich Client Platforms

  • 1. Common Client Rich Client Platforms March 30 2009 Charlie Black Senior Software Engineer
  • 2. Background • Rich Client Platform – With it, programmers can build their own applications on existing platforms. Instead of having to write a complete application from scratch, they can benefit from proven and tested features of the framework provided by the platform – From Wikipedia – According to Wikipedia there are three Platforms: Eclipse, NetBeans, and Spring – For our trade study we have only looked at Eclipse and NetBeans since Spring doesn’t provide the client facilities of the other 2 platforms. • Agile Client started development on Eclipse due to its use of an OSGi container. • OSGi is a open standard specification container for deploying “modules” of functionality. – It started from the embedded and network devices community • Agile Client moved off of Eclipse due to SWT bugs – SWT – Standard Widget Toolkit which is the Eclipse API for making buttons / label / and tables • In Eclipse standard Java UI programming is a second class citizen. – Why is there a SWT? • The IBM smalltalk engineers that made eclipse wanted native look and feel. • By going with NetBeans Agile Client fixed its end-user visible bugs, sacrificing our backend purity. – NetBeans uses the NetBeans Module System – basically traded one proprietary spec for another (SWT for Netbeans Module System). 2
  • 5. Did you see the difference? • The end user sees very little difference. • For Eclipse the RSS window was written in SWT and for NetBeans it was written in Java. • The “globe” are Java components in both examples. • Both are “modular” in backend development 5
  • 6. Pros and Cons Eclipse • Pros – OSGi module system • Growing support for OSGi modules in server side frameworks • Cons – SWT – Proprietary graphics system • Notice the picture on the left… Where is the Java based globe? • Standard Java UI are a second rate system in Eclipse which is based on SWT. • If there is an uncaught exception in the Java UI, stack trace, the window will freeze. • SWT was written by eclipse developers for eclipse in C on GTK by IBM smalltalk developers 6
  • 7. Pros and Cons Netbeans • Pros – Its 100% Java • Cons – OSGi support is in beta. 7
  • 8. More Decision Points • Market – Eclipse is market friendly in two ways – A lot of developers use Eclipse – Commercial companies use Eclipse Rich Client Platform to lure in the developer base • Market – NetBeans is winning more awards (Open Source / Development / Utility) than Eclipse • A Developer does not have to use the same IDE as the Platform they coding to. • From a Java World Article on Eclipse vs NetBeans out of the box experience as an IDE: • What call would I make if I had to make one again? – Netbeans – Mainly due to the Eclipse proprietary UI api for buttons / labels (SWT) 8
  • 9. 9