Introduction to Server Driven UI in iOS, Swift & SwiftUI
What you'll learn
- Learn the principles of server driven user interface
- Identify the benefits of server driven UI approach
- Implement JSON server using Node and Express
- Instantly update your app on multiple platforms
Requirements
- Familiarity with iOS development and Swift language is recommended
- Familiarity with SwiftUI framework is recommended
- Understanding of MVVM design pattern is recommended
- No server driven UI experience is needed. You will learn everything you need to know
- Open mind and ability to find solutions through research
- Familiarity with Node/Express and JavaScript is recommended but not required
Description
What if there is a way to update the user interface of your app instantly, without having to submit a new version?
Companies like Airbnb, Spotify, Flipkart, Swiggy and several others use a technique called Server Driven UI, which allows them to remotely update their user interfaces based on the response received from the server. This allows them to bypass the review process and keep their apps sync on multiple platforms.
In this course, you are going to learn how to get started with building a server driven UI in iOS. You will learn the advantages and disadvantages of the approach and how to architect server driven UI apps. By the end of this course, you will have enough information to start building server driven UI for your applications.
Let’s check out the contents of the course:
Understanding Server Driven UI
In this section you will learn the concepts behind server driven UI and how it is different from basic API responses. You will also learn the benefits of using server driven UI. Finally, you will learn about the architecture of server driven UI apps and how it is different from creating default iOS applications.
Setting Up Server
In this section, you will learn how to set up your own custom server, which will return the JSON responses to the iOS app. You will learn how to implement a basic server using Node and Express. You will also learn about implementing a JSON template, which will be responsible for constructing the user interface for your application.
UIModels, Components and Displaying Views
In this section, you will learn how to create UI models for your app. The UI models will be responsible for holding the decoded data from the JSON response. You will also learn how to create components for your app, which will be responsible for displaying views on the screen.
Navigation and Actions
In this section, you will learn how to implement actions for your app. You will mainly learn about the navigation action, which allows the user to navigate to different screens. You will also learn how to create a dynamic navigation engine, which can be controlled from the server.
Implementing and Displaying Lists
In this section, you will learn how to implement list components using server driven UI. You will learn how to accommodate lists through your JSON template and how to render rows based on the provided data from the server.
Who is this course for?
Developers interested in learning about a new way of building dynamic iOS applications.
Developers who are interested in releasing their apps on multiple platforms instantly.
Developers who want to move to the senior role by learning advanced techniques for app development.
I had so much fun in creating this course, I consider this to be one of my best courses. Thank you so much for your continuous support. Hope you enjoy the course.
Thank you so much for your continuous support. I hope you enjoy the course and when you publish your iOS app, implemented using the principles of server driven UI then contact me with a link to your app. I would be more than happy to download your app.
Thanks,
Azam
Who this course is for:
- Beginner iOS developers curious about server driven UI in iOS
- Intermediate and advanced developers looking to increase their knowledge about new architecture
Instructor
My name is Mohammad Azam and I have been programming in iOS for the last 10+ years. Currently, I am teaching Full Stack Development at DigitalCrafts. Before joining DigitalCrafts I worked as a lead mobile developer for many large companies including Schlumberger, Baker Hughes, AIG and Valic. Currently, I am a senior developer at Blinds Dot Com, a Home Depot company. Before iPhone development I was leading projects in Microsoft ASP technology. I was also awarded the Microsoft MVP award five years in a row due to my contributions in the community.
I have also published several of my personal apps to the App Store including Vegetable Tree which was featured by Apple as the most beautiful gardening app on the App Store. I am a frequent speaker at local and national conferences and have authored many articles for many different development magazines.