react-tv
react-tv copied to clipboard
Tizen Support
with commits from #54
@Blinnikov can you go on with this feature? What do you think? I can't stop to work with it right now, currently I'm working on #100 and in some renderering improvements, then after I close these tasks I'm planning to come back for it.
It's possible to generate the certificate and send to the device by CLI but only for Tizen certificate :| Check this 1 2 3 Good idea is to create the certificate by SDK and build and deploy app in terminal. You can check my boilerplate to see how it's working. Also supporting for Orsay isn't good idea performance on this platform is terrible.
Is this still being maintained or does it seem like it's an unwieldily uphill climb? It would be great to have a development environment where we can deliver apps on webOS and Tizen at the same time, but it seems like this project hasn't been updated in almost a year, and there's a lot of frustration, uncertainty, and shifting standards about delivering samsung tizen solutions.
Is this still being maintained or does it seem like it's an unwieldily uphill climb? It would be great to have a development environment where we can deliver apps on webOS and Tizen at the same time, but it seems like this project hasn't been updated in almost a year, and there's a lot of frustration, uncertainty, and shifting standards about delivering samsung tizen solutions.
@rdobda-gaia I would suggest that you take a look on a different approach (just what we did) Here is our setup:
- React native
- Webpack (configured for multi platform builds including: tizen (partial orsay), webos, android, ios, tvos, android-tv, playstation, xbox/uwp, electron apps)
- React native for uwp and for web. (You can take a look on the react-native-web package, but i would not suggest it for webos and tizen, there is a lot of classes and it's not feature complete)
- Customised react reconciler (for specific platforms).
Just pop your questions if need any ;)
@fourscience that sounds wonderful, especially to cover so many platforms with one react-based solution. Do you have any starter projects or 'hello world' type apps with this setup to share with the community? I see this as a possible alternative: https://github.com/pavjacko/react-native-vanilla
@fourscience that sounds wonderful, especially to cover so many platforms with one react-based solution. Do you have any starter projects or 'hello world' type apps with this setup to share with the community?
@rdobda-gaia No sorry, we have only a POC, and going open source is not on developers at the moment :) that would require a huge commitment. But for the start you can take off with react native:
- just make sure that you setup a proper webpack config before (eg, we have a platforms folder, with all platform, ios contains the pods etc, regarding ios build, android grudle same, tvos just like ios, android tv just like android :) with some tweaks ofc, webos and tizen can be the same, put the webpack configs there (have a basic one, and extend that) with custom resolvers (eg imports will load index.js, but if we build tizen, and we have an index.tizen.js we will use that) so this will make sure that we are building from the correct platform
just for example:
index.tizen.js in the root folder.
import React from 'react'
import ReactDOM from 'react-dom'
import App from './src/app'
import registerServiceWorker from './src/registerServiceWorker'
ReactDOM.render(React.createElement(App), document.getElementById('root'))
registerServiceWorker()
index.webos.js is the same :) then you get import App from './src/app' (the common source)
in the src/app/ dir we can have compontents/button/index.js and index.tizen.js and index.webos.js so it will always load the platform that we want, or the default as a fallback (note: the resolved index.tizen.js can import the index.js or it can overwrite it)
and like an example for the build structure:
~/index.js ~/index.tizen.js .. ~/webpack.common.js ~/platforms/tizen (has all the stuff what we need for tizen eg: .sign folder, config.xml a basic wgt sample and the webpack.config.js ~/platforms/webos (has all the stuff for webos eg: appinfo.json etc)
so from here, you can add any platforms, even react native tizen, react native uwp etc... you will have a common imported source :) a build process which can be customised for platforms
I hope this helps to start, later on of course you can go deeper, for low end devices i would suggest a custom reconciler. you can event push that one with the build process and tailor it for the platforms.
a side note: keeping this much of platforms in the same codebase with sanity can be tricky, so before you really do an app with a setup like this, consider how to approach it (like magic remote on lg, touch on smartphones, keyboard on web, remotes for devices, analog controllers for ps4 etc) and how do you wanna separate it etc :)
just pop me a message if you have any specific questions. I'll try to answer it
React native web seems to be a handy as I am experimenting with react-native-vanilla , the sad thing is when you try to make a useful app , where navigation for instance is required.
I tried react-navigation >3.x to support web navigation , and neither webOS nor Tizen TVs is working now.
I believe a single source for native and web TV apps are terrible idea , keep React-TV the way it is will keep it appealing as is
Anyone still working on this?. Do reacttv supports tizen tv platform now. cc: @raphamorim @rabeeshm
We ended up going with a pure react with webpack solution. Tizen supports html5/javascript solutions out of the box, and webpack "compiles" down to that solution. It's not native, but works fine and is cross-platform because other tv platforms also support html5/javascript
We ended up going with a pure react with webpack solution. Tizen supports html5/javascript solutions out of the box, and webpack "compiles" down to that solution. It's not native, but works fine and is cross-platform because other tv platforms also support html5/javascript
@rdobda-gaia I'm also working on a React+Webpack solution, but when I package and sign the yarn build output, the CSS loads, but not the JS. I'm not a certified solution partner, so don't have the ability to debug directly on the TV, so was hoping you might have some tips. Thanks!
@ironprogrammer you don't need to be a partner to debug on the device, feel fre to create a cert with your info and debug, on the other hand some priviliges might not be allowed.
otherwise you can use sdb to push the wgt to the device
@fourscience I have a Samsung dev cert set up, but I get a mysterious closed error when trying to use sdb from the command line, or through the device manager. Tizen forums indicated this error was due to partner status, but is there something else I'm missing then?
FYI, I'm connecting to a Samsung PMF-BC, and using https://github.com/ppsirius/tizen-boilerplate to package the app, since the Tizen Studio hangs when packaging the React app. Thanks for the help!
@ironprogrammer
closed can indicate a lot of things, most of the time there is a specific code in the logs.
probably its either a version mismatch or something along the setup, otherwise studio uses sdb to install the app, dont forget to set the cert, enable dev mode on the device and permit it to install apps if needed, feel free to write me a mail about this ;)
@fourscience I couldn't find your email, so I opened a gist to move the convo out of this thread. Really appreciate your help!
@ironprogrammer have you uploaded your cert to device?
@iepsen Via Device Manager, yes. I can connect to the TV, select "Permit to install applications", and receive a "Succeeded to upload a certificate" response.
@iepsen Via Device Manager, yes. I can connect to the TV, select "Permit to install applications", and receive a "Succeeded to upload a certificate" response.
mail me at: [email protected]
Can you share the device model, tizen version, Tizen Studio? And do you know the tv extension version?
Please paste your config.xml here if you can.
@ironprogrammer have you fixed it?
Any updates is Tizen will be supported soon?
This seems moot as samsung have their own react-native library now.