microsoft/react-native-test-app

Platform Request: `react-native-tvos`

TheUltDev opened this issue ยท 16 comments

Proposal

Can the https://github.com/react-native-tvos/react-native-tvos platform be added to this project?

Alternatives

Alternatively schemes could be added, I'm unfamiliar with what changes the tvos fork adds, it may be possible to support it in another way.

Implementation Details

I assume tvOS could be implement in a similar was of how visionOS is implemented

Additional Context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Hey there! Thanks for asking - the short answer is similar to the one we gave for the RNWeb issue: "sure, why not".

But of course there are a few considerations that we need to be kept in mind: adding an extra platform always adds complexity, and because we don't use tvOS internally we'd need to have an external owner for this that would make sure to keep RNTA's support up to our standards.

You asking did push us to engage with a some of the key players in the tvOS space and we'll be exploring viability (also given things like the fact that the actual tv OSs ecosystem is much more fragmented and inconsistent than something like the Apple ones), but no promises at this point.

Heya! Just to add on to what @kelset is saying - the fragmentation is quite large in the TV space, so it could include:

  • tvOS
  • Android TV (which also includes the FireOS ecosystem)
  • Tizen (which is web based)
  • WebOS (which is also web based)
  • and many more

The number of OSs is only increasing (for example, Sharp recently announced they're launching their own OS) ๐Ÿ˜ฌ

Having worked on several RN TV apps, we've found that most large scale TV apps will want to support not just AppleTV and Android TV, but most of the web-based platforms as well.

Effectively, this means that it's a large task to maintain RNTA for all of these (tvOS, Android TV, & RNW).

Out of curiosity, @TheUltDev, which OSs are you particularly interested in?

@kelset thanks for the prompt reply and the engagement.

@mojavad I was mainly interested in adding tvOS + Android TV in the existing pipeline through https://github.com/react-native-tvos/react-native-tvos.

I do realize there are other tv OSes, but as pointed out they are mostly all web-based. I am handling the web-toolchain differently so it's of little concern. I plan on accomplishing that by supporting multiple wrappers around the RNW build (this could also include Tauri for linux and other unsupported desktop platforms)

I do think the web-based tooling is out-of-scope of this project. That is my speciality so maybe I can contribute it to this project once I'm more familiar with it. For now I'm handling it separately.

For reference, I'm building a cross-platform framework that supports as many platforms as possible:
https://github.com/kat-tax/exo (https://exo.ult.dev)

The web tooling is located here fyi:
https://github.com/kat-tax/exo/tree/master/toolkit/web

I'm currently evaluating RNTA's use-case in building production apps via singleApp mode.