react-native-macos icon indicating copy to clipboard operation
react-native-macos copied to clipboard

Linux support

Open ptmt opened this issue 8 years ago • 35 comments

Qt or GTK or GTK#.

ptmt avatar Apr 04 '16 04:04 ptmt

Is there any docs how to get started in creating support for new graphical interfaces such as GTK?

atilacamurca avatar Apr 07 '16 21:04 atilacamurca

I've actually started to work on it (QT for now). It won't be hard to migrate to GTK later if needed. As soon as I get something I'll make the pull request to discuss.

ptmt avatar Apr 08 '16 03:04 ptmt

great, I'll be waiting.

atilacamurca avatar Apr 08 '16 12:04 atilacamurca

yes please

JohnAppleSeed- avatar Apr 13 '16 18:04 JohnAppleSeed-

@ptmt Have you considered trying to integrate with node instead of JSC?

cesarandreu avatar Apr 13 '16 19:04 cesarandreu

QT would be great! Wouldn't that also provide Window/OSX desktop apps too?(although I guess not as "native")

polarathene avatar Apr 28 '16 07:04 polarathene

although I guess not as "native"

That ^^

LukasBombach avatar May 03 '16 19:05 LukasBombach

What's up with this? https://github.com/grassator/react-qml Isn't that basically a react-QT-renderer?

LukasBombach avatar May 05 '16 11:05 LukasBombach

Yeah, looks nice if you don't need react native.

On Thu, 5 May 2016 at 14:21, Lukas Bombach [email protected] wrote:

What's up with this? https://github.com/grassator/react-qml Isn't that basically a react-QT-renderer?

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/ptmt/react-native-desktop/issues/59#issuecomment-217128171

ptmt avatar May 05 '16 12:05 ptmt

Ah right, it is only rendering QML/QT, not running natively. 👍

LukasBombach avatar May 05 '16 12:05 LukasBombach

i mean it's not the same concept where you writing Javascript for do your UI and logic. On Thu, 5 May 2016 at 15:44, Lukas Bombach [email protected] wrote:

Ah right, it is only rendering QML/QT, not running natively. 👍

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/ptmt/react-native-desktop/issues/59#issuecomment-217143288

ptmt avatar May 05 '16 13:05 ptmt

I was actually wondering why you didn't target something like Qt from the get go. It would have allowed you to target all major desktops at the same time.

Any particular reason ? genuine curiosity :p

kamek-pf avatar Jun 30 '16 15:06 kamek-pf

Back then it really made sense to port from UIKit -> AppKit, since it allowed to re-use 90% of the code. Of course, next-gen RN ports will consist of C++ core (which RN already has) and the UI part implemented in different libraries, including Qt.

ptmt avatar Jun 30 '16 19:06 ptmt

Hi @ptmt any updates on the status? I've been waiting for this project for more than a month now. :)

SuhairZain avatar Jul 20 '16 09:07 SuhairZain

It requires full-time effort or at least being the main side-project, and my patreon has failed (predictable). There is also Electron, which got unbelievable adoption and suitable solution for 90% tasks. But I believe that Linux fork will happen this year, maybe even several attempts to achieve cross-platforming. (.NET, Qt, etc.). React Native is strong as never, and community is awesome. (And I'm not saying that I've stopped, just trying to earn some money to work on open source full-time.)

ptmt avatar Jul 20 '16 09:07 ptmt

Hi @ptmt . I know the struggle. :)

I've made electron apps before but this particular one requires file system access (as in full read/write & file watchers). I didn't find a way to do that in electron since it's basically a packaged HTML and JS file and it has it's limitations, which drew me to your project. Guess I'll have to wait.

I was also thinking about lending a hand to this project. Get started on something using GTK+, but I have no experience in native desktop development whatsoever, and it would be a great help if you could point me to something that could be useful.

SuhairZain avatar Jul 20 '16 14:07 SuhairZain

Electron embeds node, you can definitely access the file system with an Electron app.

kamek-pf avatar Jul 20 '16 16:07 kamek-pf

@kamek-pf I had seen that this was possible before, but couldn't find a single example for that. Now I did another search and found this one: https://github.com/hokein/electron-sample-apps/tree/master/file-explorer. More than enough to get started and hopefully can move slowly into RN once it's released. Thanks.

SuhairZain avatar Jul 20 '16 20:07 SuhairZain

@ptmt Just wondering, how is this going? Thanks :-)

Mayzie avatar Oct 25 '16 09:10 Mayzie

It has been frozen since Canonical announced their react-native fork for Ubuntu.

ptmt avatar Oct 28 '16 09:10 ptmt

In Canonical repo there seems to be no activity (in the last 7 months they only updated the readme once), also they don't seem to keep their react-native up to date.

zserge avatar Apr 12 '17 20:04 zserge

