Hacker News new | ask | show | jobs
by kajecounterhack 1060 days ago
Why wouldn't they do Linux? Isn't the whole benefit of browsers that they're the internet's compatibility layer, and shouldn't support be kinda baked into Chromium? Missing a chunk of (hopefully passionate in a good way) users like that sounds like a missed opportunity.

That said it's probably fine for them to iterate for Mac customers first, like apps releasing on iOS first before supporting Android.

2 comments

As I understand, Arc doesn’t use the UI framework that’s baked into Chromium and instead uses SwiftUI. To facilitate a Windows port, they’re building on existing community work to write a SwiftUI implementation for Windows.

Following this if they were to port to Linux they’d probably write a GTK-based SwiftUI implementation, or if they wait for Swift C++ interop perhaps a Qt-based implementation.

> To facilitate a Windows port, they’re building on existing community work to write a SwiftUI implementation for Windows.

Can you expand on this? I haven't the foggiest idea how this would work in practice.

Well Swift already builds on Windows, but obviously that does not come with much of what you might use to write a Mac app. The biggest holes to fill are those not covered by the open source version of Foundation (which thankfully, Apple is working on filling) and those left by the absence of AppKit/SwiftUI. So most of their hole-plugging is going to be centered around SwiftUI and whatever bits of AppKit beyond SwiftUI they may be using.

The SwiftUI API is mostly "just" a DSL built with result builders[0] and should be reproducible without too much trouble. The harder part is reimplementing all of the behavior concerning diffing, rendering, etc, and actually drawing the widgets. Last I knew, their plan is to use community built WinRT/WinUI Swift bindings (perhaps this[1]) as a starting point to marry native Windows widgets to their recreated API. It may be necessary to write some widgets from scratch though, because there are several types that WinUI currently lacks.

It's a gargantuan task they've taken on, but I'm watching intently because despite being the world's most popular platform, the native Windows dev story is currently pretty underwhelming.

[0]: https://www.swiftbysundell.com/articles/deep-dive-into-swift... [1]: https://github.com/ericsink/SwiftWinRT

That's fascinating, thank you for the response.

I find programming user interfaces in SwiftUI to be an absolute joy, and if there were proper bindings to GTK and WinUI then it would be my go-to GUI framework for time immemorial.

The SwiftWinRT project looks interesting -- unfortunately, it seems to be abandoned (last commit was ~1 year ago).

Here's hoping they succeed. If they do, it could totally displace Qt as the standard cross-platform GUI framework (caveat - not for all use cases, of course).

Vivaldi works on Linux (well, Ubuntu at least) and has top-notch tab management