Is KorGE a good option to create app (that isn’t a...
# korge
p
Is KorGE a good option to create app (that isn’t a game)?
I mean I would like to create an application that isn’t really a game. It will contains some mini-games, hopefully, but this isn’t the main goal of this project. Let’s say I would like to create a video chat app (actually I have a better idea, but this is good for now). Is KorGE a good option? Is it support buttons, text inputs, etc? Because I can create a rectangle shape with text in the middle and that can do things if user click on it. So, basically I have a button. But maybe there is a button already in KorGE that I can use for this (same with text input). I’m not sure this is a good idea to use KorGE for an app that isn’t a game actually. But I could spare tons of time to have my app running in most of the platforms (native mobile, web) with the same codebase and programming in Kotlin 💜 So, what do you think about that? Would you write an app (video chat, webshop, etc) using KorGE? Or this is a bad idea and should I use it to write games only? Every opinion, inputs, feedbacks are highly appreciated 🙏
d
KorGE is based on the "korlibs" library set. You can use these libraries individually. KorGE is OpenSource, you can send PullRequests to the places you want to expand and make your own entry points or start an Issue.
🤔 1
👍 1
Also you can connect third-party libraries or write your own
Also, if you need a server for your project, then Kotlin + KorGE is also a good choice. You can use shared Kotlin code for client-server communication.
p
I’m coming from android world with backend development background. I love what Kotlin did to make this much enjoyable 🙂 Let’s go back to this video chat app example. I need to use the camera. How KorGE will handle the permission requests on all the different platforms? Do I need to do it one by one? Or the framework can handle it? Should I not thinking on KorGE and say that if I can solve something with Kotlin, then I can solve it with KorGE too? Perhaps, these are dummy questions, but I’m so new in this game development world and I’m not sure what is the limitations (if there is any).
c
I haven’t done a ton with korge, but it’s probably pretty far from being “good” for this purpose. I don’t think it has input fields, things like buttons (if they exist natively) probably won’t be very great at displaying different states (disabled, focused, etc) or playing nicely with accessibility. My experience with most mobile game UIs is that they are pretty subpar to a normal Android app. Unity, Unreal, etc. might offer UI libraries, but they always feel sluggish and clunky, so even on those giant game engines I don’t think a full app UI built with them is a great idea. I think the better option would be to try and “embed” Korge games into existing native UIs. I haven’t looked into this much yet, but I do believe that the Korge plugin can export an Android library for this purpose, and I’d love to know if it can do the same on web as I have some ideas where I’d like to do this as well.
t
For me it wouldn't be first choice for anything which has to deal much with UI elements. It already has Button and Label, but no text input widgets. Its possible to layout things in the way, Component B is below Component A, but this is far away from the flexibility of a layout manger. And styling of the widget is a very technical part where you have to provide sprites. Far away from lightweight themes or even CSS. Of course you can pic the KorGE features you want, an use some native elements of the platform, but then the multiplatform concept doesn't work anymore. I would check if • tornadofx (JavaFX & Kotlin & JavaFXPorts for Android) • Compose for Desktop - bleeding Edge could be alternatives. And don't forget the pure Webframeworks where you can also stick to Kotlin: • KvisionVaadinOnKotlin
p
Thank you for the inputs! 🙏 I was expecting something like this… @Casey Brooks The point is I don’t want to build the native UI for every platform, but I would like to use Kotlin (not React Flutter, etc and it’s not only related to mobile). KorGE could spare a lot of configuration and setup unlike Kotlin MPP. But I understood that KorGE shouldn’t be used for UI building. @tobsef Especially thanks for these references. I heard about Compose is available for desktop too and I know tornadofx is exist. But nothing more. Perhaps this is the right time to check them and use KorGE for game development only.
d
Yeah, as already said, KorGE is intended for Game Development. Early versions had KorUI that supported creating native UI for Android, JS and Desktop. In the latest version it has been partially revived to support the IntelliJ plugin, but only available for the JVM target and KorGE views themselves with pretty limited component support. Text input and improved KorUI will become available as part of 2.x releases. But in the end, if you want to make great native experiences, your best bet is to go with native or at least with frameworks focused on doing that well
🙏 1
💯 1