{"id":43668,"date":"2024-06-13T14:49:18","date_gmt":"2024-06-13T18:49:18","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=43668"},"modified":"2024-08-17T16:50:36","modified_gmt":"2024-08-17T20:50:36","slug":"catalyst-not-at-wwdc24","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2024\/06\/13\/catalyst-not-at-wwdc24\/","title":{"rendered":"Catalyst (Not) at WWDC24"},"content":{"rendered":"<p>As far as I can tell, there were <a href=\"https:\/\/developer.apple.com\/wwdc24\/sessions\/?q=catalyst\">no Catalyst sessions<\/a> this year. Apple hasn&rsquo;t talked about it much since 2021.<\/p>\n\n<p>The <a href=\"https:\/\/developer.apple.com\/macos\/planning\/\">Mac developer page<\/a> says:<\/p>\n<blockquote cite=\"https:\/\/developer.apple.com\/macos\/planning\/\"><p>Choose your app-builder technology<\/p>\n<p>Another early choice to make is which app-builder technology to use for your interface. Apple&rsquo;s app-builder technologies provide the core infrastructure macOS needs to communicate with your app. They also define the programming model you use to build your interface, handle events, and more.<\/p><\/blockquote>\n<p>The two technologies listed are SwiftUI and AppKit, with SwiftUI preferred. There is still a navigation bar item for <a href=\"https:\/\/developer.apple.com\/mac-catalyst\/\">Mac Catalyst<\/a>, but I&rsquo;m not sure Apple itself is using it much except for the apps like Messages and Home that it already ported. I wonder whether those will become SwiftUI in time. Initially, Catalyst sounded like a transition technology, but, as with Carbon, Apple didn&rsquo;t paint it that way. Some in the iOS developer community <a href=\"https:\/\/mastodon.social\/@stroughtonsmith\/112306374889162869\">like it<\/a>. It started out with a lot more functionality than SwiftUI. But I don&rsquo;t hear developers talk about it that much anymore, and Apple doesn&rsquo;t seem to be using it for new apps. Freeform for Mac uses AppKit and nibs (along with SwiftUI). Journal curiously remains iOS-only.<\/p>\n\n<p><a href=\"https:\/\/mastodon.social\/@elkmovie\/112593899278726129\">Michael Love<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@elkmovie\/112593899278726129\">\n<p>Catalyst appears to be dead, more-or-less.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/appleinsider.com\/articles\/24\/06\/10\/apples-journal-app-is-getting-new-features-in-ios-18-but-its-still-not-on-ipad\">Amber Neely<\/a>:<\/p>\n<blockquote cite=\"https:\/\/appleinsider.com\/articles\/24\/06\/10\/apples-journal-app-is-getting-new-features-in-ios-18-but-its-still-not-on-ipad\"><p>Apple has announced a handful of new features coming to its Journal app this fall, but for reasons only it knows, the company hasn&rsquo;t announced any plans to bring it to iPad.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@jsq\/112602583015967425\">Jesse Squires<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@jsq\/112602583015967425\">\n<p>The iOS Journal app improvements look great.<\/p>\n<p>Still a mystery why it is not available on iPad or Mac.<\/p>\n<p>Even if it&rsquo;s just catalyst or otherwise not customized for the other platforms, it would still be incredibly useful as is.<\/p>\n<p>But instead, I&rsquo;m going to be using iPhone Mirroring to use the journal app on my Mac. And that just seems so fucking dumb and absurd.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/06\/10\/ipados-18-announced\/\">iPadOS 18 Announced<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/12\/12\/apple-launches-journal-app\/\">Apple Launches Journal App<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/10\/26\/freeform-beta\/\">Freeform Beta<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/10\/11\/guides-for-starting-apple-app-development\/\">Guides for Starting Apple App Development<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/12\/16\/catalyst-and-cohesion\/\">Catalyst and Cohesion<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/06\/14\/desktop-apps-post-catalyst\/\">Desktop Apps Post-Catalyst<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/06\/04\/catalyst\/\">Catalyst<\/a><\/li>\n<\/ul>\n\n<p id=\"catalyst-not-at-wwdc24-update-2024-06-14\">Update (2024-06-14): See also: <a href=\"https:\/\/mastodon.social\/@stroughtonsmith\/112610888968699961\">Steve Troughton-Smith<\/a>.<\/p>\n\n<p id=\"catalyst-not-at-wwdc24-update-2024-06-18\">Update (2024-06-18): <a href=\"https:\/\/x.com\/Dimillian\/status\/1801612391966220502\">Thomas Ricouard<\/a>:<\/p>\n<blockquote cite=\"https:\/\/x.com\/Dimillian\/status\/1801612391966220502\">\n<p>The last time Catalyst was ever mentioned at a WWDC was in 2021 lol.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@colincornaby\/112612878210676678\">Colin Cornaby<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@colincornaby\/112612878210676678\"><p>I think what killed Catalyst is what&rsquo;s slowly killing UIKit everywhere - it&rsquo;s not flexible enough to adapt to multiple platforms. Does Vision Pro support UIKit? Sure. Is UIKit a good way to write Vision Pro apps? No. It&rsquo;s not just the Mac. Across the board UIKit is generally not adapting well to other platforms. All the platforms support UIKit - and generally it&rsquo;s half baked on all of them except iOS.<\/p><p>That&rsquo;s not to say SwiftUI doesn&rsquo;t have its own problems - but it&rsquo;s still much more quickly adapting itself to new platforms. I don&rsquo;t know if visionOS would be as easy to develop for without SwiftUI.<\/p><\/blockquote>\n\n<p id=\"catalyst-not-at-wwdc24-update-2024-06-20\">Update (2024-06-20): <a href=\"https:\/\/mastodon.social\/@krzyzanowskim\/112644340297942139\">Marcin Krzyzanowski<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@krzyzanowskim\/112644340297942139\">\n<p>The way UITextView is broken on Catalyst, is beyond imagination. It is just plain broken editing.<\/p>\n<\/blockquote>\n\n<p id=\"catalyst-not-at-wwdc24-update-2024-08-08\">Update (2024-08-08): <a href=\"https:\/\/developer.apple.com\/forums\/thread\/761049\">pmdj<\/a>:<\/p>\n<blockquote cite=\"https:\/\/developer.apple.com\/forums\/thread\/761049\"><p>I guess my forum question comes down to this: Is Mac Catalyst considered a platform for building macOS apps in its own right? Or are we &ldquo;holding it wrong&rdquo; and should we only treat it as a way of tweaking Mac ports of iOS\/iPad-first apps? Should we expect APIs to disappear from the Mac Catalyst SDK with zero notice?<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/developer.apple.com\/forums\/thread\/761049\">Quinn<\/a>:<\/p>\n<blockquote cite=\"https:\/\/developer.apple.com\/forums\/thread\/761049\">\n<p>Regarding these XPC APIs, you are right that APIs shouldn&rsquo;t just disappear without warning. [&#8230;] I had a look at your bug and it&rsquo;s clear that this was a mistake.<\/p>\n<p>[&#8230;]<\/p>\n<p>Regarding Mac Catalyst as a whole, Apple rarely makes forward-looking statements about our platforms, but this is a rare exception to that rule. Watch WWDC 2022 Session 102 <a href=\"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/102\/\">Platforms State of the Union<\/a>, and specifically Josh&rsquo;s section starting at <a href=\"https:\/\/developer.apple.com\/videos\/play\/wwdc2022\/102\/?time=223\">3:43<\/a>.<\/p>\n<p>[&#8230;]<\/p>\n<p>I&rsquo;m not a UI programmer at heart. That&rsquo;s why I&rsquo;m a big fan of SwiftUI. With SwiftUI I can cons up a basic interface and have it run natively on both iOS and macOS, without having to worry about <a href=\"https:\/\/developer.apple.com\/forums\/thread\/717429?answerId=736665022#736665022\">the limitations of Mac Catalyst<\/a>.<\/p>\n<\/blockquote>\n\n<p id=\"catalyst-not-at-wwdc24-update-2024-08-09\">Update (2024-08-09): <a href=\"https:\/\/mastodon.social\/@aaron_pearce\/112928165139717128\">Aaron Pearce<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@aaron_pearce\/112928165139717128\">\n<p>When you still have to build your own toolbar library to fix Mac Catalyst UI bugs, it says a lot about how little Catalyst has improved.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@cocoawithlove\/112929113218004210\">Matt Gallagher<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@cocoawithlove\/112929113218004210\"><p>This looks like it&rsquo;s a MacCatalyst limitation. I might need to file a feedback: app-defined commands should be allowed to override the commands that MacCatalyst injects automatically.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@aaron_pearce\/112928532963381209\">Aaron Pearce<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@aaron_pearce\/112928532963381209\"><p>Yeah, sadly I&rsquo;m stuck with Catalyst due to decisions by Apple to only allow HomeKit access via that means&#8230;<\/p><\/blockquote>\n\n<p>There&rsquo;s also a Catalyst-only API that I&rsquo;d like to use, but that&rsquo;s probably asking for trouble.<\/p>\n\n<p id=\"catalyst-not-at-wwdc24-update-2024-08-17\">Update (2024-08-17): <a href=\"https:\/\/mastodon.social\/@aaron_pearce\/112974038178204158\">Aaron Pearce<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@aaron_pearce\/112974038178204158\"><p>Trying to build a first class Mac app via Catalyst just seems demotivating right now. So many small bugs that should have been fixed after so many versions of macOS.<\/p><p>I feel like I&rsquo;ve spent the last few weeks investing in workarounds to simple UI bugs caused by Catalyst.<\/p><p>The next step would be to invest even more time into a solution to let me mostly use HomeKit via native AppKit\/SwiftUI. Only HomeCam wouldn&rsquo;t get to use this as the camera view is UIKit based.<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>As far as I can tell, there were no Catalyst sessions this year. Apple hasn&rsquo;t talked about it much since 2021. The Mac developer page says: Choose your app-builder technology Another early choice to make is which app-builder technology to use for your interface. Apple&rsquo;s app-builder technologies provide the core infrastructure macOS needs to communicate [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2024-06-13T18:49:21Z","apple_news_api_id":"658e4919-c79e-403e-b26e-338cb648bb16","apple_news_api_modified_at":"2024-08-17T20:50:38Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAABg==","apple_news_api_share_url":"https:\/\/apple.news\/AZY5JGceeQD6ybjOMtki7Fg","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[1364,1621,69,2225,31,2586,1814,2597,2397,30,2598,1812,1221,1473],"class_list":["post-43668","post","type-post","status-publish","format-standard","hentry","category-technology","tag-calculator","tag-marzipan","tag-cocoa","tag-freeform","tag-ios","tag-ios-18","tag-ipados","tag-ipados-18","tag-journal","tag-mac","tag-macos-15-sequoia","tag-swiftui","tag-wwdc","tag-xpc"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/43668","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=43668"}],"version-history":[{"count":8,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/43668\/revisions"}],"predecessor-version":[{"id":44536,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/43668\/revisions\/44536"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=43668"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=43668"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=43668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}