Live data from Hacker News

Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

infoq.com

51–60 of 308 posts

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#51

Earlier quoted context omitted.

Could you please explain why?

No OP, and I don't know much about game development, but "without any change at all" is too strong. SDL only does so much, and you still need platform-specific APIs for file access, networking (if applicable), threading, etc. So you'll still need platform-specific code until someone writes those abstractions in Swift.

> SDL only does so much, and you still need platform-specific APIs for file access, networking (if applicable), threading, etc. So you'll still need platform-specific code until someone writes those abstractions in Swift.

Isn't that handled by the swift runtime?

By without any changes I meant, without platform-specific recompilation. Very similar to what java runtime provides for JAR.

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#52
post #16

Earlier quoted context omitted.

Apple is strengthening their services revenue. They week profit from the extra reach. Also, people will continue to but their hardware because the alternatives aren’t that great Simple example.... the MacBook trackpad

Ten years ago when I was offered a choice, I told the office manager I wanted a MacBook because of the trackpad. Apple’s trackpads are even better now. How has nobody figured out Apple’s 2010s trackpad technology?

Agreed but with touchscreens the trackpad isnt so important.

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#54

Earlier quoted context omitted.

No OP, and I don't know much about game development, but "without any change at all" is too strong. SDL only does so much, and you still need platform-specific APIs for file access, networking (if applicable), threading, etc. So you'll still need platform-specific code until someone writes those abstractions in Swift.

> SDL only does so much, and you still need platform-specific APIs for file access, networking (if applicable), threading, etc. So you'll still need platform-specific code until someone writes those abstractions in Swift. Isn't that handled by the swift runtime? By without any changes I meant, without platform-specific recompilation. Very similar to what java runtime provides for JAR.

You'll always need platform-specific recompilation for native executables, as the executable formats are different on different operating systems. The only exceptions are emulation systems like WSL and Wine.

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#55
post #48

Earlier quoted context omitted.

Eh, I think you're overblowing it a bit. While Apple's trackpad does do some unique things (like Chinese character input[1]), most of the behavior that people are interested in emulating here can be reduced to the cursor position, click events, and (high-resolution) scroll events. The only part of this that isn't currently available on Linux, AFAIK, is the scrolling bits, and even that isn't critical. [1]: https://su…

It isn't just that. The scrolling in macOS is 2D (you can scroll a small rectangle inside a large one in any direction) and has position, velocity, acceleration, and a bounce effect on the boundaries of the content area. Additionally, you can pinch to zoom (in and out) and the zooming is smooth and continuous centred on the cursor location. There are also various 3-finger swipe gestures, and force touch lets you clic…

Two-axis scrolling isn't unique to macOS. The way that scrolling has traditionally been implemented on Linux (as mouse buttons 4 and 5) makes it difficult to implement any kind of continuous scrolling, but once you have one axis working, a second one isn't much harder.

The velocity and bounce effects on scrolling are implemented at the application layer. They don't depend on any unique features of the trackpad hardware or driver stack.

Zoom and swipe gestures are nice to have, but I don't think they're critical in the same kind of way that pointing and acceleration are.

Force Touch is more of a gimmick than anything. It's a relatively recent feature, and was only added to the Macbook Air in 2018; very few applications do anything interesting with it. Personally, I leave it turned off.

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#56
post #44

Earlier quoted context omitted.

Eh, I think you're overblowing it a bit. While Apple's trackpad does do some unique things (like Chinese character input[1]), most of the behavior that people are interested in emulating here can be reduced to the cursor position, click events, and (high-resolution) scroll events. The only part of this that isn't currently available on Linux, AFAIK, is the scrolling bits, and even that isn't critical. [1]: https://su…

> AFAIK, is the scrolling bits, and even that isn't critical. It seems that this is in fact the chief complaint of the folks who commented above you. It seems like they're saying that they choose to purchase alternative goods because of that behavior. That seems critical to me, no?

Most of the complaints I've heard about non-Apple trackpads focus more on pointing behavior -- finger tracking, pointer acceleration, palm rejection, etc. -- than scrolling.

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#57
post #48

Earlier quoted context omitted.

It isn't just that. The scrolling in macOS is 2D (you can scroll a small rectangle inside a large one in any direction) and has position, velocity, acceleration, and a bounce effect on the boundaries of the content area. Additionally, you can pinch to zoom (in and out) and the zooming is smooth and continuous centred on the cursor location. There are also various 3-finger swipe gestures, and force touch lets you clic…

Two-axis scrolling isn't unique to macOS. The way that scrolling has traditionally been implemented on Linux (as mouse buttons 4 and 5) makes it difficult to implement any kind of continuous scrolling, but once you have one axis working, a second one isn't much harder. The velocity and bounce effects on scrolling are implemented at the application layer. They don't depend on any unique features of the trackpad hardwa…

The velocity and bounce effects on scrolling are implemented at the application layer. They don't depend on any unique features of the trackpad hardware or driver stack.

I didn’t say they did. Oh macOS they’re not implemented by the application though, they’re implemented by the UI APIs and thus available to all applications for free. This is not the case on Linux.

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#58
post #28

Earlier quoted context omitted.

not OP either. but i think the problem is simple. apple said no to opengl, which any other platform out there supports. btw, they are even deprecating opengl! i have no idea what that means for the tons of games written with an opengl backend. probably not an issue for the iOS ecosystem though. so that's what is going on...

OpenGL isn't relevant here, as SDL2 has a metal backend that's used by default on MacOS. See https://hg.libsdl.org/SDL/rev/1acae5590352

> OpenGL isn't relevant here

oh nice, i had no idea SDL had metal support!

no one in the SDL developer community tells you how to support metal or how to use it. instructions for MacOSX redirects you to another library, which has since removed their instructions.

who exactly are we kidding here?

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#60
post #44

Earlier quoted context omitted.

> AFAIK, is the scrolling bits, and even that isn't critical. It seems that this is in fact the chief complaint of the folks who commented above you. It seems like they're saying that they choose to purchase alternative goods because of that behavior. That seems critical to me, no?

Most of the complaints I've heard about non-Apple trackpads focus more on pointing behavior -- finger tracking, pointer acceleration, palm rejection, etc. -- than scrolling.

That’s because those are old complaints. It’s a moving target though. People are still complaining about problems that were solved over a decade ago in macOS. Now there are a bunch of new features (described in my other comments) that need to be added if you want an experience as smooth and intuitive as macOS on a recent MacBook.
Post reply on HN