Aboutmatt.net

Blog, projects and et cetera..

What Is the JSLint of iOS Development?

Reading time: about 4 minutes

Feature image of a window sill being cleaned with sponge and rubber gloves.

Over in the JavaScript world many developers feel the benefit of opinionated linting tools like JSLint and JSHint. One of my questions early on was are there any equivalent tools for iOS developers? Specifically for Objective-C, but what about for Swift as well?

As well as that I was hoping to find something I could use something to enforce a style guides on my code, because I know most editors do a poor job of this task.

Do I Choose Swift or Objective-C for My iOS Application?

Reading time: about 3 minutes

Picture of a street sign juncation with lots of directions on it.

I’ve worked with programming languages that were still in their infancy. I’ve written about it. TypeScript turned out to be a really great language, but I spent more than half the time I worked in it at or below 1.0. Being on the bleeding edge was cool, but worn pretty tiny pretty quickly.

So it’s probably of no surprise to discover that all my current iOS development efforts have been focused on Objective-C.

An iOS & Apple Jargon Busting Sheet for Web Developers

Reading time: about 2 minutes

Picture of a Russian Cypher Wheel

It’s four in the morning. You’ve spent the last 12 hours pacing back and forth a hospital waiting room. Despite your best efforts the ground is still somehow sticky underfoot. The noise that the soles of your shoes make as your feet lift off the floor sends a stiff, uncomfortable and sweaty feeling down the back of your neck. You feel exhausted but the stress moving through you vains keeps you awake, keeps you alert. You’re anxiously waiting for news, anything that could help you understand this confusing and concerning situation you find yourself in. And then you hear the slow tapping rhythm of feet making their way through the hospital corridor. Making their way towards your waiting room.

It’s a doctor and they tell you it’s not good. I’m afraid it’s your worst fear. ‘We’ve done some ECGs, and they have confirmed our worst fear. It’s a ST elevated MI. I’m afraid we’ve caught it a bit late, our best people are currently in the middle of PCI. Oh, look at the time. I really must be getting back. Goodbye.’

Xcode; a Run Down of the Features of the iOS Integrated Development Environment

Reading time: about 12 minutes

Picture of a bird flying into a dawn sky

Slinging code is important. It’s the most important thing I do. I know that being aware and using the features of a good text editor or IDE makes me more productive, which in the end aids my overall goals. That is why I put a great deal of care in understanding and learning the ins and outs of tools that support me doing my work.

Whether it’s my text editor of choice (Sublime Text) or a development environment (Eclipse, Visual Studio). That is why in my journey to understand the iOS platform an important step is to learn about the tool that will assist me the most in that goal, Xcode.

An Introduction to the iOS Architecture for Web Developers

Reading time: about 12 minutes

The title of this blog post overlaid on a solid color background with vector graphic style spider webs running through it.

I’ve been doing web development for a few years. I had some desktop software experience prior to that. Recently I’ve had the idea that I might like to know how to make mobile applications. I’ve played around with Android in the past and found it interesting. But at the same time I though it would be good to mix things up and do something a bit different. So I’ve started to look into iOS and iPhone development instead.

Analysing the Quantity of Duplicated Code in Your Codebase

Reading time: about 26 minutes

Thing or something

There are a lot of great tools out there to help you analyse source code for patterns, bugs, issues…etc. Normally one might take the time to install SonarQube somewhere and let it do the heavy lifting, but sometimes you don’t have the time or resources to do that. In this post I will talk about some simple tools and techniques you can use to find dupl icate code in your code base.

Should I Store My Project Documentation in My Source Code Repository?

Reading time: about 10 minutes

Thing or something

There are some things you’ll often hear a programmer says, and others you will not. The majority will say, source control is good. But it’s not often you hears one say, documentation is good. That is my view. It is immensely important to the success of any software project. The question that interests me is where you keep your documentation? Should it be under some sort of revision control? If yes, should it be the same revision control system as your source code?

Understanding Technical Debt

Reading time: about 13 minutes

Thing or something

I’ve been aware of the debt metaphor for a few years now. When I heard of it at first it instantly clicked with me. I grew up on a farm and given my parents were self employed I thought about debt a lot. It inform my view on finances and now programming. I’ve been reading a lot about it over the last while to get a better understanding of the nuances of the metaphor. In this post I want to explain what it is and what I’ve learnt.

Choosing the Right Tool to Schedule Your Software Builds

Reading time: about 12 minutes

Thing or something

I love Task Scheduler and Cron. I think they are wonderful tools to help automate away repetitive tasks. I’m sure there are many manual tasks that you do, that I still do, which could be shifted off to those tools and would make your/my lives immensely better. However, I think it’s important to choice the right tool for the right job. If you are using these tools to manage your build system/build servers you have chosen the wrong tool. In this post I’ll explain why that is and what type of tools are the right ones for you.

How I Transformed a Grunt Build System

Reading time: about 7 minutes

Just F***ing Ship It has become the mantra for the modern age. In software you can refine that to “Contiuously F***ing Ship It” because of the trend toward Continuous Integration and SaaS software development. Given that, I believe a highly important and routinely ignored part of any healthy software project is a decent build system. The great thing about modern software development is there are many different options available to us. You aren’t just tied to make and other ancient tools. (Don’t get me wrong, make is a great tool, but so was CVS back in the day, times have moved on and so have project sizes and complexity.)