|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/deep-dive-ios-16-swiftui-programming/
课程评论:没有评论
课程名称:深入探讨 iOS 18 与 SwiftUI 6:80 小时项目式课程 课程概述: 本课程专注于使用 Swift 编程语言和 SwiftUI 框架进行 iOS 开发。你将首先学习 Swift 的编程基础,课程以项目为基础,每个项目引入新的语言特性并提供实践经验。应用程序将使用 MVVM 软件设计模式进行开发,MVVM 模式与 SwiftUI 和 iOS 开发相辅相成。此外,你还将学习如何高效使用 Xcode,导航界面,利用热键,以及创建代码片段。有关 iOS 18 的新内容会定期更新。 课程涵盖的主题包括: - Xcode:从下载到设置,学习基本的键盘快捷键。 - Swift 编程语言:学习基础与稍高级的话题,并进行 Swift 编程练习。 - 高阶函数与函数式编程:深入理解在 Swift 和 SwiftUI 中的重要概念。 - 各类应用开发:如问候应用、图标管理、用户界面练习、数据流应用等。 - 动画与手势:实现多种动画效果和手势识别。 项目应用案例包括: 1. 问候应用 - 学习 SwiftUI 基础布局与多语言支持。 2. 食谱应用 - 实现 MVVM 设计模式及 API 调用。 3. 计算器 - 优美的 UI 设计,支持状态管理。 4. 闹钟应用 - 开发复杂界面及本地推送通知。 5. 引用应用 - 学习从网络获取数据。 6. 多语种动物应用 - 教孩子支持多语言文本转语音。 此外,课程中还会探讨如何利用 CoreML 和 CreateML 进行数据预测,实现 Titanic 生还预测模型,提升机器学习技能。课程内容会根据学生反馈不断更新,课程过程中鼓励学生创造性地尝试自己的应用点子。 希望你能享受这门课程,快乐编码!
This course focuses on iOS development using the Swift programming language and the SwiftUI framework. You'll start by learning the programming fundamentals of Swift. This is a project-based course, where each project introduces new language features and provides hands-on experience. The apps will be developed using the MVVM software design pattern, which complements SwiftUI and iOS development. Additionally, you'll learn how to efficiently use Xcode, navigate the interface, utilize hotkeys, and create code snippets.New content related to iOS 18 is uploaded regularly.Here is a list of the topics we will cover and the apps we will create.Xcode. We start by downloading Xcode and SF Symbols, adapting it to our needs and learning essential keyboard shortcuts.The Swift Programming Language. We start with the basics of the Swift programming language, move on to slightly more advanced Swift topics, and then focus on a dedicated section of Swift coding exercises.Extended Introduction to Swift. After getting our feet wet in the previous section we move onto a more systematic and comprehensive coverage of the Swift programming language.Swift Coding Exercises. This section presents a range of coding exercises with different difficulty levels to help reinforce the concepts covered in the previous two sections.Higher Order Functions and Functional Programming. Higher-order functions are integral to Swift and SwiftUI, so this section is dedicated to this crucial concept.Greetings App. The aim is to introduce the fundamentals of SwiftUI and provide a brief glimpse into the capabilities of both Swift and SwiftUI. In this short app, we will explore essential layouts, animations, tap gestures, gradients (both linear and radial), multilingual support (including English, Spanish, and more), creating app icons for all devices, and enabling light and dark mode support.Icons - Light, Dark and Tinted. In this brief section, we will explore icons in iOS 18, including light, dark, and the newly introduced tinted icons.Basics. The goal is not to give an encyclopedic treatment, rather cover a large chunk of the fundamentals and then quickly dive into as many apps as possible where we use these basics and beyond.Programming basics, i.e. variables, constants, arrays, loops, structs, conditionals, basic data types, guard, tuples, enumerations, etc.HStack, VStack, ZStack, gradients, colors, text, alignment, frames, rotations, grids, images, AsyncImageUser Interface Exercise. Video-based exercises with solutions, testing our understanding of concepts from the previous section.Data Flow in SwiftUI. Understanding @State, @Binding, @ObservedObject, @StateObject, @Published, Observable, and @EnvironmentObject.Exploring Images. Scale to Fit and Fill, and AsyncImage.Code Snippets. Utilizing code snippets to write programs more efficiently. While this topic is straightforward, it's highly practical. In this section, we also cover helpful concepts such as:- Page tabbed views - Background colors - Buttons - Gradient text and masks - Clean default views - Avatars - Clickable images linking to websites Animations. Keyframes, Bounce, Phase, Breathe, Wiggle, Rotate, and Pulse animationsGestures. Incorporating various types of gestures such as drag, tap, and magnifyStylizing Text Views. String Interpolation, Markdown, Attributed Strings, Measurements, Pluralization with Inflection, and OpenURLAction and Text RendererCalculator. We implement a nice UI based on a beautiful design from dribbble. We support both light and dark mode and discuss state variables.Brevis App - Hotkeys. A straightforward yet useful hotkey app designed to work seamlessly on iPhone, iPad, and macOS.Recipe App MVVM. This is the first App in the course that covers the MVVM design pattern which is central in this course. We also cover basic navigation and lists and custom views in this section.Chinese Continuing App. This app includes unit testing, MVVM architecture, API calls using URLSession, and features a visually appealing splash screen with a random image.Fizz Buzz. This app is built around the classic interview question known as Fizz Buzz. We start by exploring Xcode's playground and then progress to developing an app focused on string manipulation. The app implements Fizz Buzz in multiple programming languages, including Swift, Rust, Go, C, and JavaScript/HTML, effectively creating a program that generates other programs. Additionally, we cover how to copy text to the clipboard and explore the context menu.HTML to Color Extension. In this section we write code that converts HTML to usable code in SwiftUI. Namely we automate the creation of color extensions which will be used in the Charts App of our course (or in any app for that matter).Exploring Charts. We create charts using the SwiftUI Charts framework. Using drag gestures in the charts. Horizontal and vertical bar charts, line charts, area charts.Activity Tracker - Pie Charts and Donut Charts with Swift Data. In this section, we dive into creating visual representations of data using pie charts and donut charts in Swift, leveraging Swift Data for robust data management and visualization.Line Plots. In this section, we explore line plots with a focus on various intriguing topics. We start by creating random line plots and then move on to examining Lissajous curves, including their parameterizations. We'll also cover essential graphics functions, delve into implementing trigonometric functions, and illustrate the prime number theorem through visual representation. This comprehensive approach provides a solid understanding of how to use line plots to convey complex mathematical concepts and data.Core Data Math Game. We create a math game focusing on MVVM and Core Data. In addition like most of the apps in the course, the app supports multiple languages out of the box via localization.Swift Data. In this section, we delve into Swift Data, an alternative to Core Data. We will explore its features and benefits, examining how it streamlines data management and integration within Swift applications.Building and Deploying Titanic Survival Predictions with CoreML and CreateML. This brief section is designed to give you an introduction to the capabilities of CoreML and CreateML by exploring a practical example: predicting Titanic passenger survival. We'll start with preparing and preprocessing the Titanic dataset, then use CreateML to train a predictive model, and finally, integrate the model into an iOS app using CoreML. This hands-on exercise will offer a taste of the power and ease of Apple's machine learning tools, demonstrating how they can be applied to real-world data and applications.Alarm App. This section is a key highlight of the course. We draw inspiration from a design on Dribbble to build a sophisticated user interface that supports multiple languages, including English, Spanish, French, Italian, German, and Turkish. The complexity of the UI provides a great opportunity to work with advanced design elements such as navigation stacks, tab views, grids, shapes, and date pickers. We also create a custom toggle button using tap and drag gestures, states, and bindings. In addition, we delve into advanced topics such as async-await and, notably, local push notifications, which are essential for engaging users with timely updates. We explore the use of environment objects, published properties, state management, and bindings, with a particular focus on how these concepts are applied throughout the app, especially in the context of local notifications. This section offers a comprehensive look at these powerful tools and techniques, showcasing their application in creating a robust and interactive app.Conway's Game of Life. This exercise is based on a classic programming challenge developed by the late British mathematician John Conway, who is remembered for his contributions despite having passed away from COVID. In this version of the game, we extend the concept by allowing users to modify the game rules. Our focus will be on both the programming logic and creating an attractive user interface, including elements such as sliders, custom check boxes, and ForEach views.Tip Calculator. My first thought was - not another tip calculator! However, this app stands out with its stunning design inspired by Dribbble. In this section, we dive into working with shapes, and place a strong emphasis on state management and bindings. Additionally, we ensure the app is fully localized and adapted for different modes, including light and dark themes, iPad and iPhone, as well as portrait and landscape orientations.Flashcards App. As the name suggests, this app focuses on creating and managing flashcards. We place a significant emphasis on implementing tap, magnification, and drag gestures within the app.Mystic Puzzle Game: Mastering the 15-Puzzle Challenge in SwiftUI. Dive into the world of classic puzzles with the Mystic Puzzle Game, also known as the 15-puzzle game. This engaging project challenges you to shuffle 15 tiles, leaving one space empty, and requires users to strategically move the tiles back into their correct positions.In this course section, you'll explore more than just a visually appealing interface. We tackle the intricate logic behind the puzzle, making it a stimulating programming exercise. You'll learn how to implement complex algorithms and state management in SwiftUI while creating a smooth, interactive user experience.Quote of the Day App. In this section, we'll utilize a quote API to learn how to fetch data from the internet-a crucial skill for many apps. Additionally, we'll explore the use of custom fonts to enhance the app's design and user experience.Speed code a Chill Meditation App. We create a very simple meditation in 30 minutes flat. This is to show what can be done easily in SwiftUI with very little time and effort.Multilingual Animals. This can be viewed as an educational game for children. The main goal of this project is to learn how to support text to speech in multiple languages, namely, English, Spanish and French. Of course other languages can easily be supported.The remaining four apps focus on the frontend. All based on designs from dribbble. Namely.Body Shape UI.Meditation App UI.Finance App UI.Task Manager UI. Moreover this course is dynamic in the sense that I will regularly post more material of my own and/or in response to specific requests from students.I hope you enjoy this course as much as I enjoyed creating it. Also make the code your own. Experiment and be creative. Try to implement an App idea of your own. Feel free to ask questions in the Q & A or message me directly. I'm always happy to answer questions and check for questions twice a day.Happy programming and have a Great dayRon