Live data from Hacker News

macOS Apps in Rust

github.com

81–89 of 89 posts

Re: macOS Apps in Rust

#81
post #79
post #74

Earlier quoted context omitted.

> And you can non-ironically say the same about non-Qt toolkit written in C++. Maybe. Gtk and its related libraries don’t cover everything Qt does, but they’re not small either. It’s also fair to include the native toolkits themselves on their respective platforms that are written in a mixture of C++/C/Objective C. I also will point out that one of the cross platform toolkits with some traction in the Rust world is a…

> Maybe. Gtk and its related libraries don’t cover everything Qt does And therein lies the problem. Qt is semi-open (the parent company tried to close source it[1]). If a commercial company has no interest in maintaining it, there is even less hope for other open source approaches. Best cross OS system are almost always backed by a commercial supporter. See Skia - Google, Java Swing - Oracle, Qt - QtCompany, etc. OSS…

Qt is fully open source. The LTS version is closed source, but other framework don't even have a LTS version.

Re: macOS Apps in Rust

#82
post #80
post #79

Earlier quoted context omitted.

> Maybe. Gtk and its related libraries don’t cover everything Qt does And therein lies the problem. Qt is semi-open (the parent company tried to close source it[1]). If a commercial company has no interest in maintaining it, there is even less hope for other open source approaches. Best cross OS system are almost always backed by a commercial supporter. See Skia - Google, Java Swing - Oracle, Qt - QtCompany, etc. OSS…

> No. I mean like WebRenderer[3], Lyon[4]. Most things should be parallelized and done on GPU/SIMD. Layout, font shaping, etc. https://www.reddit.com/r/rust/comments/vwdxim/announcing_lyo... https://www.reddit.com/r/rust/comments/vwdxim/announcing_lyo... Also neither of your examples do any text shaping on the GPU. Lyon doesn’t do text and Webrender (which depends on freetype) does regular old glyph cache built in CP…

> Also neither of your examples do any text shaping on the GPU.

Sorry, font rendering. I thought font shaping is part of it. Pathfinder and Lyon were libs.

> Do you not see at least some level of contradiction to these statements?

No? They are discussing Simd and generic interactions.

Re: macOS Apps in Rust

#83
post #79

Earlier quoted context omitted.

> Maybe. Gtk and its related libraries don’t cover everything Qt does And therein lies the problem. Qt is semi-open (the parent company tried to close source it[1]). If a commercial company has no interest in maintaining it, there is even less hope for other open source approaches. Best cross OS system are almost always backed by a commercial supporter. See Skia - Google, Java Swing - Oracle, Qt - QtCompany, etc. OSS…

Qt is fully open source. The LTS version is closed source, but other framework don't even have a LTS version.

Open source for now. Qt seems dedicated to making it close source.

Re: macOS Apps in Rust

#84
post #82
post #80

Earlier quoted context omitted.

> No. I mean like WebRenderer[3], Lyon[4]. Most things should be parallelized and done on GPU/SIMD. Layout, font shaping, etc. https://www.reddit.com/r/rust/comments/vwdxim/announcing_lyo... https://www.reddit.com/r/rust/comments/vwdxim/announcing_lyo... Also neither of your examples do any text shaping on the GPU. Lyon doesn’t do text and Webrender (which depends on freetype) does regular old glyph cache built in CP…

> Also neither of your examples do any text shaping on the GPU. Sorry, font rendering. I thought font shaping is part of it. Pathfinder and Lyon were libs. > Do you not see at least some level of contradiction to these statements? No? They are discussing Simd and generic interactions.

> Sorry, font rendering. I thought font shaping is part of it. Pathfinder and Lyon were libs.

They don't do GPU font rendering either.

Pathfinder isn't widely used -- see my original post about "spinning wheels".

GPU font rendering hasn't demonstrated much real world value for GUIs. Where it does get used a bit is games - an industry that is overwhelmingly C++ for the foreseeable future.