Also, I have tried to use it. There is no documentation and it seems very troublesome to really use it. On Wed, 12 Apr 2017 at 22:47, Serge Zaitsev [email protected] wrote:

In Canonical repo there seems to be no activity (in the last 7 months they only updated the readme once), also they don't seem to keep their react-native up to date.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ptmt/react-native-macos/issues/59#issuecomment-293702818, or mute the thread https://github.com/notifications/unsubscribe-auth/ACRPhMPAvN14AUJx1TcsribM_7oqjjkkks5rvThxgaJpZM4H-xcM .

LukasBombach avatar Apr 15 '17 16:04 LukasBombach

I can understand that, it's hard to maintain such monolith project without the dedicated team working on it. It's great that Microsoft have resources to maintain Windows fork, and I'm sad that Canonical hasn't been into desktop lately. I wish I could build a really solid and useful app to attract a big sponsor to whole RN for Desktop idea. Having lightweight alternatives to Electron could be helpful in some cases, especially for small developer utilities.

ptmt avatar Apr 15 '17 19:04 ptmt

I think react-native-windows also needs a lot more resources and a dedicated team. There's a lot of bugs and missing features, and they're struggling to keep up with the last RN releases.

I have had a pretty good experience getting my app to run on Windows 10 UWP (both phone and desktop), so I don't think there is a need for QT on Windows.

I'm about to try out react-native-macos, and like you say, it shares 90% of the code with iOS, so QT is probably unnecessary on Mac.

Now there's react native for Ubuntu, which does use QT, but it doesn't look like anyone is working on that anymore. But even if it was being actively maintained, I think it's better to use this project on Mac OS. It's always better to match the look and feel of the platform by using native controls.

I wish I could build a really solid and useful app to attract a big sponsor to whole RN for Desktop idea.

I second this. A lot of people on HN are hating on Electron because it is so bloated, and uses a large amount of memory. I believe that React Native is a far better choice for desktop apps.

FWIW I'm working on a game that will be launched on mobile and Windows desktop, and maybe Mac if I can get react-native-macos working. Hopefully more people will start building desktop apps and games with React Native, and we can build a stronger community 🤞

ndbroadbent avatar May 17 '17 14:05 ndbroadbent

Development has started on https://github.com/jamrizzi/react-gtk. Most of the development is currently focused on the gtk bindings for node. https://github.com/jamrizzi/node-gtk3.

clayrisser avatar Sep 20 '17 05:09 clayrisser

Awesome!

LukasBombach avatar Sep 20 '17 13:09 LukasBombach

There is a quite interesting project here https://github.com/yue/yue ("A library for creating native cross-platform GUI apps."), which seems to try (and those attempts look quite successful to me) to implement a common framework for cross-platform native GUI with bindings to JS and LUA already available.

P.S. The author of yue seems to work in Electron team, which makes me believe that something interesting is coming...

frol avatar Sep 21 '17 11:09 frol

@frol There has been a recent discussion on HN (https://news.ycombinator.com/item?id=15218067) and it got some rather unimpressive feedback. I would be very careful about yue (possible copyright violations, restrictions for contributors etc). And their pricing model looks bizarre for a brand new library that may or may not be trustworthy.

zserge avatar Sep 21 '17 11:09 zserge

I just found this project and I was wonderin, are you still working on the Qt port @ptmt? If so, what state is it in and do you have a clear way for someone (e.g. me) to help out? Also, what does licensing look like?

I'm interested in building cross platform applications with a common library. With the way you're building it, could I have a dynamically linked library that can be under different licensing terms than Qt? Writing a cross platform library seems a lot easier than writing a cross platform GUI these days...

beatgammit avatar Nov 12 '17 13:11 beatgammit

I actually never worked on Qt myself, I was doing GTK one, but not for a long, so it's in a very early state. Canonical tried to make react-native based on Qt, and there are some other attempts to build cross-platform GUI frameworks, some of them may or may not use React as a core paradigm, be sure to check all links in this thread. I strongly believe that in next year we will see something truly great.

I'm also not a great expert in licensing, unfortunately. But probably can help with tech if you decide to work on something like that.

On Sun, 12 Nov 2017 at 16:38 Jameson Little [email protected] wrote:

I just found this project and I was wonderin, are you still working on the Qt port @ptmt https://github.com/ptmt? If so, what state is it in and do you have a clear way for someone (e.g. me) to help out? Also, what does licensing look like?

I'm interested in building cross platform applications with a common library. With the way you're building it, could I have a dynamically linked library that can be under different licensing terms than Qt? Writing a cross platform library seems a lot easier than writing a cross platform GUI these days...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ptmt/react-native-macos/issues/59#issuecomment-343737944, or mute the thread https://github.com/notifications/unsubscribe-auth/AA9SU4cfUb1Xrh9zh8UBpUmU3tcvpVYoks5s1vTygaJpZM4H-xcM .

ptmt avatar Nov 12 '17 15:11 ptmt