From WordPress to Hugo Apr 29, 2020 If you’ve visited this site in the past, you’ve probably noticed a change. I recently changed my blogging platform from WordPress to Hugo. Hugo is static site generator. I also changed my theme. Why? I was never really satisfied with the performance of my WordPress site. Combine that with the fact that my site kept going down every month, I decided that it was time to do something and be more in control. ...
A Tale of 2 Steve Jobses Aug 23, 2019 Believe or not, I just got around to watching the 2 Steve Jobs movies that came out a few years ago: Steve Jobs, starring Michael Fassbender, and Jobs, starring Ashton Kutcher I’ve held off watching them because I knew there would be a lot of inaccuracies. I grew up with Steve Jobs. I followed him. I didn’t want to see him distorted the way Hollywood does. I actually liked Jobs. ...
Swift UI & App Architecture: A New Approach Required Aug 04, 2019 With SwiftUI, everything has changed. As Brent Simmons said, it’s the end of the NeXT era and the beginning of the Swift era. With the coming of SwiftUI, most of our app architectures are no longer valid (or at least parts of them). They need to be adjusted. MVC is certainly out. In fact, even controllers seem to be out. From Apple’s content, it seems all we have is models and views, and that’s true. ...
Two More Examples of Clean Architecture Apr 01, 2017 I recently found two more examples of Clean Architecture. The first one is called CosyHome and is an example iOS application for a home heating system developed using Clean Architecture and developed with Acceptance Test Driven Development (ATDD) using Fitnesse. Fitnesse is something I’d like to dive more into and could be a future post. Let me know if you’re interested. You can find CosyHome here. The other example is CleanNote that applies Clean Architecture to an iOS and Mac application. ...
The Clean Architecture: An Example Jan 29, 2017 Today, I’d like to take an example iOS app written with an MVC architecture and show you what the example would be with a Clean Swift architecture. The example I’ve chosen to use is the Quiz app from chapter 1 of the 3rd edition of iOS Programming: The Big Nerd Ranch Guide. The Quiz is a simple app that is like flash cards. It looks like this: ...
The Clean Architecture: An Introduction Dec 09, 2016 In the last post, I talked about various architectures used as alternatives to MVC, in a attempt to solve MVCs problems, such as Massive View Controller. In this post, I would like to introduce you to another architecture, which seems to me to be the best starting point for your app’s architecture: the Clean Architecture. I think I first ran into the Clean Architecture in one of Uncle Bob’s presentations on YouTube. ...
Moving Towards The Clean Architecture for Apple Development Nov 30, 2016 In the last post, I talked about MVC, its problems, and how it could be done right. Various architectures have emerged to try to address the deficiencies of MVC. Before I talk about the Clean architecture, I’d like to talk about some of them. Alternative Architectures to MVC Up front, I don’t have a lot of experience with these, but I have studied them and I believe they are a step in the right direction. ...
Model View Controller: Problems and Solutions Nov 22, 2016 Model View Controller or MVC is the application architecture used by default for applications on all Apple platforms. Most of the tools, frameworks, and docs from Apple all talk about it and support it. In MVC, objects are assigned 1 of 3 roles: Model - objects that encapsulate and manage the data the application works with (this includes persistence). The data typically represents things in the real world like an employee, hardware part, or a picture that is being drawn. ...
5 Ways to Avoid Force Unwrapping Nov 16, 2016 Someone on the reddit iOS Programming group asked “What are the mistakes generally done by iOS developers while coding in Swift?”A lot of comments were about using force unwrapping on optionals. Comments such as: Force unwrapping everything Using pyramids of if-let as opposed to guard statements var firstName: String! ugh Overuse of force unwrapped optionals. I cringe when I see that especially when a simple one-liner guard statement would make the code a ton safer. ...
Do You Find The Whole Planning Process Painful? Nov 09, 2016 A thread in the AskPrograming forum on reddit started with this question and I thought I would share my thoughts on planning and up-front design. Basically, the originator of the thread is expressing his dislike of planning before coding, but thinks it’s a good idea because they’ve either been told that or seen others do it. They also expresses dislike for planning tools and wonders if there’s a better way. Basically, they want to know how do you plan and how do you break up a project into tasks that you need to do. ...