Image
Mac and iOS Development

Well, we're not in Redmond anymore.

Several years ago, when Objective-C ruled the Apple eco-system, I had a play with XCode and Apple development. I didn't like it much. Too complicated, too many brackets to have to get precisely positioned correctly. Fast forward and we have a much more civilised programming language in SWIFT, so I threw together a couple of iOS/UIKit apps for my own pleasure. Ok, autolayout was far from straight forward, but the apps worked. Then I stopped again due to work pressures.

Now retirement has it's hold on me and the choice is between doing the gardening and having another go at Apple app development. Not really a contest, that one. With SwiftUI on the scene, Apple development is rapidly becoming easier and a lot of the complexity of Objective-C and storyboards has been abstracted away (and replaced with different complexities). So, time to have another go.

Training: Firstly, a call out to a truly AWESOME iOS course from Sean Allen. For such a long time I've had the basics of creating an iOS app but, having learnt from online courses where the programs you write are entirely trivial, approaching a larger project is a bit scary. It's all the bits they don't teach you, like proper project organisation, proper componentising of the app and taking a clean design and converting it to clean code. Sean does that in bucket loads.

Apps and Frameworks
Apps

Apps and frameworks?

It's fair to say that I'm picking at app development. It's a vast subject and, at this early stage, I don't think it makes much sense to pick a specific direction to go in. So I'm approaching the learning curve by creating a number of apps to illustrate specific learning challenges. These are the results of this process. There are simple apps and there are quite complex apps as well as frameworks.

The code is mainly related to using SwiftUI as the user interface and all of the code is Swift. No Objective-C here!

Mac Outliner

Managing projects can be as simple as a To-Do list or as complexas a multi-phase project requiring advanced project planning tools. There is, however, that middle ground where one tool is too simple and the other far too complex. My middle ground has.always been an outliner. Sadly, there is no decent Mac tool for this, so I wrote my own.

read more...

Mac Template Book

Having had a play with Mac development, it quickly became clear that the resources available on the web to learn were spread far and wide and much of the information related to AppKit rather than SwiftUI

So, I decided to create a template app using as much SwiftUI as I could and document the process.

read more...

RC Flight Logging

If you fly a remote controlled aircraft, then the CAA require that you keep a log of what you flew and when. There are a number of rules to follow and a lot of data to collect. This app attempts to simplify the whole process. It also represents my most complex app to date.

read more...

RC Flight Logging V2

I wrote a fairly complex App for logging your flights if you fly remote control aircraft. It was a very good exercise and I learnt a lot. This is the V2 version in which I try to simplify the code and enhance the UI.

read more...

Utility Views

I finally got over the idea of copy and pasting source code between projects when all I needed was a simple view that I had used before. It's not something I did in my windows days and it's not something I want to start doing in Apple development.

read more...

Utility Classes

As with Views, there are classes that can be made generic and shared between applications. The Utility Classes xcFramework has been created specifically for that purpose. It is my hope that I can replace some of the third party libraries i have used with simpler, home grown, variants.

read more...

PDF Tools

I needed the ability to produce reports and, frankly, I found nothingon the web that would make it particularly easy. So the only logical solution was to write my own PDF generator.

read more...

Dev Tools

I have developer tasks that I perform frequently and some thatI only perform occasionally. It's the occasional ones that give me the most grief as I have to re-learn or find the right over and over.

read more...

Management Standards

There are books of management standards. Very expensive books and very big books. Delving in to formal standards for good management practice is not a trivial undertaking. This app seeks to make it easier to navigate those standards and focus on the ones that are relevant to your job role...

read more...

On this day - my first Mac app.

Developing Mac applications is complicated and the documentation available. if sparse and difficult to penetrate for the new developer. Very little of my Windows experience applies to the Mac and, while I know what i want to do, knowing how to do it is so much more difficult. Step up Ray Wenderlich and their excelent Mac development book...

read more...

On This Day - iOS variant

Having built a Mac application to display events, births and deaths on a specific day in history, it seemed only polite to use the API to build an iOS equivalent program...

read more...

MacWasher - Email spam scanning

If you've been plagued with Spam then you may have come across MailWasher from FireTrust. If not, you should have! Unfortunately, they don't do a Mac version, but they do a mobile version...

read more...

Mac Development Book

As part of my learning curve, I put together a 'book' of things I learn along the way. It's not exactly production ready, nor is it intended to be a commercial enterprise. Just a bit of fun while playing with the Mac. It's not SwiftUI either!

It concentrates on MacOS and UIKit development.

read more...

Markdown Deep Port

One of the many hurdles I faced with one of my Mac apps was that it needed to support Markdown for the formatting of text. For many years working on the PC, I used a package called MarkdownDeep, which is a C# package. So, it's a logical step to have a go at porting it to Swift...

read more...
Testimonials
Testimonials

Am I really any good?

Don't take my word for my abilities, take a look at other peoples opinions about me.