Live data from Hacker News

RavynOS – Finesse of macOS, freedom of FreeBSD

ravynos.com

231–240 of 387 posts

Re: RavynOS – Finesse of macOS, freedom of FreeBSD

#231
post #188
post #173

Earlier quoted context omitted.

The GNUStep project has already done much of the ObjC framework cloning. I wonder if they're using that. Not sure about Swift frameworks, though.

If what you understand by macOS is how Panther used to be.

> If what you understand by macOS is how Panther used to be.

That's a bit old for me (I started with Tiger), but I would definitely be all over an option to go back to OS X (where, I felt, the paradigm was that users should be presented with the best possible default experience, but also should be trusted to tinker if they chose to do so) before they started pushing this macOS = iOS integration (where the paradigm should be that users should be protected, even against themselves, from any need or ability to tinker).

Re: RavynOS – Finesse of macOS, freedom of FreeBSD

#232
post #173
post #152

Earlier quoted context omitted.

To have the full experience they also need to clone the Objective-C and Swift frameworks, and IDE tooling.

The GNUStep project has already done much of the ObjC framework cloning. I wonder if they're using that. Not sure about Swift frameworks, though.

GNUStep is GPL though, and one of the stated goals of ravynOS is to be BSD and MIT licensed. On the FAQ page they address this, even saying they might be willing to use it despite the licensing.

Re: RavynOS – Finesse of macOS, freedom of FreeBSD

#233

Earlier quoted context omitted.

Objective-C is the ABI of all UI-related macOS frameworks and it would probably always be. Even if you're writing in Swift, as long as you're using AppKit, you're using Objective-C classes under the hood. There's no such thing as "Swift Cocoa APIs". And SwiftUI is an abstraction layer on top of, again, AppKit/UIKit/WatchKit, which are themselves all written in Objective-C.

That used to be true. https://developer.apple.com/documentation/realitykit/ https://developer.apple.com/documentation/GroupActivities

Then a question: how does one call these APIs from another language? You can use Objective-C frameworks from anything that can call C functions, by manually doing objc_msgSend and all the related stuff. But will you have to write a Swift wrapper for these?

Re: RavynOS – Finesse of macOS, freedom of FreeBSD

#234
post #63

Earlier quoted context omitted.

This year Apple made the point Objective-C is done, time to move on, for those that were still wondering. Around minute 4, or go through the transcript. https://developer.apple.com/videos/play/wwdc2022/102/

“Objective-C is done, time to move on” … except for Apple themselves, where we still see a steep rise in ObjC year over year with no visible sign of slowing that incline. Likewise for AppKit. Apple, the “do as we say, not as we do” company.

All new projects I was involved in over the past three years or more were in Swift. I would say it is considered in bad form to start a new project in anything other than Swift.

Further, I saw many legacy projects move from Objective-C to Swift (Podcasts comes to mind). (Some legacy Objective-C apps like iTunesU, sadly, were "sunsetted".)

Until recently, I believe there were issues with frameworks written natively in Swift so I saw a few smaller frameworks thrown together in Objective-C. I believe that, whatever the issues were, are no longer pertinent.

I can say too that there are many engineers that don't even know how to code in Objective-C. The younger engineers learned on Swift and are even hostile to writing in Objective-C (ha ha).

Of course Apple is a big company and I can't speak for the whole of engineering - only the teams/orgs I was involved with. And since I left Apple last year I can only guess at the current state. But the direction was clearly away from Objective-C.

As you can imagine, the biggest hurdle to 100% adoption is going to be bringing over legacy projects. Porting to Swift will probably always take a back seat to features, bug fixes. If the pace at Apple were more leisurely, not a suite of new OS releases every year, perhaps we could have our cake and eat it.

Re: RavynOS – Finesse of macOS, freedom of FreeBSD

#235
post #26

I'm curious to know why they have chosen to use FreeBSD as a base as opposed to Darwin/XNU on which macOS itself is based. Nothing against FreeBSD (happy user here) so there's probably some good reasoning behind this.

