We may earn an affiliate commission when you visit our partners.
Packt - Course Instructors

Embark on a journey to master the essentials of building and managing user interfaces using Swift and SwiftUI, tailored for iOS 17. The course begins with an in-depth exploration of fundamental frameworks such as Foundation, which provides the backbone for data manipulation and basic tasks in iOS applications. You'll learn how to handle strings, ranges, numbers, dates, measurements, and timers, ensuring you can manage various data types efficiently and accurately. Additionally, you’ll delve into the RegexBuilder framework, mastering the art of text parsing and data validation with regular expressions.

Read more

Embark on a journey to master the essentials of building and managing user interfaces using Swift and SwiftUI, tailored for iOS 17. The course begins with an in-depth exploration of fundamental frameworks such as Foundation, which provides the backbone for data manipulation and basic tasks in iOS applications. You'll learn how to handle strings, ranges, numbers, dates, measurements, and timers, ensuring you can manage various data types efficiently and accurately. Additionally, you’ll delve into the RegexBuilder framework, mastering the art of text parsing and data validation with regular expressions.

Moving forward, the course dives deep into the SwiftUI framework, starting with the essential tools in Xcode's projects and editor area. You'll explore the structure of SwiftUI files, the use of the canvas for real-time UI design, and advanced concepts like opaque types. Each section of SwiftUI is covered comprehensively, from text views and modifiers to color views, materials, images, and SF Symbols. You'll also learn about event modifiers, custom modifiers, and various layout techniques, including stacks, grids, and custom views, ensuring you can create flexible and adaptive interfaces.

The final part of the course focuses on declarative user interfaces and lists, crucial for modern iOS development. You’ll gain expertise in managing state with @State and @Binding, implementing control views like buttons and text fields, and working with advanced components like sliders, progress views, and steppers. You'll also explore list management, including scrollable views, lazy grids, sections, swipe actions, and outline lists.

By the end of this course, you'll be equipped with the knowledge and skills to build sophisticated, responsive, and visually appealing iOS applications. Ideal for iOS developers with basic programming and iOS knowledge looking to enhance their Swift and SwiftUI skills. Experience is Swift programming is recommended.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Introduction to Frameworks (Updated to iOS 17)
In this module, we will explore the Foundation framework and its essential functions for iOS development. You'll delve into the handling of different data types like strings, numbers, and dates, as well as learn to work with measurements and timers. Additionally, you'll get an introduction to RegexBuilder and Core Graphics for advanced text processing and graphical operations.
Read more
SwiftUI Framework (Updated to iOS 17)
In this module, we will dive into the SwiftUI framework and its updates in iOS 17. You'll learn to navigate Xcode and understand SwiftUI file structures, utilize modifiers, and integrate various views like Text, Color, and Images. This module also covers advanced topics like event handling, custom modifiers, and creating adaptive layouts with stacks and grids.
Declarative User Interface (Updated to iOS 17)
In this module, we will focus on declarative UI development in SwiftUI. You'll learn how to manage state with @State and @Binding, and explore various control views such as buttons and text fields. Additionally, this module will guide you through structuring data models and binding them to your UI for dynamic and interactive user experiences.
Lists (Updated to iOS 17)
In this module, we will explore the creation and management of lists in SwiftUI. You'll learn to build dynamic lists and grids, implement interactive features such as edit mode and swipe actions, and organize data with sections. This module also covers advanced list types, including tables, pickers, and disclosure groups, to enhance your app's data presentation and user experience.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers SwiftUI, which is Apple's modern declarative UI framework, enabling developers to build user interfaces across all Apple platforms with less code and greater efficiency
Explores the Foundation framework, which provides essential data types and utilities for handling strings, numbers, dates, and other fundamental data structures in iOS applications
Teaches RegexBuilder, which allows developers to define regular expressions in a clear and maintainable way, improving text parsing and data validation within iOS applications
Requires experience in Swift programming, so learners without prior Swift knowledge may find it challenging to grasp the concepts and complete the hands-on exercises effectively
Updated to iOS 17, which ensures that learners are working with the latest features and APIs, but those targeting older iOS versions may need to adapt the code accordingly

Save this course

Save Building and Managing User Interfaces to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Building and Managing User Interfaces with these activities:
Review Swift Fundamentals
Solidify your understanding of Swift syntax and core concepts before diving into SwiftUI. This will make learning SwiftUI easier and faster.
Show steps
  • Review Swift's data types, control flow, and optionals.
  • Practice writing simple Swift programs.
  • Familiarize yourself with Swift Package Manager.
Read 'SwiftUI by Tutorials'
Supplement the course material with a dedicated SwiftUI book. This will provide a broader and deeper understanding of the framework.
Show steps
  • Obtain a copy of 'SwiftUI by Tutorials'.
  • Read the introductory chapters to get an overview of SwiftUI.
  • Work through the examples and exercises in the book.
