{"id":25822,"date":"2019-07-01T16:36:40","date_gmt":"2019-07-01T20:36:40","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=25822"},"modified":"2019-07-01T16:36:40","modified_gmt":"2019-07-01T20:36:40","slug":"swiftwebui","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2019\/07\/01\/swiftwebui\/","title":{"rendered":"SwiftWebUI"},"content":{"rendered":"<p><a href=\"http:\/\/www.alwaysrightinstitute.com\/swiftwebui\/\">Helge He&szlig;<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=20320820\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"http:\/\/www.alwaysrightinstitute.com\/swiftwebui\/\">\n<p>So what exactly is \n<a href=\"https:\/\/github.com\/SwiftWebUI\/SwiftWebUI\">SwiftWebUI<\/a>?\nIt allows you to write SwiftUI \n<a href=\"https:\/\/developer.apple.com\/documentation\/swiftui\/view\">Views<\/a>\nwhich display in a web browser[&#8230;]<\/p>\n<p>[&#8230;]<\/p>\n<p>Unlike some other efforts this doesn&rsquo;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!<\/p>\n<p>In other words: \n<a href=\"https:\/\/github.com\/SwiftWebUI\/SwiftWebUI\">SwiftWebUI<\/a>\nis an implementation of (many but not all parts of) the SwiftUI API for the browser.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/06\/03\/swiftui-and-combine\/\">SwiftUI and Combine<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Helge He&szlig; (Hacker News): So what exactly is SwiftWebUI? It allows you to write SwiftUI Views which display in a web browser[&#8230;] [&#8230;] Unlike some other efforts this doesn&rsquo;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 [&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":"2019-07-01T20:36:42Z","apple_news_api_id":"bf325438-4f07-4464-8be6-f78ee06e8c05","apple_news_api_modified_at":"2019-07-01T20:36:43Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/AvzJUOE8HRGSL5veO4G6MBQ","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":[30,1666,71,1812,96],"class_list":["post-25822","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-mac","tag-macos-10-15","tag-programming","tag-swiftui","tag-web"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/25822","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=25822"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/25822\/revisions"}],"predecessor-version":[{"id":25823,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/25822\/revisions\/25823"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=25822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=25822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=25822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}