Possibly driver support. But I would feel better if at some point they co-operate with PureDarwin to run on real XNU.

Re: RavynOS – Finesse of macOS, freedom of FreeBSD

#236

This looks like not a reskin of an existing FreeBSD or Linux windows system, but an actual reimplementation of macOS. Very interesting if they can pull it off! I wonder though, why start with old Objective-C cocoa APIs instead of Swift?

It's a BSD. (Knowing that, you probably wouldn't ask them, "Why C and not C++?") As a language (and ecosystem*) Objective-C is mature and lacks complexity in a way that doesn't apply to Swift.

* They definitely did not start with Objective-C and a blank slate here; they're folding in monumental amounts of third-party code

Re: RavynOS – Finesse of macOS, freedom of FreeBSD

#237
Ex graphic designer here, but don't (and never have) used Mac. I highly respect this project and initiative, and the following is more a commentary on my own reaction than your product.

I read the title--finesse of MacOS. I open the link, and the first thing I see at the top is the circular raven logo vertically misaligned with the header on mobile.

That made me think, okay let's try desktop version instead, so I switched to desktop render (still on mobile browser) -- this time the logo is vertically aligned but the padding / margin on top and bottom are lower than on the left.

This is of course nitpicking in the larger scheme of things--I haven't tried the OS, but the screenshots look great and definitely look like MacOS. However, with the title setting up expectations and the first impression being of a misaligned logo made me (unfairly) dismiss the project since I felt you were trying to claim a level of finesse that might not be there.

I don't use Linux, so I'll never really use this product, but it's interesting to me--why do people / projects/teams (in general--not just this product) try to emulate the "finesse" of Apple products? To me, it sets up unrealistic expectations from that product, and I might dismiss an otherwise excellent solution if it doesn't live up to that comparison.

Re: RavynOS – Finesse of macOS, freedom of FreeBSD

#239

Earlier quoted context omitted.

That used to be true. https://developer.apple.com/documentation/realitykit/ https://developer.apple.com/documentation/GroupActivities

Then a question: how does one call these APIs from another language? You can use Objective-C frameworks from anything that can call C functions, by manually doing objc_msgSend and all the related stuff. But will you have to write a Swift wrapper for these?

I would guess that's the linker's job?

I don't need to do that in my day to day job, but I do remember that as part of an OS class at school (some 20+ years ago) one of the tasks we were assigned was that we had to work in pairs of teams, where one team would implement a function and another team would implement code that called that function, the only requirement being that both teams had to use different languages. The point of the exercise was to show how, provided you had a defined API, thanks to linking you could use the best language for each job.

Re: RavynOS – Finesse of macOS, freedom of FreeBSD

#240

Earlier quoted context omitted.

"Consistent shortcuts" is the main "feature" keeping me on KDE. Cmd+Shift+, opens preferences in every app. Alt+Left or Right (or Back or Forward) goes "back" and "forward", in every app that has those concepts Cmd+Tab or Cmd+Shift-Tab switches tabs, in every app that has tabs. Cmd+W closes the current tab by default, if the app has tabs, (or current window, if the app has no tabs) Cmd+Q quits the app. Etc. What's ag…

I switch between linux, windows and mac on a daily basis. Mac short cuts are far more consistent. Now, copy and paste. It is cmd-c in mac, in ubuntu you can’t tell me unless I tell you if I am in a terminal or not. But most of all, readline shortcuts ctrl-a goes to the beginning of a line in nearly ever mac app. Not so in linux.

I find Mac less consistent, especially around home/end key behavior. In some places, home goes to the start of a page, in others, the start of a line. In addition, the key combinations and gui behavior are annoying. Ever try to cmd+tab to a minimized window? You have to do finger gymnastics to add an extra key to get that window to open. Other than the cli, I've seen little benefit in using a Mac vs. a decent PC with just about any Linux distro or Windows.
Post reply on HN