SwiftUI And MVVM. Adding MVVM into a sample project.
- Only basic experience required
Learn From One Of The 1st iOS Developers In The World
Our instructor Matt, has 13 years of experience in iOS and created the world's first iPhone, iPad and Apple Watch apps. Now, he dedicates his time to recording courses for iOSBFree (pronounced "iOS Be Free").
In This Course
1. This course is free. I hope that it helps to continue the discussions on architecture with the new realise of SwiftUI, which is using a new type of programming paradigm (known as Reactive Programming). We discuss MVVM and architectural design principles such as layered architecture.
2. We introduce the MVVM architectural design pattern into a sample project using a really simple approach that only takes a few minutes.
3. We focus on what's known as having a layered architecture. A layered architecture is when you separate the responsibilities into layers that sit on top of each other. As an example, we could have an application with 3 layers. Layer 1 (the lowest layer) could be the networking layer, layer 2 would sit on top consisting of our business logic and ViewModels and finally layer 3 (the top layer) would only display UI and is known as the presentation layer. The layers communicate with each other but the information passes between layers and so Layer 1 would not communicate to Layer 3 directly without passing the communication to Layer 2.
The alternative to a layered architecture is known as 'spaghetti code', which you may be familiar with. Spaghetti code doesn't have much of a structure and individual classes seem to talk to each other on an individual to individual basis. Also, each file type isn't reduced to having just one Single Responsibility (my advice: don't write a class that does more than one thing!). With spaghetti code, the classes and structs tend to do a lot of things.
Tip: Avoid writing spaghetti code because it is untidy, harder to read, lacks structure and ultimately makes it more difficult (and more expensive) to maintain.
• Quickly add MVVM to an existing project
• Understand the architecture of the MVVM design pattern
• To evaluate someone else's project, code and code-structure
Sample Code Is Always Included and attached to each video. You can download the same project used in each episode of the course.
What Is SwiftUI?
SwiftUI is a newly released UI Framework introduced to iOS. It aims to solve a lot of problems with apps, such as running on all platforms, reducing bugs, improving stability and bringing more developers to iOS - because it's EASIER to write apps!
Learning SwiftUI is an absolute MUST for any iOS developer looking to develop a career over the next 5 years.
This Course Is Free
This course is free. We aim to publish as many short courses as we can to help new iOS Developers apply for jobs in iOS and enter a high paying profession. We want those developers to write great apps that are robust, work correctly, and are maintainable. By supplying this information for free we hope we can reach as many people studying in the pandemic as we can.
Our Service (iOSBFree Ltd)
We are a unique career-building service sharing over 13 years of successful experience shaping the iOS industry into what it is today. Our unique information, point-of-view and service can be utilised to build highly successful and profitable careers in iOS.
A Career In iOS
iOS developers are the most sought after developers in the world! They can earn over £100,000 per year, work remotely and B in high demand for their skills! Subscribe to our YouTube channel and let us reveal all our insider secrets completely for free.
What We Teach
Career building, CV writing, interviewing skills, industry secrets, industry stories, real-life experience, iOS fundamentals, ARC memory management, Swift, architecture and best engineering practices.
Please show your support by enrolling in our course!
Check out our Instructor profile (just briefly) and glance over Matt's incredible unparalleled experience. After 13 years of specialising in iOS, he created a company helping people build their own successful and profitable careers in iOS too.
Our unique information cannot be found anywhere else on any platform. We not only teach code, syntax and architecture but we provide tried & tested strategies to BOOST your career forwards and build a better life!
Want To Learn More Topics?
Please send us an email with the topic you would like to learn in a swift playground and we will happily record, edit and publish it for you. Absolutely for free. Simply email community@iOSBFree.com with the subject heading, "Topic I Want To Learn".
First In The World
Not only is our instructor one of the first iOS developers in the world, but our service is also the first of its kind in the world!
iOSBFree is a truly unique one-of-a-kind service. There is no single other service offering Matt’s level of experience in any other coding course, software engineering tutorial, or career-building service anywhere in the world.
More From iOSBFree
• Download Our FREE CV Template
• Download Our Career BOOSTER Pack
• Enrol In FREE Online Courses (iOS & Swift)
• Read Our Blog
The iOSBFree team.
Build a profitable iOS career with iOSBFree!
Who this course is for:
- Juniors who want to learn - for free :)
WORLDS FIRST IOS DEVELOPER
Our instructor Matt..
- Is one of the worlds first iOS developers
- Has 14 years experience specialising in iOS
- Created the worlds first iPhone, iPad and Apple Watch apps
- Was invited to Apple Headquarters to work on a secret project
- Is the developer behind the 10 billionth downloaded app
- Earned 6 figures as a consultant
- Has generated millions in revenue for his clients
- Led many teams
- Helped direct new companies with their mobile development
I provide free step-by-step mini courses (1 hour) to learn SwiftUI whilst also teaching architecture.
I record these courses to provide a little direction with how we structure our SwiftUI projects. There are many amazing SwiftUI tutorials and sample code available on YouTube, Udemy and the Apple developer portal, but they mostly miss some key points in basic architecture. My aim is to help teach students on Udemy some best practices, how to analyse projects, how to analyse architecture
- Learn SwiftUI
- Layered Architecture
- Code Review techniques
- How to examine code
- Memory management
How To Write High Quality Code
My aim is to help teach students on Udemy some best practices, how to analyse projects, how to analyse architecture and how to write maintainable apps - your career will benefit from it!
- Layered Architecture - (Networking, Data and Presentation Layers)
- KISS - always write simple solutions
- Single Responsibility - types should only do one thing
- Readability - code should be understandable by juniors, mid and senior developers
- Maintenance - ensure code is not constantly re-written or edited
- Never connect systems that shouldn’t be connected
- Cover every error scenario - don’t think of errors as an edge case
- Edge cases are equally as important as success cases
- Never create an instance of FatalError()
What Is High Quality Code?
Code that is readable by everyone = all levels of developers
Solutions that are simple in nature = less moving parts = less potential problems
SwiftUI Is The Future
Prepare for the future and learn SwiftUI. Apps are buggy, crash too often and developers are having to constantly re-write code. Apple are focussing on more stability for the future. SwiftUI together with the Swift language are great tools to write simple and safe solutions. SwiftUI also uses the Reactive Programming paradigm to create solutions.
It’s time to learn SwiftUI.
Great Projects = Understanding Architecture
You wouldn’t trust a brick layer to build a sky scraper and perhaps you shouldn’t trust someone who only writes code to build an app. We need more. We need to understand architecture. We are engineers constructing our solutions using thought and structure - we call this architecture.
- Layered Architecture
- Never connect systems that shouldn’t be connected
- Single Responsibility
Let’s build a community of great iOS developers!
We will keep uploading FREE mini courses. Courses that are short and easy to finish.
Please keep leaving reviews outlining what concepts you want to learn and we'll keep publishing free courses built just for you.