Build a Simple UI Clone
Apply your SwiftUI knowledge by recreating a simple UI from an existing app. This will reinforce your understanding of layout and UI elements.
Show steps
  • Choose a simple UI from a popular app (e.g., a weather app or a calculator).
  • Analyze the UI and break it down into its component views.
  • Implement the UI in SwiftUI, focusing on layout and styling.
  • Refine the UI to match the original as closely as possible.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Document Your Learning Journey
Create a blog or journal to document your learning process. This will help you reflect on what you've learned and identify areas for improvement.
Show steps
  • Create a blog or journal (e.g., on Medium or a personal website).
  • Write regular entries about what you're learning in the course.
  • Include code snippets, screenshots, and explanations.
  • Share your blog or journal with others and solicit feedback.
SwiftUI Layout Challenges
Practice implementing different layouts using SwiftUI stacks, grids, and custom views. This will improve your ability to create flexible and adaptive interfaces.
Show steps
  • Find or create a set of layout challenges (e.g., replicating common UI patterns).
  • Implement each layout using SwiftUI's layout tools.
  • Experiment with different approaches to achieve the desired layout.
  • Compare your solutions with others and learn from their approaches.
Read 'Thinking in SwiftUI'
Gain a deeper understanding of the SwiftUI paradigm. This will help you write more efficient and maintainable code.
Show steps
  • Obtain a copy of 'Thinking in SwiftUI'.
  • Read the book and reflect on the concepts presented.
  • Apply the concepts to your SwiftUI projects.
Contribute to a SwiftUI Open Source Project
Contribute to an open-source SwiftUI project to gain real-world experience and collaborate with other developers. This will deepen your understanding of SwiftUI and improve your coding skills.
Show steps
  • Find an open-source SwiftUI project on GitHub.
  • Identify an issue or feature you can contribute to.
  • Fork the repository and create a branch for your changes.
  • Implement your changes and submit a pull request.

Career center

