Free Course Image iOS application development

Free online courseiOS application development

Duration of the online course: 22 hours and 10 minutes

4

StarStarStarStar

(3)

Master iOS app development with Stanford's free course on SwiftUI. Learn essential topics including MVVM, animations, multithreading, UIKit integration, and more.

In this free course, learn about

  • Introduction to SwiftUI and Course Overview
  • Building the Memorize Game
  • Animation and View Modifiers
  • Gestures, Multithreading, and Data Management
  • Publishers, Documents, and Platform Integration

Course Description

The course "iOS Application Development with SwiftUI (CS193P)" offers a comprehensive dive into the world of app development using Apple's SwiftUI framework. With a total duration of 22 hours and 10 minutes, this course is designed to equip students with the fundamental and advanced skills needed for building sophisticated iOS applications. Rated an average of 4 out of 5 stars, the course has garnered considerable appreciation for its in-depth and practical approach to learning app development.

Belonging to the Information Technology category and specifically targeting app development, this course meticulously covers a wide array of subjects necessary for mastering SwiftUI. The learning journey begins with an introduction to SwiftUI, setting the foundation for what’s to come. It provides an essential overview and initial hands-on experience to get students started with developing user interfaces for iOS applications.

The course then delves deeper into SwiftUI, broadening the understanding of its components and functionalities. Following this, the Model-View-ViewModel (MVVM) design pattern and the Swift type system are explored, which are crucial for building maintainable and scalable applications.

One of the practical projects, the Memorize Game, serves as a cornerstone for learning game logic implementation in SwiftUI. The course continues by covering properties, layout, and the powerful @ViewBuilder construct, which aids in building complex views efficiently.

Understanding protocols and shapes in SwiftUI is another critical component, providing the ability to create reusable and flexible code. The course also introduces the use of ViewModifiers and animations, enhancing the visual appeal and user experience of the applications.

With a dedicated animation demonstration, the intricacies of animating elements within SwiftUI are brought to light, making applications more dynamic and engaging. Following this, topics such as drag and drop functionality, multithreading for performance optimization, and implementing gestures are thoroughly examined with practical examples.

Error handling and data persistence are not left out, ensuring students can handle real-world issues and data management within their apps. The advanced topics include bindings, sheet presentations, navigation, and EditMode, which are essential for creating interactive and user-friendly applications.

Further into the course, the concept of publishers and additional persistence techniques are introduced, expanding the learners’ toolkit for managing data flow and storage. Document architecture within iOS applications is also covered, providing a structured approach to managing complex data models.

Integration with UIKit is another vital section, enabling students to combine the power of SwiftUI with existing UIKit components, which can be beneficial in modernizing legacy applications. Lastly, the course explores the development of multiplatform applications, extending the skills learned to macOS while leveraging the code-sharing capabilities of SwiftUI.

"iOS Application Development with SwiftUI (CS193P)" stands out as a robust educational resource, tailored for aspiring and experienced developers aiming to master the craft of iOS app development. Its thorough and detailed curriculum ensures that students are well-prepared to tackle the challenges of building innovative and effective mobile applications.

Course content

  • Video class: Lecture 1: Getting started with SwiftUI 1h21m
  • Exercise: What is the course CS193p about?
  • Video class: Lecture 2: Learning more about SwiftUI 1h25m
  • Exercise: _What is the purpose of creating a CardView in SwiftUI?
  • Video class: Lecture 3: MVVM and the Swift type system 1h35m
  • Exercise: _What is MVVM and why is it important in SwiftUI?
  • Video class: Lecture 4: Memorize Game Logic 1h31m
  • Exercise: _What is the next step after building the Model and ViewModel for the Memorize game in lecture three of CS193p?
  • Video class: Lecture 5: Properties Layout @ViewBuilder 1h25m
  • Exercise: _Why are Views in SwiftUI read-only?
  • Video class: Lecture 6: Protocols Shapes 1h22m
  • Exercise: _What is protocol inheritance?
  • Video class: Lecture 7: ViewModifier Animation 1h10m
  • Exercise: _What is the most common way to do animation in SwiftUI?
  • Video class: Lecture 8: Animation Demonstration 1h24m
  • Exercise: _What is the purpose of the shuffle button in the game demonstrated in Lecture 8 of Stanford CS193p Spring 2021?
  • Video class: Lecture 9: EmojiArt Drag and Drop Multithreading 1h32m
  • Exercise: _What is the purpose of the function index(matching:)?
  • Video class: Lecture 10: Multithreading Demo Gestures 1h25m
  • Exercise: _What is the purpose of the "found" variable in the EmojiArt demo shown in Lecture 10 of Stanford CS193p?
  • Video class: Lecture 11: Error Handling Persistence 1h45m
  • Exercise: _What does the keyword "throws" mean in SwiftUI functions?
  • Video class: Lecture 12: Bindings Sheet Navigation EditMode 1h50m
  • Exercise: _What is a property wrapper in SwiftUI?
  • Video class: Lecture 13: Publisher More Persistence 1h00m
  • Exercise: _What is the Publisher protocol in Swift?
  • Video class: Lecture 14: Document Architecture 1h17m
  • Exercise: _What are the two main SwiftUI Scene-building Scenes that are usually used?
  • Video class: Lecture 15: UIKit Integration 1h15m
  • Exercise: _What is the main difference between views in SwiftUI and UIKit?
  • Video class: Lecture 16: Multiplatform (macOS iOS) 46m
  • Exercise: _What is the instructor's recommendation when creating a multi-platform app in Xcode?

This free course includes:

22 hours and 10 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at App Development

Download the App now to have access to + 3300 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 48 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate

+ 9 million
students

Free and Valid
Certificate

60 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video and ebooks