Simplifying Kotlin Build Configuration with Amper | Márton Braun
ฝัง
- เผยแพร่เมื่อ 2 ก.ค. 2024
- Recording brought to you by American Express. americanexpress.io/kotlin-jobs
Join us for a tour of Amper, a new build and project configuration tool from JetBrains, designed to make Kotlin project tooling approachable for everyone. With its declarative approach, Amper can provide a great user experience and intelligent IDE support for setting up your projects. This lets you spend less time on maintaining your build and focus on what really matters: creating great software.
In this session, you’ll learn how to easily set up Kotlin Multiplatform projects with Amper, see the tooling that’s made possible by declarative configuration, and learn about the latest developments in the project.
Amper documentation and samples: jb.gg/amper
Blog posts about Amper: jb.gg/amper-blog
Join the Slack conversation: jb.gg/amper-slack
Report issues: jb.gg/amper-issues - วิทยาศาสตร์และเทคโนโลยี
This guy has given one of the best presentations I have ever seen, "Untangling Coroutine Testing", when he was still at Google.
He's now working for Jetbrains and if he is an advocate of Amper, I am listening...
He knows his stuff.
This would really help out, managing gradle files is a bit confusing across multi platforms.
In a way, feels similar to Google's Bazel. I would love to try this out in a new project from scratch (without the gradle overhead).
Good! 👍
Is this just, Gradle but rewritten in yaml?😅
From what I understand, it's supposed to be tool agnostic. (In terms of architecture, obviously the backend is gradle)
It's standalone too. It's the same strategy Jetbrains took with Kotlin running on the JVM; it gives a quick start and an escape hatch for in-progress features.
How to make convention on amper?
Will be great to see this evolve the Kotlin ecosystem. Now only a good, rich, and intuitive site like rubygems or crates remains.
No more xml, groovy, deprecated api's, clean, nor 10 ways to do the same thing.
It still seems to be based on that super-heavy Gradle.
There are two options: Amper as Gradle plugin, and the standalone version
What IDE is he using?
Fleet I believe
@@cpepos Look like it, thanks
But why?
Gradle sucks. 😢
@@berkowk Except YAML sucks even more. Gradle was such a step up from Maven because it has a compact DSL based on a proper programming language rather than having to work around the limitations of a purely declarative language like XML. Moving to YAML in some ways feels like going back to Maven. Except that YAML, while being much less verbose, is in some ways even worse than XML. At least XML is whitespace insensitive and has much better support for schema validation. Have you ever wasted an entire day tracking down a weird configuration error that was caused by wrong indentation in some YAML config that you couldn't figure out because your editor decided mixing tabs and spaces in whitespace-sensitive markup sounds like a great idea? Congratulations, you learned to love XML again.
@@cod3r1337 I actually feel nostalgic for maven, sometimes more freedom leads to more pain. Some smartass at my current job decided to split flavor/module/dependencies logic between custom plugin, buildSrc and build.gradle.kts files. AS can't even recognize Gradle files now 😂
@@berkowkmy condolences 😢
Maven definitely introduced a lot of useful concepts for its time which helped in the adoption e.g. standard project layout (src/main/java/ - src/main/resources/ - src/test/java/ - target/ - etc) and more manageable dependency management. The restrictions it provided compared to Ant were actually helpful in developing applications
@@cod3r1337 We have heard the feedback about YAML, and it's not a final language choice for Amper. If you have more thoughts about what you don't like about YAML and what else you'd like to see instead, please share them in the Slack channel!
This looks awesome but I'm not a fan of YAML (or similar formats like TOML)
why? new layer of knowlege problem?
Saw YAML and lost interest ...
We have heard the feedback about YAML, and it's not a final language choice for Amper. If you have more thoughts about what you don't like about YAML and what else you'd like to see instead, please share them in the Slack channel!