
Explore SwiftUI by building real apps, including a fully functional WhatsApp clone powered by Firebase, and the first game in SwiftUI, while mastering iOS development.
discover what SwiftUI is as a real-time user interface framework, and learn how state, binding, and environment objects enable easy data handling with views replacing controllers on iOS 13.
Create your first SwiftUI project, enable the SwiftUI checkbox, and explore the editor and canvas to preview live code, building simple views with stacks, text, and images.
Learn to build layouts in SwiftUI by using vertical stack, horizontal stack, and z stack to arrange multiple text views, adjust font, alignment, padding, and spacer.
Build a Metallica fan app's welcome screen with an image and band member names, plus a start button, while learning SwiftUI basics like stacks, spacers, and attribute order.
Explore SwiftUI views, learn to work with text, images, and other views, and build responsive screens with navigation between second screens, finishing with lists.
Explore detail of SwiftUI views by experimenting with text, colors, fonts, frames, and stacks. Learn how to customize text attributes and sizing using frame, foreground color, background, and font options.
Explore creating responsive screens in SwiftUI by resizing and framing an image, applying aspect ratio and fit or fill, and adapting to different devices with screen size awareness.
Explore working with images in SwiftUI by clipping to a circle, adding overlays and strokes, and applying shadows for test images on various backgrounds.
learn to create reusable swift ui views by building a dedicated image view in a separate file and reusing it with a single line of code across the project.
Create a SwiftUI button with an action and label, then explore navigating between two views using navigation link and a navigation first view setup.
Learn to implement a SwiftUI navigation link to move from a first view to a second view using a navigation view, destination, and label, with navigation bar titles.
Replace traditional table views with lists in SwiftUI by displaying an array of strings in a list, using for-each loops and identifiers to render each row.
Define a musician struct in SwiftUI with an id, genre, and bands, then group rock, metal, and pop into sections for a list with headers.
Explore using sections with lists in swiftui to structure data, display identifiable musicians and their bands with headers and forEach loops, and refine headers and footers.
Explore how to work with data in SwiftUI using state, binding, object binding, and environment variables, and build clickable lists that transfer data between screens.
Learn how SwiftUI uses property wrappers like @State to manage data and update views, demonstrated with a travel checklists app and binding changes via a button.
Show binding by linking a text field to a state variable so user input updates the label in real time, using dollar sign bindings and placeholders in SwiftUI.
Create an identifiable travel check model with id, name, and description; build a sample travel array and a SwiftUI list to show city names and navigate to descriptions.
Create a clickable list in SwiftUI by wrapping a list in a navigation view and using navigation link to navigate to a travel detail view with clicked item data.
Explore transferring data between views by passing a chosen travel model to the travel detail, displaying its name and description, and toggling a visit state to change color.
Learn to bind from a different view by creating a separate button with a binding bool to toggle a scene in travel detail and navigate to travel list.
Learn how to navigate from a first screen to a second screen in SwiftUI using a button and sheet modifier, with a boolean binding to present a second view.
Build the landmark book app to practice what you have learned so far, complete your first assignment, and integrate maps and ui kit elements into your swift ui projects.
Learn to build a simplified landmark app in SwiftUI, including list views, landmark details with image, name, country, and type, while exploring map integration as a later challenge.
Build a landmark detail view in SwiftUI and define an identifiable landmark model with id, name, image name, country, category, and coordinates. Use latitude and longitude for mapping.
Build the landmark model elements by collecting images, organizing assets, and renaming files, then assign latitude and longitude coordinates to prepare your SwiftUI landmark app.
Learn to integrate map kit in SwiftUI by wrapping MKMapView with a ui view representable and implementing make ui view and update ui view to center on landmark coordinates.
Build a SwiftUI detail view that combines a map and a circular image, using a dedicated circular image view with overlays, frames, and offset to position London Bridge.
Display landmark details by adding country and category text beside the name, adjust alignment with spacers, style fonts and color, and prepare a landmark list and detail view.
Design a landmark list in SwiftUI and pass the selected landmark to its detail view via a navigation link, using a chosen landmark parameter to display image, name, and category.
Build a landmark list row in SwiftUI by pairing an image with text in a horizontal stack, using a reusable landmark image view and a navigation link to detail view.
Explore how to leverage previews in SwiftUI to see real-time changes, adjust sizing and grouping across devices, and work with environment variables while learning new SwiftUI concepts.
Explore how previews in swift ui simplify testing and debugging interfaces. Learn to compare layouts across devices side by side, use preview assets, and understand the role of debug previews.
Practice sizing in SwiftUI by resizing hero images with frames (100x100, then 80x80) and presenting them in a list with name and universe using previews that size to fit.
Explore preview layouts and size that fits to display grouped hero rows, using a simple super hero model with image name and universe in a SwiftUI data-driven list.
Use SwiftUI previews to test your design with environment variables, simulating size categories from extra small to extra extra large, color schemes, and accessibility settings.
Explore how to test a SwiftUI app on multiple iPhone models using previews, group devices, and display a hero array in a list for side-by-side comparisons.
Build your first Swifty UI game, Catch the Kenny, applying timers, gesture recognizers, and animated position changes of images or views to reinforce core Swifty UI concepts.
Build your first SwiftUI game, learn about gestures, alert messages, and timers; watch the Kenny game run, score rises against time, and restart for another round.
Create a single view SwiftUI game interface for catch the candy, add Kenny assets, and set up score and time left displays with stacks and frames.
Learn to change a view’s position in SwiftUI using the position modifier, by defining x and y coordinates with state variables, and animating Kenny through nine predefined points.
Integrate a background timer in SwiftUI to animate Kenny using predefined x and y positions, starting on appearance and updating every second for a non blocking looping motion.
Define predefined Kenny coordinates with tuples and create multiple positions (left, middle, right) to animate Kenny toward a random nearby position during the timer.
Build an array of x,y position tuples and a random index 0–8 to move Kenny, animating him every two seconds in SwiftUI.
Explore implementing a countdown in SwiftUI using tap gestures to increase the score, while managing a time left timer and preparing an alert when time runs out.
Learn to control a timer in SwiftUI, prevent negative time, and display an alert when time runs out, with two buttons to replay and cancel, resetting score and time left.
Build a WhatsApp clone chat app with Firebase integration in SwiftUI, and learn object binding and environment objects to advance your SwiftUI projects.
Build a chat app clone with Firebase and SwiftUI, fetch and list users from the server, and chat with a selected user while integrating sign up and sign in.
Connect your SwiftUI project to Firebase, set up authentication, and configure the app using the Firebase console, Google info plist, and CocoaPods.
create an auth view in SwiftUI with email, username, and password text fields bound to state variables, plus sign in and sign up buttons using sections for labeled inputs.
Extend the SwiftUI authentication view by binding password and user name to text fields and adding sign in and sign up buttons.
Set up user authentication in a SwiftUI project by enabling email/password sign-in in the Firebase console, adding the Firebase authentication and Firestore pods, and running pod install.
learn how to create users using Firebase authentication in a SwiftUI project, capturing email and password, and handling sign up with a completion block. Prepare for sign-in and user lists.
Learn how to set up Firebase Firestore, initialize a database, enable test mode, and structure data with a users collection and documents to store user names and emails.
Demonstrates rendering a view inside a view using a state variable to switch between sign-in content and a user list, pulling data from the five year base five year store.
Implement sign in and sign up flows, redirect users to the user view, and connect Firebase storage to fetch and display user data.
Create a bindable user store in SwiftUI to fetch user data from Firebase and publish updates in real time using Combine.
Fetches user data from Firebase Firestore using a snapshot listener to loop through documents, extract user id and username, update the user array, and trigger changes.
Learn to display a dynamic user list in SwiftUI using an object binding user store, show user names in a list, and test with sign up flows and previews.
Explore building a chat view in SwiftUI: set a navigation bar title, add a logout button, list users with navigation links, and connect to a chat screen showing selected user.
Create a chat input with a bound text field and send button, then wire a send message function to Firebase to store messages and display them in a list.
Save chat messages to Firebase by building a chat dictionary with sender, receiver, message, and date, and store it in the chats collection.
Learn to build a SwiftUI chat system by modeling messages, fetching chats from Firebase Firestore with two filtered queries, parsing documents, and styling messages by sender.
Learn how to retrieve chats by filtering messages for the current user, update chat data with Firebase, and test the chat UI in the simulator, addressing cross-chat message issues.
Build a chat row in SwiftUI that displays chat messages from a Firebase-backed list, aligns messages left or right by sender, and wires chat and user models for the conversation.
Replace lists with a scroll view to remove blank rows, render chats with for each, and sort messages by date for a chronological chat view; upcoming topic: environment object.
Learn how to use the environment object wrapper to inject a user store into the SwiftUI view hierarchy, connect to routes, and support login flows alongside object bindings.
Are you ready to learn about the latest revolutionary framework from Apple: SwiftUI!
If you are developing iOS with Swift you'll likely have already heard of SwiftUI, because it's about to the change the development industry. With SwiftUI you can build robust, stunning and efficient user interfaces like never before, and this version release can be considered as the biggest news since the release of Swift itself.
Within the next few years it is expected that we will see SwiftUI used in most Swift projects, so it doesn't matter if you're a freelance iOS developer or working for a huge company - you should definitely get a hold of this new technology asap and start using it in your projects! This is the right time!
This is a practical course for students who want to master SwiftUI quickly. Within this course students will...
Build real apps like WhatsApp clone, a Landmark Book app, anda Catch The Kenny game
Create stunning user interfaces for apps
Learn the theory AND put it in to practice in each lecture
Taught by the brilliant and highly regarded instructor Atil Samancioglu (4.7 instructor rating, 161k students taught to date!) as part of Codestars by Rob Percival. Without neglecting the theory, Atil ensures students focus on practicing what they learn - it really makes things easy! Plus all codes written in this course are shared with students via GitHub.
Some of the topics which will be covered during the course:
SwiftUI Basics
Deep dive for most of the views such as Image, Text, Button, TextField ...
Working with data with new concepts such as State, Binding, ObjectBinding, EnvironmentObject...
Firebase & SwiftUI integration and WhatsApp Clone (first example in the world)
Usage of Gesture, Timer, Position etc. in SwiftUI
UIKit integration
Map usage
Don't miss your chance to learn about Apple's latest and brilliant UI technology and enroll the course now!
Requirements:
Some Swift & iOS development knowledge - this course isn’t for students completely new to coding.
A computer that can run Xcode 11 and MacOS Catalina (but the instructor will show you how to get both these for free!)