There are countless tools and IDEs to support developers in their daily work. Technologies such the Language Server Protocol (LSP), Eclipse EGit, Eclipse Xtext, Gradle, Docker, the various IDEs supported by Eclipse projects, Eclipse Papyrus, your latest VS Code plugin and more, cover use cases from typical IDE features over domain-specific languages, modeling tools, to application lifecycle management. Tell us about the best tools and frameworks, how you have built them, what technologies they adopt, and lessons learned.
This session will give you an update on many of the new features that have been added to Eclipse Platform in the past year. Eclipse now successfully ships with the new release cadence every 3 months, so we will cover the feature set of the past 4 releases.
The new release cycle has also some impact on the development process of Eclipse projects. We will give our learnings on these impacts from the Eclipse Platform’s view point.
Eclipse Xtext is a mature and powerful framework for building domain specific languages - standalone, backed by a language server (LSP) and with an Eclipse IDE. Despite the existing documentation, tutorials and tons of third party material, there are some problems and obstacles new Xtext users are stumbling over regularly and ask in the Xtext forums or on Stackoverflow. In this talk I will give an overview on some of the most common issues and show possible solutions.
We developers love writing code, discussing and constructing perfect solutions. However, we very much dislike manual, repetitive tasks, and especially waiting for slow executions such as re-compilations, builds, and slow tests. Our daily coding work involves a lot of these tiny productivity blockers that make our work less enjoyable. What are the state-of-the-art techniques and tools that enable us to spend more time on the beautiful side of coding?
This session will cover what it means to have an API in Java. I will explain how an exposed API can be maintained and evolved over releases. I will talk about evolving APIs without breaking the clients. Interesting cases like generification of APIs will be discussed. I will also discuss the various rules of versioning in case the API needs to have breaking changes.
The session will explain the different types of incompatibilities - like binary, source, behavorial incompatibilities etc. with examples. I will demonstrate the examples live during the session.
People love Visual Studio Code for its superfast performance, lightweight nature and active open source community around it. All of these are now available for Java developers by extensions contributed by individuals and companies such as Red Hat, Microsoft and Pivotal. By combining a couple independent extensions, you can create a lightweight working environment just for your Java workload yet powerful enough to almost match the feature richness of existing IDEs.
This sessions shows how you can use Visual Studio Code to develop your Java application. It guides you through all the available extensions so you can later explore then base on your own needs. The session will also introduce a couple new features in VS Code to further boost your productivity with AI-assisted IntelliSense, real-time collaborative development as well as remote development tools.
Adding support for a new language to an editor or IDE was once a tough task. With the development of the language server protocol that is no more. Eclipse supports the protocol and we used that to connect a new language to the Eclipse IDE: Dart.
The Dart programming language is a relatively new language. Currently it is widely used within the Flutter project which aims to be a toolkit for cross-platform and native app development. It is also used in various web related projects.