Amper Update – December 2023
Last month JetBrains introduced Amper, a tool to improve the project configuration user experience. It offers concise, declarative configuration with sensible defaults for common use cases and carefully considered extension points.
Since then, we’ve received a lot of feedback from the community and have continued our development work as well. In this post, we’ll recap some of the highlights of what we’ve heard from you and talk a little about where we’re headed next.
At this early stage of the project, receiving feedback is of utmost importance, as it helps us build Amper in a way that meets real needs and solves real problems. We’re grateful to everyone who has already shared their thoughts with us, and we hope to hear more from you. Your comments have reaffirmed that the simplicity offered by Amper is indeed something you want.
We’ve also received a lot of feedback about our choice of YAML as the language of Amper’s module definition files. Rest assured that we’ve taken this feedback to heart. As stated in our initial announcement, this language choice is not final. We’re still evaluating the available options, and we look forward to sharing more on this topic soon.
Since the initial announcement, we’ve released a few updates, adding support for configuring Kover (a community contribution from Landry Norris, which we’re grateful for) and delivering bug fixes (AMPER-222, AMPER-256).
We’ve also published the source code for the current prototype implementation, which you can now browse in the GitHub repository of the project.
Amper is being actively developed, and we also have other exciting additions coming soon. These include one of the most commonly requested features: support for version catalogs. We’re also working on improved IDE capabilities, such as better typing assistance and code completion in your Amper manifest files.
How to try Amper
If you haven’t tried Amper yet, we encourage you to give it a go and share your thoughts on it with us.
To get started, open your project in the latest version of IntelliJ IDEA or Fleet, and follow the setup instructions. You can also take a look at the tutorial, sample projects, and documentation to learn more.
A good approach for trying Amper in your own project is to create a separate branch where you replace your existing configuration with Amper modules. You can see this in action in our KMP app template repositories with shared Compose Multiplatform UI and with native UI implementations, which now have separate branches configured with Amper.
For example, here’s how the shared module of the template with native UI was converted from the original build file to its new module manifest that uses Amper.
Because Amper offers interoperability with Gradle, you can still use Gradle plugins and write custom Gradle tasks if necessary. For example, the module above uses this interop to include the Gradle plugin for SKIE in the project. You also have the option to keep the file layout that Gradle projects use to simplify migration.
To provide feedback about your experience, join the discussion in the #amper channel on the Kotlin Slack, or share your suggestions and ideas in an issue on YouTrack. Your input will really help shape Amper’s future, and we look forward to hearing from you.