Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Java Desktop 2020

Java Desktop 2020

Java Desktop 2020
Hendrik Ebbers, Karakun

In Java's history a lot of different UI technologies appeared and helped Java to become an established technology for desktop applications. Especially the cross platform functionality of Java enabled a lot of mission critical desktop applications in industries like the aerospace sector, deep sea research, the stock market, and others.

As we all know the market share of desktop applications has gone down during the last decade. Next to mobile computing more and more applications move to web browsers. Based on this Java desktop technologies are not as attractive anymore as they were a couple of years ago.

Nevertheless there is still progress in Java Desktop technologies and a lot of positive changes and progression happened within the last 12 months. Together we will take a look at the current state of these technologies, how they evolved within the last year, and what new developments the future might bring for us.

Hendrik Ebbers

November 27, 2020
Tweet

More Decks by Hendrik Ebbers

Other Decks in Programming

Transcript

  1. Java Desktop 2020

    View Slide

  2. This is a very very very long gag
    @hendrikEbbers
    Hendrik
    • Karakun Co-Founder
    • Founder of JUG Dortmund
    • JSR EG member
    • JavaOne Rockstar, Java Champion
    • AdoptOpenJDK TSC member

    View Slide

  3. View Slide

  4. This is a very very very long gag
    @hendrikEbbers
    Let me introduce little Duke
    Little Duke

    View Slide

  5. This is a very very very long gag
    @hendrikEbbers
    This is not your daddy's Java
    • With the development of Java 8 a lot changed in the
    developers world

    View Slide

  6. This is a very very very long gag
    @hendrikEbbers
    This is not your daddy's Java
    • With the development of Java 8 a lot changed in the
    developers world
    • We are in that era of
    Java development
    • What the hack was daddy's Java?

    View Slide

  7. This is a very very very long gag
    @hendrikEbbers
    Daddy was an architect

    View Slide

  8. This is a very very very long gag
    @hendrikEbbers
    Daddy was an architect

    View Slide

  9. This is a very very very long gag
    @hendrikEbbers
    Daddy did rocket-science

    View Slide

  10. This is a very very very long gag
    @hendrikEbbers
    Let's make Daddy proud
    • A lot has changed in "modern Java"
    • Lambdas
    • Modules
    • GraalVM
    • Pattern matching
    Dad Duke 2005

    View Slide

  11. This is a very very very long gag
    @hendrikEbbers
    Let's make Daddy proud
    • Java is still modern!
    • Java is stable!
    • Java is NOT dead!
    • Java is one of the mostly used
    languages!

    View Slide

  12. This is a very very very long gag
    @hendrikEbbers
    Let's make Daddy proud

    View Slide

  13. This is a very very very long gag
    @hendrikEbbers
    Let's make Daddy proud
    • Let's fly with Java to the moon
    • Looks like we have everything that
    we need...
    • Looks like we are the best on the
    market...

    View Slide

  14. This is a very very very long gag
    @hendrikEbbers
    Houston, we have a problem
    • Oh no! What happened?
    • Looks like the spaceship forgot
    little Duke

    View Slide

  15. How could that
    happen?????

    View Slide

  16. This is a very very very long gag
    @hendrikEbbers
    SpaceX Dragon - 2020

    View Slide

  17. This is a very very very long gag
    @hendrikEbbers
    SpaceX Dragon - 2020

    View Slide

  18. This is a very very very long gag
    @hendrikEbbers
    SpaceX Dragon - 2020
    Rendered in
    Chromium
    Developed in
    JavaScript

    View Slide

  19. This is a very very very long gag
    @hendrikEbbers
    Retrospective
    • What went wrong?
    • Is this a problem of Java?
    • Is this a problem of Java Desktop?
    • Is this a problem of JavaFX?
    • Is this a problem of the community?

    View Slide

  20. The easy answer...

    View Slide

  21. This is a very very very long gag
    @hendrikEbbers
    Oracle does not care about it!
    • "Oracle does not care about Java(FX) on mobile"
    • "Oracle does not invest in JavaFX anymore"
    • "Oracle kills Java on Desktop"

    View Slide

  22. Does this help?

    View Slide

  23. NO

    View Slide

  24. Is the Java platform
    the problem?

    View Slide

  25. This is a very very very long gag
    @hendrikEbbers
    Java is old / JavaScript is hot

    View Slide

  26. This is a very very very long gag
    @hendrikEbbers
    This is not your daddy's Java

    View Slide

  27. This is a very very very long gag
    @hendrikEbbers
    Positive Java Development
    • As mentioned Java is still
    one of the most relevant
    languages
    • Thanks to JIT the performance
    and speed is awesome :)
    • Ever heard of GraalVM?

    View Slide

  28. Is this a problem with
    Java Desktop?

    View Slide

  29. Is this a problem with
    Java Desktop?

    View Slide

  30. Is Desktop ?

    View Slide

  31. Before we get sad it's
    time for...

    View Slide

  32. COMEDY
    Stand-up
    Duke's

    View Slide

  33. This is a very very very long gag
    @hendrikEbbers
    What does a JS developer do over
    the weekend?

    View Slide

  34. This is a very very very long gag
    @hendrikEbbers
    What does a JS developer do over
    the weekend?
    Inventing a new
    framework

    View Slide

  35. This is a very very very long gag
    @hendrikEbbers
    If web developers would design
    traffic signs...

    View Slide

  36. This is a very very very long gag
    @hendrikEbbers
    If web developers would design
    traffic signs...

    View Slide

  37. This is a very very very long gag
    @hendrikEbbers
    How does the family tree of a
    web developer look like?

    View Slide

  38. This is a very very very long gag
    @hendrikEbbers
    How does the family tree of a
    web developer look like?

    View Slide

  39. This is a very very very long gag
    @hendrikEbbers
    Let's have a look at heavily used
    JavaScript libraries

    View Slide

  40. This is a very very very long gag
    @hendrikEbbers
    Let's have a look at heavily used
    JavaScript libraries

    View Slide

  41. This is a very very very long gag
    @hendrikEbbers
    What are the heaviest objects in
    the universe?

    View Slide

  42. This is a very very very long gag
    @hendrikEbbers
    What are the heaviest objects in
    the universe?

    View Slide

  43. WATCHING
    Thanks for

    View Slide

  44. Let's concentrate on
    Java Desktop

    View Slide

  45. This is a very very very long gag
    @hendrikEbbers
    Don't get me wrong!
    • I Java
    • I Desktop Application
    • I Java on Desktop
    • But is has become a niche...

    View Slide

  46. This is a very very very long gag
    @hendrikEbbers
    Web & hybrid applications
    • Today managers want
    web & hybrid applications
    • While this is possible
    with Java other
    technologies are preferred
    • Big companies invest in
    web based toolkits

    View Slide

  47. This is a very very very long gag
    @hendrikEbbers
    Desktop Development
    Cool desktop development
    Stupid & boring web development

    View Slide

  48. This is a very very very long gag
    @hendrikEbbers
    Desktop Development
    Cool desktop development
    Stupid & boring web development

    View Slide

  49. This is a very very very long gag
    @hendrikEbbers
    Desktop Development
    Qt
    Swing JavaFX Electron
    * question at Stackoverflow in 2020

    View Slide

  50. This is a very very very long gag
    @hendrikEbbers
    Desktop Development
    Qt
    Swing JavaFX Electron
    * question at Stackoverflow in 2020
    When we sum up all Java Desktop technologies
    is be the biggest player in the niche

    View Slide

  51. This is a very very very long gag
    @hendrikEbbers
    Wait - What's that????

    View Slide

  52. This is a very very very long gag
    @hendrikEbbers
    Wait - What's that????
    ... looks like we found the node modules...

    View Slide

  53. Let's continue with
    positive progress

    View Slide

  54. This is a very very very long gag
    @hendrikEbbers
    JavaFX releases
    • JavaFX 14 & 15 releases
    • Performance (like CSS processing)
    • Bugfixes
    • JavaFX 11 LTS releases (for commercial support)
    • JavaFX support with Gluon Substrate and GraalVM
    Native Image

    View Slide

  55. Great work by

    View Slide

  56. This is a very very very long gag
    @hendrikEbbers
    JavaFX LTS support
    • JVM vendors like Bellsoft provide JavaFX 8 support
    • Gluon provides JavaFX 11 support
    • See my 2019 presentation for more details
    https://bit.ly/3nTUazp

    View Slide

  57. This is a very very very long gag
    @hendrikEbbers
    Community Projects
    TestFX
    JFX-Days
    OpenJFX
    ControlsFX
    FXGL

    View Slide

  58. View Slide

  59. This is a very very very long gag
    @hendrikEbbers
    Testimonials & Sponsors

    View Slide

  60. This is a very very very long gag
    @hendrikEbbers
    New possibilities

    View Slide

  61. This is a very very very long gag
    @hendrikEbbers
    New possibilities
    "Skia is an open source 2D graphics library which provides common APIs that
    work across a variety of hardware and software platforms.
    It serves as the graphics engine for Google Chrome and Chrome OS, Android,
    Flutter, Mozilla Firefox and Firefox OS, and many other products."

    View Slide

  62. Looks like we made
    good progress

    View Slide

  63. This is a very very very long gag
    @hendrikEbbers
    Retrospective
    • What went wrong?
    • Is this a problem of Java?
    • Is this a problem of Java Desktop?
    • Is this a problem of JavaFX?
    • Is this a problem of the community?

    View Slide

  64. We need to accept
    that it's a niche

    View Slide

  65. We need to be like
    Apple

    View Slide

  66. @hendrikEbbers
    Once Steve Jobs was asked about Apple only
    having 5% market share...

    View Slide

  67. @hendrikEbbers
    "Apple's market share is bigger than BMW's or
    Mercedes's or Porsche's in the automotive
    market. What's wrong with being BMW or
    Mercedes?"
    Once Steve Jobs was asked about Apple only
    having 5% market share...

    View Slide

  68. This is a very very very long gag
    @hendrikEbbers
    But we can make things better
    • We can learn what other do
    • We can coordinate projects and tasks
    • We can define a global mission

    View Slide

  69. Maybe we can even
    send little Duke to the
    moon in the future

    View Slide

  70. This is a very very very long gag
    @hendrikEbbers
    Together we are strong
    • For important parts of software development groups
    & foundations have been created:
    • Eclipse Foundation
    • OpenJS Foundation
    • AdoptOpenJDK

    View Slide

  71. This is a very very very long gag
    @hendrikEbbers
    JavaScript has similar problems
    • The "JavaScript" trademark belongs to Oracle

    View Slide

  72. This is a very very very long gag
    @hendrikEbbers
    JavaScript has similar problems
    • The "JavaScript" trademark belongs to Oracle
    • To coordinate projects the OpenJS Foundation has
    been established

    View Slide

  73. This is a very very very long gag
    @hendrikEbbers
    OpenJS Foundation
    • As a foundation you can coordinate projects and
    organise sponsoring
    Which company is missing?

    View Slide

  74. This is a very very very long gag
    @hendrikEbbers
    OpenJS Foundation
    • As a foundation you can coordinate projects and
    organise sponsoring
    • Same works for AdoptOpenJDK, JakartaEE and others
    Which company is missing?

    View Slide

  75. This is a very very very long gag
    @hendrikEbbers
    Together we are strong
    • While "Java" and "JavaScript" are trademarked other
    names are still "free"
    • OpenJS Foundation has trademarked all project
    names like "jQuery" or "Webpack"

    View Slide

  76. This is a very very very long gag
    @hendrikEbbers
    Together we are strong
    • Where can I find success stories of Java Desktop
    projects?
    • What is the best entry point / page for Java Desktop?
    • Is there a link that I can give to my manager?

    View Slide

  77. @hendrikEbbers

    View Slide

  78. This is a very very very long gag
    @hendrikEbbers
    Let's work together
    • Let's connect and contribute
    • Together we can make our niche shine!

    View Slide

  79. This is a very very very long gag
    @hendrikEbbers
    Let's work together
    • ... and maybe fly to the moon in the future

    View Slide

  80. We can do it

    View Slide

  81. Stay safe & healthy

    View Slide

  82. @hendrikEbbers
    dev.karakun.com

    View Slide