Author: Karsten Silz
Jan 4, 2021   |  updated Jan 20, 2021 3 min read


CinJUG: "How Should Java Developers Build Front-Ends for Web, Mobile, and Desktop Today?"

CinJUG logo


The Cincinnati Java User’s Group hosts monthly talks. I was honored to talk about “How Should Java Developers Build Front-Ends for Web, Mobile, and Desktop Today?” on Wednesday, January 20, 2021.

Thank you to Mark Wehby and James Carman for organizing this!


Users access applications on PCs and mobile devices today. There are two obvious ways to build front-ends for these devices: Web applications and native applications. Cross-platform UI toolkits combine advantages from both approaches. Examples are Facebook’s React Native, Google’s Flutter, Microsoft’s Xamarin, and JavaFX. I will look at these toolkits from the perspective of a Java developer. My talk will suggest which toolkits to use, what their sweet spots are, and when you should avoid them.

In 2019, I developed a mobile app prototype with Flutter and a progressive web application. I then decided to use Flutter for native mobile apps in my current project. I’ll demo these apps and select development tools in the talk. Finally, I will highlight typical issues with Flutter and how to solve them.


Here are the slides as PDF. They are 7 MB:

You can also get the slides in their original Keynote format. “Keynote” is Apple’s presentation application. Why would you do that? I animated the slides so they are more pleasant to watch. Or maybe you want to peek under the hood to see how I achieved specific effects. These slides include two videos and are 40 MB in size!


The slides use the following images:


My talk mentions a Flutter prototype I built in the summer of 2019. Here it is:


My talks also mentions a Progressive Web App prototype I built at the end of 2019. Here you go:

Getting Started

Flutter & Dart

The Flutter website is a good place to get familiar with Flutter. Flutter uses the Dart programming language. Both Flutter and Dart can use plugins that have a great portal.

Installing Flutter

Here are the instructions, straight from the Flutter website:

Learning Dart

You start with the Dart language tour. Java developers take the “Intro to Dart for Java Developers” next. Then you have options:

Learning Flutter

Here’s a selection of Flutter tutorials and courses:

Part 8 of 15 in the Talks series.
« LJC Community Talk: "How Should Java Developers Build Front-Ends for Web, Mobile & Desktop Today?" | CinJUG: "Pick Technologies & Tools Faster by Coding with JHipster" » | Start: LJC Lightning Talk: Eclipse OpenJ9: Memory Diet for Your JVM Applications

Java Tech Popularity Index Q1/2024:
Developer job ads down 32% year over year, Stack Overflow questions dropped 55% since ChatGPT. I now recommend IntelliJ Community Edition because many AI code assistants don't run in Eclipse. Job ads for Quarkus hit an all-time high.

Read my newsletter

comments powered by Disqus