Learners who complete Building and Managing User Interfaces will develop knowledge and skills that may be useful to these careers:
iOS Developer
An iOS Developer is responsible for creating applications that run on Apple's iOS operating system. This course is perfectly suited for an iOS Developer, as it focuses specifically on building user interfaces using Swift and SwiftUI, which are the primary tools in iOS development. The course covers everything from the foundation frameworks for data manipulation to advanced UI features with SwiftUI, including layouts and interactive views. An iOS Developer will find this course essential for learning state management, handling user interactions and building responsive and sophisticated user experiences. Anyone pursuing iOS development would benefit substantially from the course and its deep exploration of various UI components, especially its emphasis on declarative UI development.
Mobile Application Developer
The role of a Mobile Application Developer involves designing, building, and maintaining applications for mobile devices, often focusing on specific platforms like iOS. This course directly aligns with the needs of an iOS developer, as it provides in-depth training with Swift and SwiftUI, which are essential for iOS development. The course’s coverage of the Foundation framework, data manipulation, and UI building, directly applicable to the day to day tasks of a Mobile Application Developer, helps build a solid foundation. A Mobile Application Developer will find the sections on managing state, building lists, and implementing various views and layouts invaluable to their work. This course, which is also updated for iOS 17, will be most useful.
Mobile Software Engineer
A Mobile Software Engineer focuses on creating and maintaining software for mobile devices. This course directly aligns with the needs of a mobile software engineer, specifically for iOS development using Swift and SwiftUI. The course provides in-depth training in these essential technologies, covering everything from data manipulation with the Foundation framework to complex UI development with SwiftUI. A Mobile Software Engineer will find the sections on building layouts, handling events, managing state, and creating lists invaluable. This updated course, which is tailored for iOS 17, will be most useful for any aspiring Mobile Software Engineer.
User Interface Engineer
A User Interface Engineer focuses on the front end of software applications, working with technologies to create the user-facing elements of a program. This course in building and managing user interfaces directly addresses the core skills required for this role. The emphasis on SwiftUI for creating user interfaces, along with the covered techniques for layout, views, and event handling, is directly relevant to a User Interface Engineer. Learning how to handle various data types with the Foundation framework, use RegexBuilder for text parsing, and work with UI elements will enhance a User Interface Engineer’s ability to build and maintain user interfaces. For anyone hoping to enter into this career field, this course, specifically its examination of lists and declarative user interfaces, is very useful.
Mobile UI Specialist
A Mobile UI Specialist focuses on the design and implementation of user interfaces specifically for mobile applications. The course is directly relevant to a Mobile UI Specialist as it dives deeply into building and managing UIs with Swift and SwiftUI for iOS 17. The course teaches how to use the various components of the SwiftUI framework, including layouts, views, and event handling, which go into creating user experiences. A Mobile UI Specialist will gain skills to create complex, interactive user interfaces. This course, particularly its focus on declarative UI, adaptive layouts, and list management in SwiftUI, is very helpful for any aspiring Mobile UI Specialist.
Application Developer
An Application Developer is involved in creating software applications for various platforms. This course fits well as it teaches the essentials of building and managing user interfaces specifically for iOS, using Swift and SwiftUI. The course’s sections on data manipulation using Foundation, and mastering UI elements, directly relate to the tasks of an Application Developer. An Application Developer will find the course helpful for understanding the mechanics behind building a user interface. Working with state management, declarative UI, and lists in SwiftUI, the course, therefore, is helpful for anyone wishing to become an Application Developer.
Front-End Developer
A Front End Developer focuses on the user-facing part of software, including websites and applications. While a Front End Developer typically works with web technologies, the principles of user interface design and development, as taught in the course, can be useful. This course introduces declarative UI and state management useful for any frontend role. It helps build a foundation in layout, event handling, and responsive design. A Front End Developer might find this course helpful in learning about the iOS ecosystem and may find its approach to UI development and management useful for various contexts. The course, which focuses on Swift UI, may be useful to those starting out in Front End Development.
Software Engineer
Software Engineers design, develop, and maintain software systems. This course will help a Software Engineer build iOS interfaces using Swift and SwiftUI. The skills learned are immediately applicable to building the user interface layers of iOS applications. The study of the Foundation framework and the various data types, will be beneficial, as well as the course's insights into the SwiftUI framework. The Software Engineer role requires the management of state, and making of interactive user interfaces. The course’s detailed examination of these components will be helpful. The course may be useful to a Software Engineer.
Software Developer
Software Developers are involved in the creation of software. This course helps them build user interfaces for iOS applications by using Swift and SwiftUI. The study of the Foundation framework for handling data, and the SwiftUI for laying out interfaces may improve a Software Developer's skillset. The course may provide an overview of how iOS interfaces are built, and that information may be beneficial to Software Developers in general. While this course focuses on iOS, the concepts discussed may be useful to those in other software development domains. This course may be useful to a Software Developer.
UI Designer
UI Designers focus on the aesthetics and usability of user interfaces, ensuring they are visually appealing and functional. While a UI Designer may not do coding, this course helps build an understanding of what is possible and how components are built via code. The course provides hands-on experience using SwiftUI to build interfaces. The study of the various components of an iOS user interface, such as the use of text, images, color, and layout, may assist a UI Designer. Though a UI Designer will not be coding often, their study of the various components of an interface, as in this course, may help them better communicate with developers. This course may be helpful to a UI Designer.
Mobile Application Consultant
A Mobile Application Consultant advises clients on the development and implementation of mobile applications. This course may support a Mobile Application Consultant through its deep dive into mobile UI development. The course teaches the fundamentals of utilizing Swift and SwiftUI, the backbone for building iOS applications. A Mobile Application Consultant may find the course useful in becoming more familiar with iOS development. The course’s study of the various components of a user interface, may be useful for a Mobile Application Consultant. This course may be useful to a Mobile Application Consultant.
Technical Lead
A Technical Lead oversees the technical aspects of a project and guides development teams. This course may be helpful for a Technical Lead focusing on iOS development, as it provides practical skills in Swift and SwiftUI. The course’s focus on state management, declarative user interfaces, and list creation, is directly related to building modern iOS apps. A Technical Lead may find that the course's focus on data types, text parsing, and advanced user experience features gives them a greater understanding of their team's work. This course may be helpful to those serving as Technical Leads.
UX Designer
A UX Designer focuses on the overall user experience, including research and usability. While a UX Designer does not do coding, some familiarity with the development process may assist in their work. The course helps build an understanding of the technical aspects of building user interfaces via Swift, SwiftUI, and the Foundation frameworks. The course’s sections on laying out views, managing state, and working with various kinds of control views may assist a UX Designer understand the possibilities when creating wireframes or mockups. A UX Designer who is familiar with how user interfaces are built, may work more effectively. This course may be useful to a UX Designer.
Quality Assurance Engineer
A Quality Assurance Engineer is responsible for testing software for bugs and issues. While this course may not provide specific testing skills, it does provide an intimate look at how user interfaces are built in iOS applications. The detailed study of the various components of the SwiftUI framework, and the underlying Foundation framework, may be helpful. By understanding how the UI is built, a Quality Assurance Engineer will be better able to identify potential problems. The course may be helpful to a Quality Assurance Engineer.
Software Architect
A Software Architect is responsible for making high-level design choices and dictating technical standards, including the structure of software systems. While a Software Architect doesn't dive into coding on a daily basis, some familiarity with the development process may assist in their work. The course provides a good understanding of how user interfaces are built on iOS, including the use of frameworks like Foundation and SwiftUI. The sections on managing state, implementing controls, and working with different layout techniques may provide useful context. It may be helpful for a Software Architect to explore this course for more information about iOS development, and its unique approach to user interfaces and programming.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Building and Managing User Interfaces.
Provides a comprehensive guide to SwiftUI, covering everything from basic views to advanced layout techniques. It's a great resource for learning SwiftUI concepts in depth. It is particularly useful for those who prefer a hands-on, tutorial-based approach to learning. This book can be used as a reference during the course.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser