Tags

App Design

  • Jun 8, 2019

    First impressions of SwiftUI

    This article will look at how SwiftUI's approach to declarative views compares to CwlViews, why the two approaches differ and what Apple changed to make this possible. I'll end with some thoughts about how this will affect macOS and iOS development.

    app designcocoaswiftui

    Read article

  • May 3, 2019

    Declarative Views

    In this article, I'll look at the the biggest problem with non-declarative views and how frameworks have slowly become more declarative, over time. I'll take a guess at what approach a declarative view framework from Apple might use – although keep in mind, I have zero insider knowledge and there's only a month before WWDC proves how wrong I am.

    app designcocoa

    Read article

  • Apr 28, 2019

    Introducing CwlViews

    CwlViews is a library that offers declarative construction for all common iOS and macOS view and application objects. The result hides many of the busywork tasks that consume much of Cocoa application programming, leaving behind a highly concise, declaratively constructed, view-state driven, reactively connected experience.

    app designreactive programmingcocoa

    Read article

  • Jan 20, 2018

    Model-View-Controller without the Controller

    The upcoming CwlViews library offers a syntax for constructing views that has a profound effect on the Cocoa applications, making them naturally 'unidirectional' and eliminating the need for `UIViewController` subclasses. In this article, I look at what the Cocoa application design pattern becomes if we take away the need for a controller.

    cocoaviewsapp design

    Read article

  • Nov 8, 2017

    View-state driven applications

    In this article, I'll look at View-state; a frequently ignored trait in typical MVC programs. I'll explore how treating View-state as a Model can lead to simpler navigation transitions, better debug logging, easier state restoration and tricks like time-travel.

    app design

    Read article

  • Oct 20, 2017

    The worst possible application

    In an effort to explain what effects application design patterns have on code, I deliberately write an application using the worst possible application design pattern, in the hope that obvious mistakes will reveal the benefits of using better patterns.

    app design

    Read article

  • Jun 22, 2017

    Statements, messages and reducers

    I show how to structure programs around three tiers of computational units – statements, messages and reducers – and talk about the general problem of containing and isolating state that this restructuring aims to address.

    app designfundamentals

    Read article

  • Feb 28, 2017

    Looking at Model-View-Controller in Cocoa

    In this article, I’ll look at a little theory and history behind the primary application design pattern used in Cocoa. I’ll discuss the key shortcoming of Cocoa’s Model-View-Controller approach, Apple’s aborted efforts to address this shortcoming and wonder from where the next major improvements will come.

    cocoaapp design

    Read article