Live data from Hacker News

Show HN: Proton Native V2 – Create Cross Platform Desktop Apps with React

proton-native.js.org

21–30 of 37 posts

Re: Show HN: Proton Native V2 – Create Cross Platform Desktop Apps with React

#21
post #18
post #2

Proton Native is a way to make cross-platform desktop apps with React, without using Electron or any sort of web browser. Your React code gets translated into Qt or wxWidgets API calls and runs directly on the machine. After a long time, Proton Native V1 was starting to show it's age. So I ended up making a complete rewrite that includes a lot of the most requested features including flexbox, styling, hot reloading,…

> ...requested features including flexbox, styling, hot reloading, and components with the same API as React Native. That sounds like the way to go for a near 1:1 port of a cross-platform desktop app for React-based apps. Also the move from libui to Qt for the UI backend sounds interesting for this project to be used as a lightweight alternative to Electron. To be a true alternative to Electron one must provide a sim…

> To be a true alternative to Electron one must provide a simple migration path for existing Electron apps to Proton Native which would change everything in cross-platform desktop app development.

That only makes it an increasingly attractive alternative for those who already have an app built on Electron, and has little to do with whether Proton is a “true alternative”. If it can viably permit developing an app without Electron, it’s a true alternative. How easy it is to migrate an app from Electron is a separate matter.

Re: Show HN: Proton Native V2 – Create Cross Platform Desktop Apps with React

#22
If this is qt and wxWidgets, how is this "native"? It's as much "native" as React "Native" is on either iOS or Android.

"Native" means native to the ecosystem it runs on. The gifs on that link show nothing like that. The amount of work that would be required to make even a small app that truly feels native on macOS or Windows would be enormous.

Re: Show HN: Proton Native V2 – Create Cross Platform Desktop Apps with React

#23

If this is qt and wxWidgets, how is this "native"? It's as much "native" as React "Native" is on either iOS or Android. "Native" means native to the ecosystem it runs on. The gifs on that link show nothing like that. The amount of work that would be required to make even a small app that truly feels native on macOS or Windows would be enormous.

wxWidgets is native - it's simply a thin, cross-platform wrapper on the actual UI from the underlying system. No interface controls are reimplemented unless strictly necessary.

Re: Show HN: Proton Native V2 – Create Cross Platform Desktop Apps with React

#24

If this is qt and wxWidgets, how is this "native"? It's as much "native" as React "Native" is on either iOS or Android. "Native" means native to the ecosystem it runs on. The gifs on that link show nothing like that. The amount of work that would be required to make even a small app that truly feels native on macOS or Windows would be enormous.

[deleted]

Re: Show HN: Proton Native V2 – Create Cross Platform Desktop Apps with React

#25

If this is qt and wxWidgets, how is this "native"? It's as much "native" as React "Native" is on either iOS or Android. "Native" means native to the ecosystem it runs on. The gifs on that link show nothing like that. The amount of work that would be required to make even a small app that truly feels native on macOS or Windows would be enormous.

wxWidgets is native - it's simply a thin, cross-platform wrapper on the actual UI from the underlying system. No interface controls are reimplemented unless strictly necessary.

Please read the rest of what I wrote.

Simply using native widgets is not enough. A "native" app has to feel like a first class citizen in the ecosystem it is running. Achieving something like this with Proton is a tall order.

Re: Show HN: Proton Native V2 – Create Cross Platform Desktop Apps with React

#26

Earlier quoted context omitted.

wxWidgets is native - it's simply a thin, cross-platform wrapper on the actual UI from the underlying system. No interface controls are reimplemented unless strictly necessary.

Please read the rest of what I wrote. Simply using native widgets is not enough. A "native" app has to feel like a first class citizen in the ecosystem it is running. Achieving something like this with Proton is a tall order.

> Achieving something like this with Proton is a tall order.

That's kinda obvious since Proton just uses wine under the hood. But everything else about what you're running will be native. With wxwidgets it will use true Windows widgets as reimplemented by wine.

Re: Show HN: Proton Native V2 – Create Cross Platform Desktop Apps with React

#27
post #2

Proton Native is a way to make cross-platform desktop apps with React, without using Electron or any sort of web browser. Your React code gets translated into Qt or wxWidgets API calls and runs directly on the machine. After a long time, Proton Native V1 was starting to show it's age. So I ended up making a complete rewrite that includes a lot of the most requested features including flexbox, styling, hot reloading,…

Hello, as a long time proton-native follower, I was thrilled to see ~40 issues closed today for v2 when I woke up in the morning :-)

Congratulations for the v2 release!! I still couldn’t try out right away as I’m on macOS + node v13... but I’ll gonna install nvm as fast as I can :-) Thanks for your great work, it’s super useful for everybody.

I’m still kinda sad about the fate of libui— it was a great project to implement UIs, but Qt was a reasonable point, I think. I’m very looking forwards to the wxWidgets backend...for the true native widgets and the benefit it provides.

Thanks again for your great work on proton-native!!

Re: Show HN: Proton Native V2 – Create Cross Platform Desktop Apps with React

#28
post #8

> But those components are not native, meaning they are drawn by Qt instead of using the components provided by the OS. In the case of macOS, this is no longer true - when Apple finally kicked Carbon fully, Qt (IIRC, in 5.13 or something? 5.12 and prior used HIThemes, which was... showing age) switched to rendering true AppKit behind the scenes. There's a few custom controls where they render their own, if no AppKit…

I personally don’t think Qt gives a native feeling in macOS: the look is similar, but the feeling when I get using it... isn’t macOS. Like Emacs style keybindings isn’t supported, I think it’s because the textfield doesn’t get a first responder status... (which is pretty free when programming Cocoa directly).

However I do agree that Qt is much nicer than before, and I can live with them: it’s not like a GTK app in macOS. Qt is def. an improvement compared to the very minimal libui. I’m very excited about that, and so I should get along :-)

Re: Show HN: Proton Native V2 – Create Cross Platform Desktop Apps with React

#29

If this is qt and wxWidgets, how is this "native"? It's as much "native" as React "Native" is on either iOS or Android. "Native" means native to the ecosystem it runs on. The gifs on that link show nothing like that. The amount of work that would be required to make even a small app that truly feels native on macOS or Windows would be enormous.

> The amount of work that would be required to make even a small app that truly feels native on macOS

It's actually mad easy in AppKit.

Re: Show HN: Proton Native V2 – Create Cross Platform Desktop Apps with React

#30

Earlier quoted context omitted.

Please read the rest of what I wrote. Simply using native widgets is not enough. A "native" app has to feel like a first class citizen in the ecosystem it is running. Achieving something like this with Proton is a tall order.

> Achieving something like this with Proton is a tall order. That's kinda obvious since Proton just uses wine under the hood. But everything else about what you're running will be native. With wxwidgets it will use true Windows widgets as reimplemented by wine.

I don't think they were referring to Proton the compatibility layer by Valve rather the Proton Native this post is about.
Post reply on HN