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?
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 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...
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...
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...
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...
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
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...
Am I really any good?
Don't take my word for my abilities, take a look at other peoples opinions about me.
One very quickly runs out of superlatives with Steve. He is the cleverest person I know. He is highly innovative, passionate regarding the proper maintenance of agreed standards and protocols and establishes excellent relationships with our clients.
Steve is a rare developer resource who is able to provide a good breakdown of technical solutions for all audiences to understand... Steve understands the importance of project deliverable's both from a client and business perspective and shows a personal pride in ensuring the delivery schedules are met.
I have worked closely with Steve for his time with us and long before we formed our company. His technical ability far out-performs anyone I have known or met in companies we have worked with like IBM/EDS/Cap Gemini
Steven showed a great deal of commitment and skill when he worked with me. His attention to detail, comprehensive documentation and well thought out code, using very impressive technical standards meant that it was always possible to rely on the solutions provided being top notch. Steven is an asset to any company, at any level - if I were able to, I'd love to work with him again.
I have had the pleasure of working with Steven for several years in my role as CTO. He his one to the most multi-disciplined technically skilled developers I have known but what sets him apart is his eye for, and attention to detail, particularly when considering the user experience. I would absolutely not hesitate in recommending Steven.