Kotlin

How Kotlin can change developer experience with modern graphics APIs

UA2.118 (Henriot)
Giuseppe Barbieri
Creating modern games in Kotlin forces you to use non-object oriented graphic languages and getting your hand dirty with native resource managemente. With wrappers around OpenGL and Vulkan, we make powerful graphics familiar to jvm devs and type-safe.
Vulkan and OpenGL are the cross-platform standard for creating modern games and graphics. However, their respectively stateless and state-based systems have no relation to an object-oriented language like Kotlin and you have to be careful to handle native resources interacting with the API. Wrappers that we have built at Kotlin Graphics allow for them to become object oriented. This talk will teach the attendees how to use our wrappers VKK and GLN for Vulkan and OpenGL respectively in order to create performant, modern graphics. Graphic power meets Kotlin expressiveness VKK and GLN bring features such as type safety through inline classes and enums, DSL constructs, extension functions, typealias, less verbosity, pure jvm allocation strategy and an easy to pick up system. Because of the type-safety guarantee, we can directly call the native methods without performing potentially expensive checks. This allows users of Kotlin to create performant, modern games like those you could build on C or C++.

Additional information

Type devroom

More sessions

2/2/20
Kotlin
Nicola Corti
UA2.118 (Henriot)
Welcoming participants to the first edition of the Kotlin DevRoom @ FOSDEM
2/2/20
Kotlin
Erik Hellman
UA2.118 (Henriot)
Kotlin Coroutines are a great match for implementing common features in Android applications. In this presentation, we will go through a number of patterns that solves the pattern we often encounter when implementing traditional asynchronous features.
2/2/20
Kotlin
Christophe Beyls
UA2.118 (Henriot)
FOSDEM Companion is currently the most used mobile application at FOSDEM. It has been around since 2014 and is updated every year. In 2020, it's finally made the big leap to Kotlin!
2/2/20
Kotlin
Christoph Pickl
UA2.118 (Henriot)
Although Kotlin is, from a language perspective, 100% interoperable with Java, due to the slight paradigm shift (nullability) there might be some pain when using Java frameworks, e.g.: the need of private var lateinit when using JUnit, having to use compiler plugins to open up Spring annotated beans or a generated zero-arg constructor for Hibernate. This talk goes through a full fledged alternative to the common Java stack when writing microservices, using: Ktor (Web framework), Kodein (DI ...
2/2/20
Kotlin
UA2.118 (Henriot)
From git housekeeping to releasing. From keeping a sane backlog to handling internationalization and monitoring status, the life of a developer involves more than meets the eye. This talk will be a feedback about how we use Kotlin extensively to: automate the dev workflows with command-line apps on dev machines. achieve CI independence with kotlin runners on CI machines. run Kotlin on the server using the gradle appengine plugin. ditch bash and perl and use kscript instead. That's a lot to cover ...
2/2/20
Kotlin
Geoffrey Métais
UA2.118 (Henriot)
Presentation of Kotlin Coroutines, a great new framework for asynchronism which makes it more powerfull and easier to manage. Please note that this talk replaces one entitled "Experimenting with the Kotlin Compiler" that was due to have been given by Jossi Wolf, who has sent his apologies but is now unable to attend as he has fallen ill. We wish him a speedy recovery.
2/2/20
Kotlin
Bob Dahlberg
UA2.118 (Henriot)
Coroutines are great, I think we all agree on that. But as the async, and possibly parallel, programming becomes easier the risk of sharing mutable variables between coroutines arises. When the boundaries are abstracted away we should rely on safe ways to communicate between our coroutines. In this session, I will go through safe and unsafe ways of communication between different coroutines, and why it's not safe to think of them purely as threads.