Your thoughts are chemical, mine are digital. - Macht KI die Software-Entwicklung wirklich besser?
Generative KI und Deep Learning können schon heute Dinge, die vor einigen Jahren undenkbar waren. Hierzu zählen beispielsweise das Generieren von Code, das Erstellen von Prototypen für intelligente Services, Optimierung von Suchplattformen, Security Audits - um nur ein paar wenige Use Cases zu nennen. Was jetzt zu schön klingt, hat aber auch diverse Makel, wie der Mangel an brauchbaren Trainingsdaten, fehlende Erklärbarkeit, Vertrauenswürdigkeit und Fairness von ML Algorithmen. In unserem Vortrag werden wir die Auswirkungen von Künstlicher Intelligenz auf die Prozesse in der Softwareentwicklung und auf Software-Architekturen diskutieren.
Why Software Testing Is a Waste of Time
Testing software takes up a lot of time in the software development process, often the same amount of time if not more than the time required for the development itself. Just like development, testing also requires continued maintenance efforts. This (rightfully so) makes a lot of people in different roles, be it managers, developers or even testers question whether or not that time effort is really justified. With more and more companies deploying every 10 minutes or even less start to wonder: why invest time in testing when you can simply rollback issues in a matter of seconds, in some cases even automatically?
Pushing Documentation (so it doesn´t hurt anymore)
We all love to put technology in place so it works, solves problems and eases somebodies live (or at least their job). But at some point the solutions created will be at risk to cause problems instead of solving them - and happy are those who find some useable documentation to the rescue! What makes good documentation? How much documentation is enough? How can we create useful documentation while we code? How can we integrate documentation into our dev-toolchains? Let´s discuss these and more questions and find out how to put a checkmark to `docs` on out project´s bucketlist with a smile!
Metrics 101
Heute laufen Anwendungen nicht nur als Monolithen auf einem Server, sondern oft verteilt als (Micro-)Services in der Cloud. Umso wichtiger ist hier eine kontinuierliche Überwachung. Sobald man beispielsweise über knapp werdenden Speicherplatz, zu viele User-Sessions oder einen steigenden Memory-Verbrauch informiert werden will, reicht Logging alleine nicht mehr aus. Für diese und viele weitere Szenarien sind Runtime Metriken heute das Mittel der Wahl.
"Ich bin C-3PO, wie kann ich Dir helfen?" - Wie Maschinen natürliche Sprache verarbeiten
In den letzten Jahren hat das Interesse an den Methoden der Verarbeitung natürlicher Sprache (NLP) deutlich zugenommen. Dabei beeinflussen maschinelle Sprachmodelle längst unseren Alltag, denn NLP wird in Sprachassistenten wie Siri, Alexa oder in Suchmaschinen eingesetzt und findet in immer mehr Branchen auf der ganzen Welt Anwendung. In diesem Vortrag werden die Werkzeuge und Techniken des NLP sowie seine Anwendungen in verschiedenen Bereichen vorgestellt. Außerdem wird die Rolle des maschinellen Lernens und der künstlichen neuronalen Netze zur Optimierung von NLP diskutiert.
Fresh - the next level in web applications?
"Fresh" claims to be the next-gen webframework we all have been waiting for. Being based on Deno as a replacement to Node and promising not only to be build-free and provising webassembly support, there seem to be enough buzzwords mentioned to have a closer look!
Singularity by mistake - Why my AI is wiping out humanity
In movie blockbusters, we learn that artificial intelligence can rise against humanity and sound the death knell of the world. Is this just Hollywood fantasy or already reality? And why is Elon Musk “afraid” of the AI future?
In this talk, we will deal with failed AI learnings and the abstruse results that can be created by such learning attempts. Here we will have a look at difference areas of AI like NLP or reinforcement learning. Ever thought about a PacMan that is controlled by an evil AI and how such character would act? We will look at the errors that can occur during learning processes. Here we will not only see amusing results, but also scenarios that can be a real danger in a productive environment. In the conclusion will also take a closer look at the causes of these failed learning processes and discuss what can be done to avoid such problems and pitfalls.
I know what you did last summer
Can you say the same about your Java applications? Today, applications run not only as monoliths on a server, but also distributed as (micro-)services in the cloud. Continuous monitoring is becoming more important in such scenarios. For example, as soon as you want to be informed about running out of memory, too many user sessions or increasing memory consumption, logging alone is no longer sufficient. For these and many other scenarios, metrics are the tool of choice today.
In this session we will look at how to implement, visualize and evaluate metrics for Java applications. We will not only look at products and ready-to-use solutions like Grafana or Prometheus. Rather, we also want to find out how to implement metrics in Java in a meaningful way without vendor lock-in. With Micrometer and Java Flight Recorder, for example, there are several APIs that can be used to easily extend a Java application with metrics and the possibility of continuous monitoring. Together we will look at different approaches and discuss best practices or pitfalls when using metrics.
Understanding Open Source
Content management systems, web browsers or operating systems: many of these products and services that we use every day are now implemented as open source projects. Due to the high influence that open source development has on the digital world, there are also many different statements about the advantages and dangers of open source products. Especially if you are not familiar with the subject matter, it is difficult to make a technically correct assessment of open source products
The knowledge presented in this talk should help to better understand and evaluate open source software. Using this knowledge, the various dangers and advantages arising from the use of open source components can be better evaluated in the future.
Intelligent Text Analytics & Enterprise Search
Technologies based on intelligent speech analysis and enterprise search are increasingly finding their way into all areas of companies. They enable the implementation of digitization and automation strategies. Their contribution to the optimization of document-based processes and an improved customer experience is essential for businesses, politics, public authorities and the public to successfully master the digital transformation.
In this talk we will discuss the technical possibilities of speech analytics and enterprise search and show how the Hibu platform can be used for efficient content indexing. Using practical examples and a demo, we will explain how methods of text classification and intelligent semantic search contribute to the development of smart functions and automated workflows, e.g. automated invoice processes.
Management and analysis of test and simulation data
The amount of data collected during tests and simulations in the automotive industry has grown massively in recent years and there is no end in sight to this trend. Previous techniques for analysis have reached their limits. While the amount of data collected during tests and simulations is increasing, individual computers cannot be expanded to the same extent. This means that the usual practice of copying data to a workstation for analysis is reaching its limits. In addition, transferring and copying the data itself becomes a time and cost factor.
This talk presents the various ways in which test and simulation data can be managed and analyzed using Big Data technologies. How do ASAM ODS and Big Data come together?
Java 17
If someone told us in summer 2017 that Java 17 would be released in fall 2021, we certainly wouldn’t have taken that statement seriously. But with the OpenJDK roadmap presented in September 2017 and releases every 6 months, the JVM has been able to make great leaps in the last few years and Java 12, 13, 14, 15 and 16 have been released. You read right: since Java 11, there are really already 6 releases that add interesting and important new features to the language syntax, the JVM or the Java APIs. In this session, I talk about Java 17, the OpenJDK, different Java distributions and the Java ecosystem.
Beam me up, Botti
Human-computer interaction has changed dramatically in recent years. As a result, more and more so-called social bots have been created over the years - especially in the area of social networks - which can be used both to obtain information and to enhance the user experience. In addition to “nice gimmicks,” however, such bots are also being used more and more in critical areas, such as by politicians during election campaigns. Misinformation on climate change, for example, is also being spread more and more by bots. In this talk, we will look at how to develop bots in general (with Java) and what options are open to a developer. Together we will develop a bot and look at how easy it is to integrate and use gamification aspects to motivate users to interact with our bot. However, we will also look at the downsides of this technology, e.g. what sensitive data a developer might suddenly have at his disposal.
OpenJDK & Adoptium
In the last few years, there have been many rumors in the Java community about the new roadmap of Java and the OpenJDK. Next to this, Oracle changed its licensing terms for the Oracle JDK. Today, you can no longer simply download your Java Runtime from Oracle and use it for free on your company servers. You have to choose between different providers. One of these runtime providers is Eclipse Adoptium. But who is behind Eclipse Adoptium and how do their Java distribution Temurin and its licenses differ from other providers? And what does AdoptOpenJDK or OpenJDK have to do with it?
As a working group member and committer of Adoptium, I will give an overview of the origin and intention of Eclipse Adoptium and show how this huge community-based project for the free reuse of Java has emerged within the last years. Of course, questions about security and future-proofing of Adoptium and OpenJDK will also be addressed. Additionally, I will show the current and future goals of the project and also give ideas how interested participants can participate and contribute to the project.
System.out.println("USE A LOGGER!!!");
No matter if you are developing a small library, a complex framework or an application for end users - you will come to the point that you want to log information. The Java community offers a whole wealth of solutions: Besides java.util.logging there are libraries like tinylog, Log4J or Logback. Where are the differences and unique selling points of these frameworks? In addition, actually everyone says that only the use of a facade like slf4J is “best practice”. But why should I use an abstraction when developing a concrete application? Or does a facade perhaps offer completely different advantages? And as if that weren’t enough questions, with Java 9 a new logger, System.Logger, was quietly integrated into the OpenJDK.
This talk gives an understandable guide through the logging jungle and shows a few practices that help to get the logging of libraries and applications under control. If you’re on the verge of going back to System.out out of frustration, this session is for you.
Java Desktop 2020
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.
50 Shades of Java
Let me seduce you! Talks in which you learn how to “program Java correctly & cleanly” has been seen way to often. In this session you will learn things you should never do in your next Java project. Let’s leave the world of all this boring clean code and come with me on a journey into the shadows of Java programming. Even though Java is a solid & stable language, there are still some loopholes that you can exploit with tools like Reflection to get really whacky results and effects. If you want to experience the pain of these hacks then you’ve come to the right place.
AdoptOpenJDK - Making Java free again
AdoptOpenJDK is the leading provider of OpenJDK™ binaries. With over 170 million downloads in the last year, it is successfully used by many enterprises and ready for your production usage of Java™. AdoptOpenJDK provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure. This talk will cover how we build on over 15 different platforms, execute over 87 million tests and distribute OpenJDK binaries to millions of users. We will also cover how AdoptOpenJDK binaries compare against the Java binaries that you use today. If you’re curious to understand the difference between OpenJDK, Oracle Java, AdoptOpenJDK and all the other distributions, then this is the talk for you!
A comparative review of microservice frameworks
In this session we will compare some of the most popular Microservice frameworks in the Java ecosystem like SpringBoot, Quarkus, Eclipse MicroProfile, and more. We will give an overview and jumpstart for each framework. Next to this we will answer questions like:
OpenWebStart 1.3 - Webinar
Besides new functionalities and improvements, version 1.3 of OpenWebStart will come with a new documentation and support options. Most of the new functionalities will be discussed in this session.
Whats New in the Eclipse Platform Project
This is a wrap up of what has happened in the Eclipse Platform Project from last years EclipseCon (Eclipse 2019-09) till EclipseCon 2020 and also current challenges the Eclipse Platform team is working on.
The talk is complementary to other talks given at EclipseCon that focused on aspects like JDT, Java Support, Build, or Performance.
OpenWebStart 1.2 - Webinar
Besides new functionalities and improvements, version 1.2 of OpenWebStart will come with a new layout which aligns with the new look and feel of the OWS website. Most of the new functionalities will be discussed in this session.
1 Codebase, 2 Mobile Platforms: How to Test iOS and Android by Just Writing Tests Once
Developing consistent mobile apps on iOS and Android is difficult enough, but writing automated end to end tests so they run on both platforms without writing them twice is even harder. The limited selectors on mobile make it very difficult to only use one testing code base for both platforms. By using accessibilityId’s with translation keys in the same way as in the app, we use the fastest and least brittle selector on mobile possible, being resistant to tests breaking in case of text changes, allowing to also check the app in all languages without any additional effort.
Using a hybrid framework like React Native or NativeScript with WebdriverIO, François will show how to use utility methods to cleverly encapsulate all of the platform differences as much as possible, so writing tests is efficient, readable and maintainable.
Java Desktop 2019
Some years ago development of Java Desktop applications was easy: We just downloaded Java 8 from Oracle and got a set of useful tools and framework to develop Java desktop applications:
If you now download a Java version from Oracle (or any other vendor) several of the mentioned tools and frameworks are gone. Some JDKs only contain AWT & Swing for desktop development and miss all the newer tools. But even if they include such tools or frameworks you have sometimes no idea about their state. In this session I will give an overview about the differences between JDKs that you can use today and how frameworks like JavaFX are really supported by the vendors. Next to this we will have a look at all the tools that are important for building and installing desktop development. Since some like WebStart are gone you can find quite good alternatives.
Beauty and the Beast: Java Versus TypeScript
Once upon a time, there was a poor, innocent language. It was friendly and kind. Everything could have been nice and peaceful, but there was another language that was grumpy and mean. One day they met and started to argue about who the better language was…. This session compares the Java language with TypeScript. It discusses how common problems are solved with these languages. At the end, you’ll see who is the beauty and who is the beast.
JavaFX - Custom Controls
Gerrit presents his two open source frameworks TilesFX and Medusa. TilesFX is used for creating professional and sophisticated dashboards. Medusa delivers a huge set of custom controls that implement gauges, ideal for monitoring applications. Gerrit will share many tricks on how to accomplish eye candy effects.
Java 11 - OMG!!!!
With Java 6, 7 or 8, the world for a Java developer was quite easy. The Java platform had a long running release cycle and versions normally overlapped for more than 1 year. Normally, you as a developer had more than enough time to prepair your applications for the next release. Once this was done, you simply downloaded the JDK from Oracle and installed it with the automatic installer. The biggest problem in that world was the Ask-Toolbar ;)
Starting with Java 9 Oracle has announced a new release train and with Java 11 the licence model of the Oracle JDK has changed. Because of this, new vendors appear on the market offering commercial support for Java. But isn’t Java 11 a LTS version that I can easily use for years and why should I use commercial support in this case?
The keynote gives an overview of the history of Java and the OpenJDK. We will have a closer look the new at the release train to kill all the rumors about Java 11, commercial support and the future of Java.
Progressive Web Apps and the Service Worker API
Progressive Web Apps (PWAs) closes the gap between websites and native applications. They combine the high accessibility of web pages with the open standards of the web in terms of Look and feel (HTML, CSS), search engine optimization (SEO) and functionality (Push API, Notification API), Web Storage API, HTTPS etc.) with properties of native applications. So Progressive Web Apps can work offline (Service Worker API) and be added like a native app to the Home Screen of your device (Web App Manifest).
This talk shows how to create a PWA. The focus is on the Service Worker API, which plays a central role for Progressive Web Apps. It will also show how the Web App manifest and which help to realize a PWA.
Web APIs - The missing manual
Web developers use different Web APIs every day. Often this APIs are well known ones, like the Document Object Model (DOM), the DOM Event API, the Fetch API or the Geolocation API. A kind of comfort zone is created, which one rarely leaves. The web provides many more APIs, which are rarely or not at all known. Do you already know for example the Web Speech API, or the Web Bluetooth API, the Server Timing API, the Battery Status API or the Credential Management API? These and other APIs are part of the talk to help web developers leave their comfort zone. Since the presentation includes many APIs, the attendees can choose at the beginning which APIs will be presented in detail.
Java APIs - The missing manual
This isn’t a talk about microservices, NoSQL, container solutions or hip new frameworks. This talk will show some of the standard Java APIs that are part of Java since version 5, 6, 7 or 8. All those features are very helpful to create maintainable and future-proof applications, regardless of whether JavaEE, Spring, JavaFX or any other framework is used. The talk will give an overview of some important standard concepts and APIs of Java like annotations, null values and concurrency. Based on an overview of this topics and some samples the talk will answer questions like:
Multidevice Controls: A Different Approach to UX
Everybody knows boring form-based user interfaces. What if you could add mobile devices to improve the UX of desktop or web applications? A research project at the University of Applied Sciences and Arts Northwestern Switzerland has tried to address this topic in a totally different way. Usually you would expect to rework the UI and make it fancier, but here the idea is to enhance controls so they can reside on a mobile device. For example, you can think about a text input field that gets the focus, with the actual data input being done on a mobile phone. This session presents an overview of the concept and shows you some results of the research project in the form of demos based on Swift, JavaFX, and Polymer.
The path to CD: End-to-End with Docker and Geb
End to end testing is a crucial part of a tool chain to deliver high-quality releases of many software systems.
With Geb, we have a very handy wrapper to WebDriver/Selenium at our fingertips that enables us to create actually maintainable E2E test suites even for large web applications. Combining it with Docker and a CI system enables us to be very flexible about the context we use this tests in and allow us to provoke feedback for many interesting aspects we need to know about in our system.
This talk outlines findings and experiences from projects that utilized the mentioned technologies to succeed in constantly delivering high quality releases not only in slides but also with some live-coding and demos.
The secret behind JWT
In the age of micro services and applications that are build from many distributed components and need to take care for aspects like CSRF and CORS, session cookies are not practicable anymore.
Tokens promise to be a silverbullet. JWT (JSON Web Token) aims to simplify the usage of authentication tokens in modern application landscapes.
This talks shows if tokens can fulfill that promise and keep up the web applications taste even when cookies are missing.
Java WebStart is dead - What should we do now?
Starting with Java 11, WebStart is being removed from Java. Because even today several applications are built on top of this technology, it will be mission-critical for many companies to find a replacement for it. This session presents an overview of the features of WebStart and how they can be replaced. It includes samples of several open source and commercial tools that provide such features and might mean new and cool possibilities for WebStart-based applications.
Where the wild projects are
Build and testing a commercial software is easy. You can use a big infrastructure for CI and commercial tools to test your complete stack. And if you want to test your application on different mobile devices - well, that’s easy! You company will buy them for you. But what can you do if you want to work on Open Source? You can not spend thousands of Dollars for a free time project and without a given infrastructure several build, test and deployment steps are just impossible… Imagine a world in that testing, building or deploying of open source software is at least as easy as for commercial projects. Maybe it’s just easier and the infrastructure is better than in most $$$ stacks. I will introduce you to this world and show several tools and services that will help you to get the best out of your open source project - without producing any costs but with a lot of fun, cool new technologies and the freedom of choose.
Polyglott Java - a platform for many paradigms
There are many ways to program - and all of them find a home on the JVM. Whether you are a die-hard object-oriented enterprise programmer, a super-cool scripting hipster, or a scientific functional engineer, the Java Platform has all you need. In this talk we will go through unconventional combinations of these paradigms that enrich your solution space - scripting user-defined functions for a business application, building ambitious user interfaces, and creating rock-solid transaction systems. Java has something for everybody.
Lightweight and reproducible environments with Vagrant and Puppet
Many developers are in need of complex development- and test environments for different projects with customers. The ideal situation would be to have them running in a sandbox. With help of the Cloud and VMs it’s possible to create those sandbox-environments but administration, configuration and maintenance cost a lot of time and money. With a combination of Vagrant & Puppet it’s possible to create and configure those environments “on the fly”. Anytime, anywhere and above all reproducible. The Talk shows how fast you can create and configure a sandbox for a Java environment including an Application Server and a database with the help of those tools.
DataFX: The Best Way to Get Real-World Data into Your JavaFX Application
The real value in most client-oriented business applications is the data sitting on remote servers and cloud systems. Unfortunately, retrieving and displaying this data is an exercise left to the developer, and it must be done (correctly!) before end users can interact with it. Fortunately, the open source DataFX framework aims to simplify this by enabling JavaFX developers to easily retrieve data from a variety of sources in several formats and rapidly integrate it with JavaFX components (such as TableView), using typical JavaFX patterns. This session introduces the free and open source DataFX project, gives practical advice for using it, and provides insight into future plans for this project.
JavaFX, Widgets, and Apps
Attend this session to hear about two exciting new OSS widget/app-launching frameworks, LaunchBoxFX and eWidgetFX, for embedded and desktop platforms. See how to create dock-based widgets ranging from mini-apps to full-control interfaces for entire systems—and everything in between. LaunchBoxFX provides a pluggable interface for development of dynamic widgets in embedded environments. You’ll learn how to use JavaFX 8 to create dynamic widgets that provide live updates and scalable monitoring/control for any number of inputs. With more resources comes more power! With eWidgetFX, you’ll learn to create futuristic, dockable apps that “snap out” for greater visibility and control. Learn to leverage the power of JavaFX on desktop platforms for user-awing UI results.
Let’s Get Wet! AquaFX and Best Practices for Skinning JavaFX Controls
JavaFX offers a wide range of default controls for creating cool and great applications, from business to entertainment use cases. Because JavaFX is a multiplatform UI framework that can be used mainly on desktop-based platforms and embedded devices, a cross-platform skin named Caspian is provided by JavaFX. As of Java 8, Modena will be a official second cross-platform skin for JavaFX, but some applications and developers have a definite need for native or custom skins for their controls and applications. This session points out how to create custom skins for JavaFX controls. You will learn that with AquaFX, this custom skin can even feel like a native one.
Feature Driven Development
This talk shows Best Practices that can be used to develop application in an agile and feature driven workflow. Companies like flickr use this development process internally and even Martin Fowler defined a part of the process as “FeatureToggle”.
In the talk I will start with the definition of feature tasks and what steps and methods are needed to define them. Next to this an application is shown that was developed by the use of FeatureToggles. Here different architecture approaches in Java will be shown. Next to the architecture of an application the development workflows must be changed to create applications in a feature driven way, too. In some examples best practices to handle the new workflows will be shown.
Methods and tools like the GitFlow, GitLab, the Java Togglz API and Jira will be shown in this talk.
JavaFX Enterprise
JavaFX 8 offers a lot of excellent features to create modern and interactive user interfaces. However, in addition to a shiny UI there are other important issues that must be considered when creating enterprise business applications with JavaFX. This talk gives an overview of the various best practices on solving problems like client-server communications (transport), asynchronous vs synchronous tasks, MVC/MVP framework patterned approaches and designing of complex dialog window flows. Although the JavaEE platform already defines decent data binding solutions when developing JavaFX applications, this session will demonstrate 3rd party frameworks such as DataFX, ControlsFX and Open Dolphin. These 3rd party frameworks provide useful features that will ease development, thus reducing time and money on your enterprise projects. By learning these JavaFX enterprise APIs and techniques a developer will be able to focus on application building instead of the underlying plumbing.
Smart UIs for mobile and embedded in JavaFX
You need a shiny cool UI for embedded devices? It should be optimized for touch? It should be responsive? It should be configurable? It should be based on JavaFX?
Great! We have exactly what you need!
In this talk we will introduce a new JavaFX theme that is made for embedded device and will fit perfect in all the cool new IoT and mobile products. By using the theme developers can enrich there IoT application with a modern UI and best practice workflows.
The JavaFX Community and Ecosystem
Do you want to start working with JavaFX? But you don’t know where you can find all of the cool tutorials and open source APIs? This session is the perfect place to be! Leading up to the Java 8 release there has been a huge ecosystem with a lot of good tutorials and open source frameworks surrounding JavaFX. Since this year the community is getting bigger and bigger. In the session we will introduce some of the most important parts of the JavaFX ecosystem like 3rd party frameworks and popular knowledge bases. We will illustrate the functionality and synergy effects between the libraries with a live coding session. Lastly, we will end the session with real-world applications demonstrating techniques and APIs discussed earlier.
WebComponents and Polymer
Up until now it was almost impossible to create reusable components for the Web in a reasonable way. CSS rules and JavaScript variables would always get in their way in large applications. Luckily there is an initiative now to unify techniques to define custom Web Components
Using examples we will show in this talk how you can build your own components. We will explain what the Shadow DOM is and will present tools like Polymer and X-Tag. This talk will give an overview of the current state of technology and a forecast of future development.
The remote presentation model
Finding the right architecture and remoting layer for a modern application of often very hard. In this talk we want to introduce the Remote Presentation Model Pattern that is based on MVC and introduces a generic model approach that can be used to define (presentation) models that can be synchronized between the client and the server. By doing so the business logic of an application can be defined completely on the server. In addition this pattern is a perfect match to create cross-platform apps that support real time updates and collaborative features. In this talk we show how the pattern can be used in a Spring or JavaEE environment by using all the cool features of this enterprise frameworks. In addition we will show how different clients can easily be implemented for an app that is based on remote presentation models.
How we built the JavaOne Voting Machine
In this talk we will show how we implemented the JavaOne Voting machine. We will start with the general idea behind the Voting Machine and an overview of all components involved that run on embedded hardware and in the cloud. We will then show some parts and solutions like the IoT functionality, live reporting and UI concepts in more detail. If you are interested in how this cool voting concept has evolved and developed you should visit this session.
JavaFX in production
Writing a “Hello World!” application is always easy and a Java developer can learn how to write such an application with JavaFX in some minutes. But if you want to create a productive application the knowledge of “Hello World” isn’t enough. A real application should be well structured, provide an automatic build that ends in useable artifacts and contain only needed dependencies. In addition such an application should be testable and maintainable. This talk shows some general concepts how you can create and structure a JavaFX application that can easily grow and become more complex without loosing control of the code, functionality and maintainability. At the end each attendee will have a template that he can use to start creating JavaFX based application.
Extreme Gui Makeover
This talk if for all UI lovers, GUI enthusiasts and friends of modern and user-friendly UX. JavaFX is not only a modern UI toolkit but the recommend UI Toolkit of Java, too. It offers a lot of amazing features to help you craft modern looking and interactive user interfaces. JavaFX offers everything that is needed to create well behaved and aesthetically pleasing GUI applications. This talk will compare and contrast your run-of-the-mill application and then go one step further by showing how developers can create an ‘Extreme’ GUI application. Who needs an old school toolbar when they can have an animated menu? This and other important questions will be answered in this lighthearted talk. Because it is an ‘Extreme Makeover’ talk the examples will be shown as live demos and live coding sessions.