{"id":40324,"date":"2023-08-11T14:51:05","date_gmt":"2023-08-11T18:51:05","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=40324"},"modified":"2023-08-11T14:51:05","modified_gmt":"2023-08-11T18:51:05","slug":"appkit-vs-swiftui-stable-vs-shiny","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2023\/08\/11\/appkit-vs-swiftui-stable-vs-shiny\/","title":{"rendered":"AppKit vs. SwiftUI: Stable vs. Shiny"},"content":{"rendered":"<p><a href=\"https:\/\/milen.me\/writings\/appkit-vs-swiftui-stable-vs-shiny\/\">Milen Dzhumerov<\/a>:<\/p>\n<blockquote cite=\"https:\/\/milen.me\/writings\/appkit-vs-swiftui-stable-vs-shiny\/\"><p><a href=\"https:\/\/mitchellh.com\/\">Mitchell Hashimoto<\/a> has been working on a new\ncross-platform terminal written in Zig and <a href=\"https:\/\/mitchellh.com\/writing\/ghostty-devlog-002\">posted a update<\/a>\non the project&rsquo;s progress. [&#8230;] So, usage of SwiftUI constrained the product to have bugs and missing features.<\/p><p>[&#8230;]<\/p><p>Because of its maturity, AppKit does not change often nor significantly: it provides\na stable foundation to build upon. Desktop OS innovation is quite slow as resources\nare focused on mobile and spatial. In turn, this means lower likelihood of breaking\nchanges on each major release and more time to focus on <em>your product<\/em>.<\/p><p>[&#8230;]<\/p><p>SwiftUI is tackling a <em>much<\/em> harder problem along multiple dimensions[&#8230;]<\/p><p>[&#8230;]<\/p><p>SwiftUI can be thought of as a unifying rewrite of AppKit and UIKit, so the usual rewriting caveats, risks and benefits apply.<\/p><\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/08\/03\/how-nshostingview-determines-its-sizing\/\">How NSHostingView Determines Its Sizing<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/06\/30\/macos-apprentice\/\">macOS Apprentice<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/05\/30\/swiftui-notes-before-wwdc-2023\/\">SwiftUI Notes Before WWDC 2023<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/05\/30\/rewriting-remotion-in-swiftui\/\">Rewriting Remotion in SwiftUI<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/05\/30\/rewriting-soundcloud-in-swiftui\/\">Rewriting SoundCloud in SwiftUI<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/05\/26\/wallaroo-and-swiftui-on-macos\/\">Wallaroo and SwiftUI on macOS<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/01\/27\/swiftui-in-timing-app\/\">SwiftUI in timing.is App<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/10\/25\/macos-13-0-ventura\/\">macOS 13.0 Ventura<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Milen Dzhumerov: Mitchell Hashimoto has been working on a new cross-platform terminal written in Zig and posted a update on the project&rsquo;s progress. [&#8230;] So, usage of SwiftUI constrained the product to have bugs and missing features.[&#8230;]Because of its maturity, AppKit does not change often nor significantly: it provides a stable foundation to build upon. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2023-08-11T18:51:08Z","apple_news_api_id":"afa26cf6-ac2b-41b9-b790-5332bdd5f658","apple_news_api_modified_at":"2023-08-11T18:51:08Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/Ar6Js9qwrQbm3kFMyvdX2WA","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":[4],"tags":[69,30,2223,71,2074,1812],"class_list":["post-40324","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-cocoa","tag-mac","tag-macos-13-ventura","tag-programming","tag-software-rewrite","tag-swiftui"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/40324","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=40324"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/40324\/revisions"}],"predecessor-version":[{"id":40325,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/40324\/revisions\/40325"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=40324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=40324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=40324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}