July 31, 2023
TAP 1.6 – IDE Plugin Improvements
TAP 1.6 – IDE Plugin Improvements
The TAP IDE plugins are a critical element of the platform, as they are the main interface for most developers to the platform, and meeting developers where they want to be, which is within their IDE is a critical element of any good platform.
As is the case with every release of TAP, the IDE plugins in TAP 1.6 have also been updated with some nice new features!
Their are 4 key improvements in this area of TAP in TAP 1.6:
Local Source Proxy support for IntelliJ and VSCode
Support for Spring Native applications for IntelliJ and VSCode
Support for Gradle projects with Live Update and Remote Debugging for IntelliJ and VSCode
App Accelerator plugin for IntelliJ is now GA
Local Source Proxy (LSP)
The Local Source Proxy is a great new feature in TAP 1.6, which i have written a dedicated post about for anyone interested in more details, but the main goal, is to allow for simpler developer environment configuration, and removing the need for developer machines to have credentials and be configured to be able to push the source code from their local IDE when doing iterative development to the companies container registry.
With the support for LSP, developers no longer need to handle docker logins, or mapping of source images in their IDE settings or within their Tiltfiles!
While this may seem like a small feature, the impact this has for end users is huge, and is overall a much more elegant and secure option than what was previously available!
Spring Native Support
Spring Native applications are truly awesome, and the performance benefits are huge!
With that said, they have their challenges, and till TAP 1.6, Spring Native apps could not be iterated on with Live Update due to the nature of the apps being pre compiled to native executables and not being exploded JARs as is the case with standard spring apps.
With TAP 1.6, developers can now Live Update and debug spring-native applications non-natively and then deploy to a cluster as a native image.
This means that while developing it will be the same type of deployment using a non native compilation as with a standard spring app, but when promoting the code to our build clusters, the image that will be built is a Spring native app.
This allows for the best of both worlds, in which we can benefit from live update and remote debugging in development, but gain performance and resource benefits when promoting our apps to higher environments!
While I personally am a fan of Maven, and do not really like gradle, it is a very common option used in Java applications.
Till TAP 1.6, only MAven based projects were supported with the IDE plugins, but now we have official support, as well as updated sample accelerators, which provide support for Gradle based projects for all of the different aspects and features of the IDE plugins!
This is extremely helpful for onboarding existing applications into the environment.
While not yet officially supported, due to the new capabilities, I have even gotten this to work with Kotlin based applications using Gradle!
IntelliJ App Accelerator Plugin
With the release of TAP 1.6, the new and improved App Accelerator plugin for IntelliJ is now GA and has feature parity with the VSCode plugin.
The main new capability which was added in this release, is the ability to create a git repo when generating a new project from an accelerator automatically!
This is a great improvement, and makes the choice between VSCode and IntelliJ to simply be a matter of preferences of the developer, and no longer a matter of which features of the TAP plugins they need.
The IDE plugins are a key element of the platform, and expanding the types of apps which can benefit from the plugins, as well as making the UX for developers simpler is a huge plus!