{"id":2706,"date":"2020-01-31T20:40:57","date_gmt":"2020-01-31T20:40:57","guid":{"rendered":"http:\/\/4310.mynmi.net\/?page_id=2706"},"modified":"2026-03-21T22:01:25","modified_gmt":"2026-03-21T22:01:25","slug":"introduction-to-swiftui","status":"publish","type":"page","link":"https:\/\/nmi.cool\/appdev\/introduction-to-swiftui\/","title":{"rendered":"Introduction to SwiftUI"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Overview<\/h2>\n\n\n\n<p>Most of our app development in this course will take place with Apple&#8217;s free development platform, Xcode. Xcode offers three options for app development: Objective C, the really old way which most people do not use anymore, UIKit with Swift, which superseded Objective C and has been around for several years, and SwiftUI, which was released in Fall 2019 and is easily the most user-friendly way to develop for iOS in Xcode. We&#8217;ll learn a bit more about SwiftUI and how it differs from its predecessors as we dive into the readings. Speaking of&#8230;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Get the book<\/h2>\n\n\n\n<p>Most of our lessons in this course will come from Mastering SwiftUI, which is available for $49 at <a href=\"https:\/\/www.appcoda.com\/swiftui\/\">Appcoda.com<\/a> in various digital versions.<strong> Just get the basic, $49 package; you DO NOT NEED the full $79 starter pack.<\/strong>&nbsp; Everything else we use for this course is free, but you will most definitely need and are required to get this book. In addition, we will draw on a couple of great lessons from Apple itself and hackingwithswift.com.<\/p>\n\n\n\n<p>Also, if you are not familiar with a website named stackoverflow.com, where people ask and answer coding questions, you most likely will be by the time you finish this course. Chances are good that any question you have about SwiftUI has already been addressed there.<\/p>\n\n\n\n<p>I recommend that you read the first chapter,<strong> Introduction to SwiftUI,<\/strong> outside of class. Unlike all of the other chapters, it does not include a lesson, but does provide a lot of useful background information about SwiftUI, and it&#8217;s a pretty quick read.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Residential Students: Get a Flash Drive (USB C)<\/h2>\n\n\n\n<p>Our computers are very good but woefully short on storage. The solution is for you to store your work on a Flash Drive. Here&#8217;s a good one with lots of storage:<br>SanDisk 256GB Ultra Dual Drive Go USB Type-C Flash Drive, Black &#8211; SDDDC3-256G-G46&nbsp;<a class=\"c-link\" tabindex=\"-1\" href=\"https:\/\/a.co\/d\/b7zIeCW\" target=\"_blank\" rel=\"noopener noreferrer\" data-stringify-link=\"https:\/\/a.co\/d\/b7zIeCW\" data-sk=\"tooltip_parent\" data-remove-tab-index=\"true\">https:\/\/a.co\/d\/b7zIeCW<\/a><\/p>\n\n\n\n<p>Whatever you get make SURE that it is USB C, as our lab iMacs only have USB C ports. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Key Takeaways<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SwiftUI (released 2019) is Apple&#8217;s modern, declarative UI framework \u2014 it replaces UIKit and is the primary focus of this course.<\/li>\n\n\n\n<li><em>Mastering SwiftUI<\/em> from Appcoda.com ($49 basic package) is the required textbook \u2014 obtain it before the second week of class.<\/li>\n\n\n\n<li>Stack Overflow is your best friend: virtually every SwiftUI question you&#8217;ll encounter has already been answered there.<\/li>\n\n\n\n<li>Residential students: purchase a USB-C flash drive (256 GB recommended) \u2014 lab iMacs only have USB-C ports and on-board storage fills quickly.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Overview Most of our app development in this course will take place with Apple&#8217;s free development platform, Xcode. Xcode offers three options for app development: Objective C, the really old way which most people do not use anymore, UIKit with Swift, which superseded Objective C and has been around for several years, and SwiftUI, which &hellip; <a href=\"https:\/\/nmi.cool\/appdev\/introduction-to-swiftui\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Introduction to SwiftUI<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2706","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/pages\/2706","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/comments?post=2706"}],"version-history":[{"count":4,"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/pages\/2706\/revisions"}],"predecessor-version":[{"id":4175,"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/pages\/2706\/revisions\/4175"}],"wp:attachment":[{"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/media?parent=2706"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}