react-tv icon indicating copy to clipboard operation
react-tv copied to clipboard

Tizen Support

Open raphamorim opened this issue 7 years ago • 21 comments

with commits from #54

raphamorim avatar Dec 29 '17 16:12 raphamorim

@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.

raphamorim avatar Jan 15 '18 21:01 raphamorim

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.

ppsirius avatar Mar 05 '18 13:03 ppsirius

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 avatar Feb 01 '19 16:02 rdobda-gaia

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 avatar Feb 01 '19 16:02 fourscience

@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

rdobda-gaia avatar Feb 01 '19 17:02 rdobda-gaia

@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

fourscience avatar Feb 01 '19 17:02 fourscience

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

ali-sao avatar Feb 07 '19 17:02 ali-sao

Anyone still working on this?. Do reacttv supports tizen tv platform now. cc: @raphamorim @rabeeshm

gautamkrishnar avatar May 14 '19 05:05 gautamkrishnar

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 avatar May 14 '19 15:05 rdobda-gaia

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 avatar Aug 15 '19 22:08 ironprogrammer

@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 avatar Aug 16 '19 05:08 fourscience

@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 avatar Aug 16 '19 18:08 ironprogrammer

@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 avatar Aug 16 '19 18:08 fourscience

@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 avatar Aug 22 '19 19:08 ironprogrammer

@ironprogrammer have you uploaded your cert to device?

iepsen avatar Aug 22 '19 19:08 iepsen

@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.

ironprogrammer avatar Aug 22 '19 19:08 ironprogrammer

@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]

fourscience avatar Aug 22 '19 20:08 fourscience

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.

iepsen avatar Aug 22 '19 20:08 iepsen

@ironprogrammer have you fixed it?

iepsen avatar Aug 30 '19 07:08 iepsen

Any updates is Tizen will be supported soon?

ahmadfreijeh avatar Jul 01 '21 09:07 ahmadfreijeh

This seems moot as samsung have their own react-native library now.

devnullpointer avatar Dec 09 '21 15:12 devnullpointer