Earlier quoted context omitted.
Hi, libui-node author here. I'm glad for your appreciation. The project is well alive now, proton-native give me new motivational energy The data grid has still problems on macOS unfortunately, but @andlabs is working on it...
No, the data grid has problems on Windows, as that code is being contributed by someone else. I already have it on macOS and Linux, and have for years now... Hopefully soon the Windows code will be merged in and we can keep going.
Proton Native – React Native for the desktop
281–290 of 295 posts
Re: Proton Native – React Native for the desktop
#282Earlier quoted context omitted.
Discord is the most impressive one to me. They definitely didn't have those resources when they wrote their iOS app[0]. The Android version is just RxJava, iirc, because of some performance issues they couldn't get around. [0] https://blog.discordapp.com/using-react-native-one-year-late...
At that time when they released, the React Native Android was probably still in a kind of beta state.
Re: Proton Native – React Native for the desktop
#283Earlier quoted context omitted.
No, the data grid has problems on Windows, as that code is being contributed by someone else. I already have it on macOS and Linux, and have for years now... Hopefully soon the Windows code will be merged in and we can keep going.
Ah yes, sorry @andlabs
Re: Proton Native – React Native for the desktop
#284Earlier quoted context omitted.
> So weight-wise, it's basically comes at the cost of native node module And now with NAPI [1] it should be easier than ever to make node modules! [1] https://nodejs.org/api/n-api.html#n_api_n_api
Some days ago I started a N-API version of the bindings: https://github.com/parro-it/libui-napi Is still really incomplete compared to libui-node, but just in case someone wants to help
Re: Proton Native – React Native for the desktop
#285Earlier quoted context omitted.
> All the JS in that package is doing is driving the native interactions on an in-memory UINavigationController. I've used this in recent contract work where I can confirm that the title handling and animations are the same as what you'd get with a stock UINavigationController. That project is not replicating the behavior in JavaScript, contrary to what you seem to be implying - e.g, tapping the status bar does indee…
> I'm aware of that–that's why I said it is possible that you can do it from JavaScript. What I'm saying is that the JavaScript layer generally causes issues like this, because UINavigationController only works in specific cases. For example, scrolling only works if you're a singular top-level scroll view. Getting the titles to animate only works if you don't try to modify it after the fact. Putting a button in the n…
Yes, but as I've mentioned, JavaScript makes these issues more prominent because it's a lot more likely to get into one of these "invalid" states that breaks UINavigationController. And I disagree you with your claim that it's not noticeable.
> how do you define native?
.NET on Windows, Cocoa on macOS, GTK+ on Linux, Cocoa Touch on iOS, and the Android SDK on Android.
> The tl;dr = Apple is getting off relatively easily for not keeping their dev environments competitive, and people complaining about Electron & co making inroads should really be complaining at Apple for neglecting this stuff.
OK, but I don't think the right solution to this is trying to threaten Apple into making the development environment better. Really, you just end up making a bunch of terrible apps and your users hate you for it. And a lot of the things you bring up as being "terrible" aren't really that bad, known to be actively being worked or don't really have an easy solution. Apple forums are not on StackExchange because that's not hosted by Apple. Radar is a black hole because if it wasn't Apple would leak confidential information (though, of course, they _could_ make this a lot better by separating Bug Reporter from Radar). WWDC videos already have transcripts. AppKit is due for a overhaul this year or the next with Marzipan. Swift (and with it, Xcode) is moving towards being more open.
Re: Proton Native – React Native for the desktop
#286Re: Proton Native – React Native for the desktop
#287Earlier quoted context omitted.
Some days ago I started a N-API version of the bindings: https://github.com/parro-it/libui-napi Is still really incomplete compared to libui-node, but just in case someone wants to help
Is it a pretty simple re-write or something that requires a lot of c wizardry?
Currently, I implemented windows, boxes, and multiline entry. I have to compare this experiment with the curent implementation in terms of erformance, memory consuption etc. before to decide to continue with N-API or not.
Re: Proton Native – React Native for the desktop
#288Earlier quoted context omitted.
> I'm aware of that–that's why I said it is possible that you can do it from JavaScript. What I'm saying is that the JavaScript layer generally causes issues like this, because UINavigationController only works in specific cases. For example, scrolling only works if you're a singular top-level scroll view. Getting the titles to animate only works if you don't try to modify it after the fact. Putting a button in the n…
> Most of those issues that you bring up with UINavigationController are, while annoying, not actually _that_ common in apps, and people run into them at the native level too - it's not entirely a JS issue. Provided you're not doing anything too against the grain (which the Wix API more or less protects novice users from doing), you're unlikely to experience too many issues and it functions as an almost completely in…
Which is cool and all, but most people on the end-user spectrum don't notice it, which is good enough for most companies. Thus, "an almost completely indistinguishable UINavigationController experience for pretty much everyone."
>.NET on Windows, Cocoa on macOS, GTK+ on Linux, Cocoa Touch on iOS, and the Android SDK on Android.
Beyond the fact that my point re: what's native was a bit tongue-in-cheek... GTK+ isn't even necessarily the default for Linux/BSD.
>Really, you just end up making a bunch of terrible apps and your users hate you for it.
No, _some_ users hate you for it, typically a very vocal minority. Slack doesn't grow to be as valuable as it is without being usable and enjoyable for most people.
>Apple forums are not on StackExchange because that's not hosted by Apple.
This is a cop-out. There is nothing stopping them from aping the entire system, and Apple's forums need to be put in the ground. This is a known issue, even the Cocoa crowd on Twitter has recently agreed with this point.
>AppKit is due for a overhaul this year or the next with Marzipan.
Marzipan isn't even the official next move, and nobody outside of Apple is sure what it exactly is. The point I was making is also slightly different - there is absolutely no excuse for the neglect that AppKit has seen over the past ~10 years, and anyone complaining about Electron/et al should be criticizing Apple for not keeping AppKit competitive.
Re: Proton Native – React Native for the desktop
#289Earlier quoted context omitted.
Hence why so many enterprise installs are still proudly running Office 2010. I do wonder why nobody takes a stab at creating a bonafide Excel clone that looks modern and runs fast (and, no, LibreOffice isn’t good enough).
Because writing an Excel clone which is "good enough" is really, really hard work, takes a really long time and you probably won't get away with "Let's do 80% in version 1 and then optimize" - People expect Excel. Not Excel lite. Especially if they have to pay for it.
Re: Proton Native – React Native for the desktop
#290Earlier quoted context omitted.
Is it a pretty simple re-write or something that requires a lot of c wizardry?
Not a simple rewrite, but neither a task that require a C wizard... The current version of libui-node implements C++ classes that wraps libui C function. They are exposed directly to JS. This experiment implements N-API C functions that wraps libui C function. Then, a set of JS classes wrap them, offering the same public API as libui-node. Currently, I implemented windows, boxes, and multiline entry. I have to compar…