> No? They are discussing Simd and generic interactions.

I was responding to this: "I'd like to add - people have been doing large scale parallel software development for years in C++, in spite of C++."

Regardless, Rust still depends entirely on the years of research and development in C++ for a memory model which is a core underpinning of parallel programming.

Re: macOS Apps in Rust

#85
post #52

Earlier quoted context omitted.

That's irrelevant (and barely different to having to type `=`). The salient point is that you don't need to manually call free/release.

That is more than relevant, otherwise we are comparing oranges to apples, pun intended. Automatic Reference Counting. Since = is the same as .clone() in character count?

Yes I'm aware that the A stands for Atomic in Rust, not Automatic. But it is still automatic because you do not need to increment and decrement the counter manually.

> Since = is the same as .clone() in character count?

Why does character count matter? I think you're getting a bit distracted from the point.

Will you need to manually free/release objects? No you will not.

Re: macOS Apps in Rust

#86
post #52

Earlier quoted context omitted.

That is more than relevant, otherwise we are comparing oranges to apples, pun intended. Automatic Reference Counting. Since = is the same as .clone() in character count?

Yes I'm aware that the A stands for Atomic in Rust, not Automatic. But it is still automatic because you do not need to increment and decrement the counter manually. > Since = is the same as .clone() in character count? Why does character count matter? I think you're getting a bit distracted from the point. Will you need to manually free/release objects? No you will not.

[deleted]

Re: macOS Apps in Rust

#87
post #84
post #82

Earlier quoted context omitted.

> Also neither of your examples do any text shaping on the GPU. Sorry, font rendering. I thought font shaping is part of it. Pathfinder and Lyon were libs. > Do you not see at least some level of contradiction to these statements? No? They are discussing Simd and generic interactions.

> Sorry, font rendering. I thought font shaping is part of it. Pathfinder and Lyon were libs. They don't do GPU font rendering either. Pathfinder isn't widely used -- see my original post about "spinning wheels". GPU font rendering hasn't demonstrated much real world value for GUIs. Where it does get used a bit is games - an industry that is overwhelmingly C++ for the foreseeable future. > No? They are discussing Sim…

> Pathfinder isn't widely used

Ofc. Servo was shut down before anything could happen with it. Making production-ready GPU font rendering is hard.

It's not spinning wheels anymore than OSS life cycle is spinning wheels (author needs functionality X author makes a useful lib for X -> it becomes popular -> amount of work increases -> due to pressure/changes in life author abandons lib -> another author has needs functionality X -> ...)

> I was responding to this: "I'd like to add - people have been doing large scale parallel software development for years in C++, in spite of C++.

Saying Rust has issues doesn't negate C++ having massive issues but also a bigger mindshare.

Re: macOS Apps in Rust

#88

A tangent: does anyone have recommendations for a library for easy Swift-Rust interop? This is a cool tool, but I’d much rather make a GUI natively with e.g. SwiftUI and then call out to Rust for business logic. The previous times I’ve looked into this, both languages had to communicate through a C intermediate, and handling more complex types became a chore…

A bit late, but swift-bridge (https://github.com/chinedufn/swift-bridge) does this intelligently, and is probably what you're looking for.

Re: macOS Apps in Rust

#89
post #66

This is off topic, but thinking about portable desktop apps, why didn’t JavaFx become more popular? What is JetBrains using for its sophisticated GUIs? Is it just Swing? It would be great if Rust could be used to write portable high quality desktop apps.

> why didn’t JavaFx become more popular?

Oracle ditched it a long time ago [0]

> What is JetBrains using for its sophisticated GUIs? Is it just Swing?

They use custom Swing components [1]

0: https://www.infoworld.com/article/3261066/javafx-will-be-rem...

1: https://plugins.jetbrains.com/docs/intellij/user-interface-c...

Post reply on HN