YoVDO

Mastering WidgetKit in SwiftUI 4, iOS 16 with Dynamic Island

Offered By: Packt via Coursera

Tags

SwiftUI Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
This video course provides an overview of the latest WidgetKit developments in iOS 16, using SwiftUI. It covers static, network-based, map-based, and configurable widgets, as well as core data-backed widgets and deep linking strategies. The course also includes creating live activity and lock screen widgets, understanding ActivityKit and Live Activity lifecycles, and adding support for Dynamic Island on iPhone 14 Pro and newer iOS devices. By the end, participants will be skilled in creating high-quality widgets for iOS apps, mastering WidgetKit with SwiftUI 4 and iOS 16. Key topics include WidgetKit basics, SwiftUI 4, lock screen widgets, news widgets with link configuration, and using TimelineProvider to update widget content. Designed for experienced SwiftUI and iOS developers, this course enhances their WidgetKit expertise and enables them to create custom widgets that elevate user experience. Join today to unlock WidgetKit's potential!

Syllabus

  • Introduction
    • In this module, we will provide an overview of the entire course, detailing the specific widgets you will learn to create. This introductory session sets the stage for your learning journey with WidgetKit in SwiftUI 4 and iOS 16.
  • Getting Started
    • In this module, we will explore the basics of WidgetKit, including its purpose and capabilities. You'll learn how to add a WidgetKit extension to your project, laying the groundwork for more advanced widget development.
  • Understanding Widgets in WidgetKit
    • In this module, we will delve into the anatomy of widgets in WidgetKit. You'll learn about each component's role, from the timeline provider to the widget configuration, and how they interact to create functional widgets.
  • Build Your First Widget from Scratch
    • In this module, we will guide you through building your first widget from scratch. You'll create a simple timeline entry, configure its view, and understand how to handle different widget families and settings.
  • Today Widget
    • In this module, we will focus on creating a Today widget that displays the current date and the last update time. You'll learn to build the timeline provider, configure the widget, and bundle it for deployment.
  • Network-Enabled Widget
    • In this module, we will create a network-enabled widget that fetches and displays quotes. You'll develop the necessary data structures, networking logic, and configuration to enable real-time data updates in your widget.
  • Photo-Based Widget
    • In this module, we will build a photo-based widget that displays images fetched from a network source. You'll learn to create the data entry, view, and provider necessary for a dynamic photo widget.
  • Widget Size Family
    • In this module, we will create a weather widget project that supports various size families. You'll design different views, create necessary data structures, and configure the widget to adapt to different sizes and layouts.
  • Charts Framework in Widget
    • In this module, we will introduce you to the Charts framework and how to use it within widgets. You'll create a workout widget that visualizes workout data using charts, developing the necessary models, views, and configurations.
  • Data Sync Between App and Widget
    • In this module, we will explore data synchronization between an app and its widget. You'll learn to use app groups, develop shared data models, and ensure your widget accurately reflects the synced data.
  • Core Data in WidgetKit
    • In this module, we will dive into integrating Core Data with WidgetKit. You'll create a grocery widget, develop the necessary data models, manage contexts, and configure the widget to display Core Data-managed content.
  • Understanding Configurable Widget
    • In this module, we will focus on creating configurable widgets. You'll learn to use intent definitions, develop necessary views and providers, and configure your widgets to allow user customization.
  • Configurable Widget Deep Dive
    • In this module, we will take a deep dive into developing complex configurable widgets. You'll create an expense widget with multiple parameters, implement detailed intent definitions, and configure the widget for complex data handling.
  • Deep Links in Widgets
    • In this module, we will explore deep linking within widgets. You'll develop an exchange rate widget, implement necessary models and views, and configure deep links and OpenURL methods for enhanced widget functionality.
  • Custom Configuration Widget
    • In this module, we will guide you through creating custom configuration widgets. You'll develop a stock app widget, implement necessary services and views, and configure the widget to handle custom data and interactions.
  • iOS 16 Lock Screen Widget
    • In this module, we will focus on creating widgets for the iOS 16 lock screen. You'll develop a pedometer widget, implement necessary models and views, and configure the widget for lock screen display.
  • Maps in Widgets
    • In this module, we will create a map widget that displays famous places. You'll develop the necessary timeline entries, views, and configure the widget to integrate and display map-based data.
  • iOS 16.1 Live Activity Widget
    • In this module, we will introduce live activity widgets released in iOS 16.1. You'll develop a focus timer widget, implement necessary attributes and views, and configure the widget for real-time updates.
  • iOS 16.1 Live Activity Lifecycle Events
    • In this module, we will focus on live activity widgets with lifecycle event tracking. You'll create a pizza delivery widget, develop necessary attributes and views, and configure the widget to handle various lifecycle events.
  • iOS 16 Dynamic Island
    • In this module, we will explore integrating Dynamic Island into your widgets. You'll develop views for different regions of Dynamic Island and configure your widgets to utilize its interactive features effectively.

Taught by

Packt - Course Instructors

Related Courses

iOS 14 Getting Started
Pluralsight
Building Your First iOS 13 App
LinkedIn Learning
iOS 13 Development Essential Training: 1 Fundamentals, UI, and Architecture
LinkedIn Learning
iOS Development Tips Weekly
LinkedIn Learning
Swift 5: Protocol-Oriented Programming
LinkedIn Learning