Archive for July 1, 2019

Monday, July 1, 2019

Catalyst Deep Dive

Samuel Axon (MacRumors):

Ars spoke with key members of the Apple team responsible for developing and promoting Project Catalyst at WWDC, as well as with a handful of app developers who have already made Mac apps this way. We asked them about how Catalyst works, what the future of Apple software looks like, and what users can expect.


In other instances, developers can, of course, use conditional logic in their code to deliver different experiences and functionality based on which device the software is running on. Apple, however, intended for that approach to be reserved for cases where functionality is simply not available on a certain device but is desired on another.

“We’d like them to use conditionals as little as possible because, you know, conditionals are different code paths that you have to worry about,” explained Ozer. “And I think that the things we’ve tied to conditionals are APIs and features that are really very much Mac-only.”


Still, Apple agreed that AppKit is the way to go for broad and deep Mac apps like those used by creative professionals and power users. Pruden said she believes Catalyst is about offering developers options but that teams creating powerful desktop apps will know whether it’s suitable for their products or not.


To Pruden’s point, Benjamin believes there are fundamentally multiple types of apps, and they’re not mutually exclusive with one another on a platform. And this is key to understanding Apple’s approach, here.

Samuel Axon:

To be clear, the Apple interviews did take place at WWDC. (MacStories seems to suggest that Apple participated in this story to do damage control after the fact.) Reason it was pubbed weeks later was that it took a long time to wrangle dev interviews after the Apple interviews.


Gaming With a MacBook Pro and eGPU

Justin Searls (tweet):

So, it’s thanks to the trash can Mac Pro that in 2019, it can truthfully be said: instead of putting a beefy graphics card inside your computer, you are now able to take a top-of-the-line gaming GPU, seat it inside an external box, plug that box into your computer, and—using a single high-bandwidth cable—push the necessary instructions to render 4K games at 60 frames per second on the card before (over the very same cable!) pushing those frames back to your notebook’s built-in monitor without introducing any perceptible latency. I’ve seen daily evidence of this for the last month and I gotta say: it’s pretty freakin’ cool.

The idea that you’d be able to connect a GPU over a 2-meter cable and get desktop-class gaming performance out of the current crop of MacBooks Pro seems far-fetched. Even to me, as I literally play games with one. When reasonable people encounter Apple’s marketing about eGPUs—which is only focused on creative professional workflows like modeling VR experiences as opposed to experiencing them—it would be unreasonable to make the logical leap to say, “ah, yes, surely if I boot that computer into Windows, the eGPU enclosure would have the necessary drivers and the Thunderbolt 3 cable would have the necessary bandwidth to render games in real-time with an acceptable frame rate and input latency.”


Congratulations, you’re now too tired to want to play any games with your now-capable-of-running-them MacBook Pro.


Helge Heß (Hacker News):

So what exactly is SwiftWebUI? It allows you to write SwiftUI Views which display in a web browser[…]


Unlike some other efforts this doesn’t just render SwiftUI Views as HTML. It also sets up a connection between the browser and the code hosted in the Swift server, allowing for interaction - buttons, pickers, steppers, lists, navigation, you get it all!

In other words: SwiftWebUI is an implementation of (many but not all parts of) the SwiftUI API for the browser.


Using Combine

Joseph Heck (Hacker News):

The book is being made available at no cost. The content for this book, including sample code and tests is available on GitHub at


The contents of this book are available as HTML, PDF, and ePub. There is also an Xcode project (SwiftUI-Notes.xcodeproj) available from GitHub.

This looks really good.