LIJI32 / SameBoy

Game Boy and Game Boy Color emulator written in C
https://sameboy.github.io/
Other
1.58k stars 205 forks source link

android question #556

Closed roomnoom closed 11 months ago

roomnoom commented 11 months ago

Hello, are there any plans for a native android port? Retroarch doesn't get updates it's still on 0.15.4 and retroarch mobile experience is 🤮 anyway

LIJI32 commented 11 months ago

An Android port is not planned for several reasons:

  1. I don't have an Android device, and Android generally doesn't really pique my interest as a platform.
  2. My Android experience is almost exclusively low level internals, I have never written any Android app. I also haven't used an Android phone as an end user since Android 2.x, so I would probably screw up the UX as well.
  3. Android is a terrible platform for development – Google's fork of gdbserver used to be plagued with Android-specific bugs (Although I heard it's better these days), every integration with the OS, including the basic ability to actually launch as an app, has to either go through Java or through some third party library (that just go through Java for you), and generally it's very "developer-hostile" towards anything that doesn't compile to Java.
  4. Lastly, the state of the Android Play Store is quite worrisome. "Scam" forks of popular open source Android apps plague it, often while violating the license, while adding obscuring ads and other unwanted stuff all over the place. This would both hurt SameBoy's reputation and the general user experience, and I also do not want to support that industry by providing them any more open source software they could rip off.

However, with that said, SameBoy's core is completely standalone and can easily be integrated into third-party frontends. There are already several third-party frontends for SameBoy, such as SuperDux (Qt frontend) and Windfish (macOS Game Boy reversing IDE), and to some extant bsnes (Which uses SameBoy as the Game Boy side for Super Game Boy emulation), so an experienced Android developer could make such third-party frontend given enough interest.