This repository has been archived by the owner on Mar 26, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 148
Tips, issues, ideas, possible future platforms. #66
Comments
I love it. I think that's the future.
Seems promising.
Make sense to support it in next react-tv versions.
definitely I'll make some experiments <3
Whoa, seems promising. Let's wait to see.
Yup, I agree with you. Spatial Navigation in draft on React-TV |
I saved your ideas in a note @jeroentradecast. Thank you for sharing it. |
@jeroentradecast @raphamorim another remote debugger tool we use is http://www.vorlonjs.io |
@hizo Thanks! I'll definitely check it out. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Hi raphamorim,
I'm building/have build multiple Smart TV apps with React and TVOS with react-native. I didn't want to comment in every issue, but I have a couple of things to share which could be helpful. I love you're trying to unify building react apps for Smart tvs.
Samsung Toast
Have you looked at Samsung Toast? It's a builder (based on Cordova) and sets up a unified API for Samsung Orsay, Samsung Tizen and LG WebOS. To be honest I think it's pretty terrible to setup, but having tons of legacy stuff unified is great.
I think, if you just rip out the actual toast library, and possibly rip out the build system (creating config.xml, etc) you could have Orsay and Tizen support very fast.
Vewd/Opera TV
Opera TV, since 3 months known as Vewd, is another Smart TV app supply platform. They work (imho) with/on the lower-end spectrum of smart tvs (HiSense, some Sony tvs, Panasonic, Vestel, TP Vision, etc.). It's pretty easy to build apps since their API is pretty much the same as web (window.close, etc, but use a specific keycode set you have to get from the global window (;()). They don't use 'hosted' apps like lg and Samsung, but use urls. What I think is plausible is to use react-tv to build a Vewd app, and let the creator/user host it themselves.
Amazon Firestick
Same as Vewd, not hosted but application urls. Very, very close to web API. Could work with a almost identical build as Vewd, but some different keycodes, eventlisteners.
Chromecast
Chromecast, besides streaming, can run complete JS applications. Also works with application urls. It has very basic HDMI-CEC support (although afaik they're working on it, it doesn't have navigational support). It's very doable to setup a virtual remote control (in web/app) to publish keyevents to the chromecast app. Maybe it's not really the target of this library, but it could be very cool.
Metrological
I don't think it's doable, but it could be researched. They have their own Metrological SDK, which is very limiting. They run on tons of set-top-boxes, e.g. Comcast, Liberty Global with KPN and Ziggo (Dutch), ooredoo (Qatar).
React Native tvOS
I'm/we're using an almost completely sharable codebase between React native for tvOS and web. It's very doable to write a cross platform abstraction layer for views and device/web api.
React Native Samsung
Samsung and Microsoft promised to team up with Facebook to deliver support for React Native on Tizen. This was more than a year ago but only Microsoft delivered. I haven't read any news coming from Samsung since then, but... drumsounds... I've just noticed this repo was created 10 days ago. So maybe they're going to start?
Spatial navigation
I've written a custom implementation for spatial navigation, but thinking/working towards transitioning to Luke Chang's Spatial Navigation. I've already seen it mentioned in the issues here, I personally think react-tv should work towards getting that to work instead of going for a custom solution. It can take a lot of time to build something custom, and it will probably suck. Atleast two issues should be fixed in spatial-navigation; custom keyEvents and continuing in grids (last of row in grid > first of next row in grid instead of a full stop).
Debugging
Maybe you've already ran into the issue of debuggers not working, working crappy, I've switched to Weinre to atleast have one reliable debugging tool cross platform.
So, this is what I currently could think of. I'll definitely keep checking out the progress. Please let me know if you're stuck on stuff! Sorry about the title of this issue, I couldn't think of anything better.
Edit. Typos etc.
The text was updated successfully, but these errors were encountered: