oakes/play-cljc

Target mobile devices via react-native / expo / etc.

Closed this issue · 3 comments

I'm working on a game in ClojureScript / Expo. I had evaluated this library before, but since I wanted to target mobile devices, had given it a pass.

Now, after a bunch of development, I see that my code is starting to show a lot of Object Oriented patterns, and I'm not liking it.

Would be great if play-cljc could export for mobile devices via react-native / expo / etc.

oakes commented

You can run play-cljc games on mobile if the app uses a web view. The only caveat is that it uses WebGL 2 right now, which (i think?) isn't supported on iOS. It would probably not be that hard to make it use WebGL 1 though; i just haven't looked into it yet. But beyond that, it should just work. There isn't anything special about a game running in a mobile web view compared to a normal browser.

Hmm, you're suggesting we put the game in a webview.
I have a feeling that React Native would perform better, though webview should also not be a problem for simple games without too many animated sprites on the screen at once.
I'll give it a try.
Thanks!

oakes commented

I might be mistaken but i don't think react native has any support for graphics APIs like opengl / metal / etc. It is used for apps with mostly static UIs, not games. If you want to target native graphics APIs with clojure, arcadia may be your best bet.