• Complain

Jacobs - Mastering MVVM With Swift: Updated for Xcode 9 and Swift 4

Here you can read online Jacobs - Mastering MVVM With Swift: Updated for Xcode 9 and Swift 4 full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2017, publisher: leanpub.com, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

No cover
  • Book:
    Mastering MVVM With Swift: Updated for Xcode 9 and Swift 4
  • Author:
  • Publisher:
    leanpub.com
  • Genre:
  • Year:
    2017
  • Rating:
    3 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Mastering MVVM With Swift: Updated for Xcode 9 and Swift 4: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Mastering MVVM With Swift: Updated for Xcode 9 and Swift 4" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Jacobs: author's other books


Who wrote Mastering MVVM With Swift: Updated for Xcode 9 and Swift 4? Find out the surname, the name of the author of the book and a list of all author's works by series.

Mastering MVVM With Swift: Updated for Xcode 9 and Swift 4 — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Mastering MVVM With Swift: Updated for Xcode 9 and Swift 4" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Mastering MVVM With Swift
Bart Jacobs

This book is for sale at http://leanpub.com/mastering-mvvm-with-swift

This version was published on 2017-07-18

This is a Leanpub book Leanpub empowers authors and publishers with - photo 1

* * * * *

This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do.

* * * * *

2017 Code Foundry BVBA
Table of Contents
Guide
Welcome

Welcome to Mastering MVVM With Swift. Im glad to see you here. In this book, you learn the ins and outs of the Model-View-ViewModel pattern. The goal of this book is to provide you with the ingredients you need to implement the Model-View-ViewModel pattern in your own projects.

Xcode 9 and Swift 4

This book uses Xcode 9 and Swift 4. Only the chapters about reactive programming stick with Xcode 9 and Swift 3. These chapters will be updated once RxSwift/RxCocoa officially support Swift 4. If you want to follow along, make sure you have Xcode 8 or 9 installed on your machine. Everything you learn in this book applies to both Swift 3 and Swift 4.

What Youll Learn

This book covers much more than the Model-View-ViewModel pattern. We start with an overview of the Model-View-ViewModel pattern and we compare it with the popular Model-View-Controller pattern, a pattern youre probably already familiar with.

In the remainder of the book, we refactor Cloudy, a weather application powered by the Model-View-Controller pattern. We refactor Cloudy to use the Model-View-ViewModel pattern instead. This will show you how to apply the Model-View-ViewModel pattern in a production application. The refactoring operation will show you exactly what needs to change to move from MVC to MVVM, highlighting the benefits and challenges that go with this migration.

Along the way, you learn what view models are, how to create them, and how to use them in view controllers. We further simplify the view controllers of the project using protocol-oriented programming. Protocols and MVVM work very well together.

Later in the book, we write unit tests for the view models we created. One of the key benefits of the Model-View-ViewModel pattern is improved testability and thats something I want to show you first-hand. Writing unit tests for view models is really easy.

The Model-View-ViewModel pattern really shines with the help of bindings. I first show you how to create a custom bindings solution. This is an important step as it will show you how the Model-View-ViewModel pattern and bindings work under the hood.

Later in the book, we take it a step further by taking advantage of RxSwift and RxCocoa. You dont need to be familiar with reactive programming to understand these chapters. We primarily focus on the Model-View-ViewModel pattern and how it plays together with bindings. The Model-View-ViewModel pattern works with any bindings solution.

We end this book with a quick recap of what we gained from using the Model-View-ViewModel pattern instead of the Model-View-Controller pattern. The changes we apply to Cloudy are pretty dramatic and Im sure youll appreciate the benefits the Model-View-ViewModel pattern has to offer.

This book covers a lot of ground, but Im here to guide you along the way. If you have any feedback or questions, reach out to me via email (bart@cocoacasts.com) or Twitter (@_bartjacobs). Im here to help.

How to Use This Book

If youd like to follow along, I recommend downloading the source files that come with this book. The chapters that include code each have a starter project and a finished project. This makes it easy to follow along or pick a random chapter from the book. Click here to download the source files for this book. If youre new to the Model-View-ViewModel pattern, then I recommend reading every chapter of the book.

Not everyone likes books. If you prefer video, then you may be interested in a video course in which I teach the Model-View-ViewModel pattern. The content is virtually identical. The only difference is that you can see how I refactor Notes using the Model-View-ViewModel pattern. You can find the video course on the Cocoacasts website.

1 Is MVC Dead

Model-View-Controller, or MVC for short, is a widely used design pattern for architecting software applications. Cocoa applications are centered around the Model-View-Controller pattern and many of Apples frameworks make heavy use of the Model-View-Controller pattern.

Last year, I was working on the next major release of Samsara, a meditation application Ive been developing for the past few years. The settings view is an important aspect of the application.

Samsaras Settings ViewFrom the perspective of the user the settings view is - photo 2Samsaras Settings View

From the perspective of the user, the settings view is nothing more than a collection of controls, labels, and buttons. Under the hood, however, lives a fat view controller responsible for managing the content of the table view and the data thats fed to the table view.

Table views are flexible and cleverly designed. A table view asks its data source for the data it needs to present and it delegates user interaction to its delegate. That makes them incredibly reusable. Unfortunately, the more the table view gains in complexity, the more unwieldy the data source becomes.

Table views are a fine example of the Model-View-Controller pattern in action. The model layer hands the data source (mostly a view controller) the data the view layer (the table view) needs to display. But table views also illustrate how the Model-View-Controller pattern can, and very often does, fall short. Before we take a closer look at the problem, Id like to take a brief look at the Model-View-Controller pattern. What is it, what makes it so popular, and, more importantly, what are its drawbacks?

What Is It?

The MVC pattern breaks an application up into three components or layers:

  • Model
  • View
  • Controller
Model

The model layer is responsible for the business logic of the application. It manages the application state. This also includes reading and writing data, persisting application state, and it may even include tasks related to data management, such as networking and data validation.

The M In MVCView The view layer has two important tasks presenting data to - photo 3The M In MVC
View

The view layer has two important tasks:

  • presenting data to the user
  • handling user interaction

A core principle of the MVC pattern is the view layers ignorance with respect to the model layer. Views are dumb objects. They only know how to present data to the user. They dont know or understand what theyre presenting. This makes them flexible and easy to reuse.

The V In MVCController The view layer and the model layer are glued together by - photo 4The V In MVC
Controller

The view layer and the model layer are glued together by one or more controllers. In an iOS application, that glue is a view controller, an instance of the

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Mastering MVVM With Swift: Updated for Xcode 9 and Swift 4»

Look at similar books to Mastering MVVM With Swift: Updated for Xcode 9 and Swift 4. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Mastering MVVM With Swift: Updated for Xcode 9 and Swift 4»

Discussion, reviews of the book Mastering MVVM With Swift: Updated for Xcode 9 and Swift 4 and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.