ricohapi / theta-client

A library to control RICOH THETA
MIT License
18 stars 13 forks source link

Support for Windows Desktop Application Development? #46

Closed jcasman closed 8 months ago

jcasman commented 1 year ago

Kotlin Multiplatform appears as if it can support Windows desktop. The documentation has a section on desktop applications. Will theta-client compile for Windows? Has this been done?

simago commented 1 year ago

@jcasman As you can see from build.gradle, Theta-client compiles only for Android and iOS. We have not yet tried to compile for Windows.

codetricity commented 1 year ago

@simago do you think it is theoretically possible for another developer to take theta-client, modify build.gradle and compile it for desktop support? I'm thinking of paying three junior developers to look into kotlin multiplatform desktop builds for a few days. Based on the article below, I found some information on compose-multiplatform configuration.

https://stackoverflow.com/questions/71987995/how-to-deliver-a-desktop-app-of-kotlin-multiplatform-project

I'm thinking of asking them to go through this information and see if they can first build a standalone Windows desktop app with a simple code example and then if it works, try to use theta-client with the desktop.

https://github.com/JetBrains/compose-multiplatform/tree/master/tutorials/Native_distributions_and_local_execution

If it is not theoretically possible, I'll assign them different work.

simago commented 1 year ago

@codetricity You have a plan to try Compose Multiplatform to generate desktop UI! It is very interesting project but I have not try.

Using Kotlin/Native, you may compile forked Theta-client into a native dynamic library. But I do not know an application based on Compose Multiplatform can call a native dynamic library.

codetricity commented 1 year ago

@simago thank you for your advice. Is it theoretically possible to use the native dynamic library as a Flutter plugin, assuming we build the surrounding plugin for Windows platform?

simago commented 1 year ago

@codetricity I found a codelab Write a Flutter desktop application and sample desktop application. It seems that native libraries could be linked to Windows plugin by specifying to windows/CMakeLists.txt.