Kickstart your Game Development Journey Today!

It's been almost a year since the original launch of our "iOS / OSX Game Developement in Swift" course, it started at Swift 1.0 and has now made it right through to Swift 2.2 and the addition of tvOS and GameplayKit, wow what a ride.

If you are still on the fence about where to start your game development journey then I have an answer for you. This "Pay what you want" bundle that contains the above mentioned course plus many other fantastic game development videos (over 108 hours in total!).

Available for a limited time only and 10% of all proceeds go to charity, there is no reason not to take part in this incredible experience.

Let's do this!

Want to learn how to include in-app purchases in your apps?

By far the most requested topic on my iOS / OSX game development - start to store course is how to include in-app purchases.

I've taken the feedback and requests and turned them in to a whole new course with 4 super Xcode projects, 2 downloadable flowcharts, 1 quiz and over 2 hours of video explaining everything you need to know from beginner to pro.

Use the below link to get a 50% discount for a limited time!


How to Improve your Targeted Marketing

If you were to throw $100 at google or facebook ads using their targeting algorithms and manage to make $120 in product sales, that's good right? You're making more than you are spending thus a positive ROI (Return on Investment).

Well, I don't necessarily agree with that. I often hear entrepreneurs throwing massive dollars at partially targeted marketing and sometimes they make a loss, sometimes they do ok and sometimes the risk really pays off. What if you were to put a little more brain power to the process and stretch your marketing potential a little further?

Find out exact instructions for a proven method within.

Read More

Growth is on the Horizon

It's been almost one full year since I last made a post on this website.

It has been one hell of a busy year with the success of my iOS / OSX game development course and also being a co-author of the amazing iOS / tvOS games by tutorials book.

Right now, my focus is bringing more structured updates to existing content and more frequent release of new content, including this blog. Expect a whole heap of new video courses and a website revamp over the following weeks.

Stay tuned for content and as always I look forward to your feedback!

Would you like to make a game?

I wanted to give you a heads up on my latest project, I've watched a lot of video tutorials (in fact, it's my favourite way to learn something new) and I've been somewhat disappointed in the quality of the content and the presentation value.

It's easy to make a simple prototype app to teach people, you can do that within a days work, it's lazy but people still love it because they've never come to expect better.

I don't just want to teach people how to write abstract code, I want to teach people how to build full featured products using best practice coding principles. So 4 months ago I set out on the journey of creating a SpriteKit course that includes everything I wanted to know when I started working with SpriteKit over a year ago.

This course helps you at every step in the process to become a great game developer, it's currently at half price so get it quick. I hope you enjoy and please leave feedback. I'm happy to update the course as needed.

Just as a quick heads up, if you can wait this course will soon be available on the CartoonSmart subscription platform. This means you wouldn't just get access to this course, you would have access to many great courses!

"So I want to start iOS Development... what language should I choose?"

This is quite possibly the most common question i've seen in the months since the announcement of Swift. New developers used to have to endure Objective-C through to competency but now there is choice. So which choice is the right one? Objective-C or Swift?

What they say

The internet as a whole have very strong opinions on this subject, what I find interesting is that most people will still recommend that you start with Objective-C before learning Swift. Their reasoning seems mostly centred around "You learn the roots of iOS development and there are more resources available", I'm not sure I buy that argument at all though.

Objective-C may have more tutorials etc from previous iOS versions but when you look for iOS8 tutorials or guides almost all of them are written in Swift, even big iOS training blogs and companies have abandoned all Objective-C based courses to focus entirely on Swift. The Swift information available is quickly growing, it's rare that StackOverflow doesn't have a solution to a problem already and the rate at which resources are getting pumped out is incredible.

The other common argument is "It doesn't matter which language you choose, it's the frameworks that take most of the time to learn and what you learn is interchangeable". I do agree with this statement to an extent. It's important to focus on what you want to create and the language is really just what is best to perform the task, make decisions based on your objectives. That does make the language important when there is a clear winner regardless of the type of app.

What I Say

I've been using Objective-C for years and it's always been a love / hate relationship. There are things it does really well and a handful of big stumbling points but overall it felt good to work with. If I was to start iOS development today without any prior knowledge of the environment, I would definitely have to pick Swift though for the following reasons:

  • Resources and Training : As mentioned above, there is an amazing amount of resources available already on Swift and on iOS8 specifically there is more Swift content than Objective-C.
  • Ease of Learning : Another common myth spread over the internet is that both languages are equally difficult to learn. I disagree, each language has complexities but Objective-C is complex due to years of legacy design issues which come from building a language on top of an existing language. Simple things such as declaring variables can be done so many ways and have so many implications on memory management. Swift is logical and structured which makes even complex concepts much easier to learn than illogical problems based on legacy issues. Features such as the Swift Playground also make it really easy to prototype ideas and learn code quicker.
  • Robustness and Safety : You've seen the slides comparing speed and resource management before, I don't need to repeat them but it's definitely a strong consideration. If you could shave seconds off of loading screens at the point of initial design of your app, wouldn't you?
  • Time Management : Aside from most likely being able to get up and running faster you should also be able to develop faster with less wordy syntax and more optimised ways to code.
  • Potential to Grow : Objective-C is really at the ceiling of it's potential, would you really want to sink your time in to learning something which won't have the new powerful languages features the other language will have in one or two WWDCs time?
  • Eventually the String will be Cut : As it is, you can learn any framework in both Objective-C and Swift, how long do you think it will be before a new and powerful framework becomes available which is only in Swift? For all we know right now WatchKit may be Swift only. This may sound radical but the last thing Apple would want is resource hungry apps on this minimal resource device, by using a more compact and type safe language they can enforce a certain level of quality which they couldn't previously.
  • Stability : As of writing this Xcode is still going through some growing pains as it adapts for the future. Both Objective-C and Swift are at a point where they are fairly stable though, while at the beginning Objective-C was the clear winner that is no longer the case.
  • Apple Care about Training : Objective-C was always very hardcore developer focused which meant the learning curve was steep. With Swift Apple were quick to create easy to digest manuals and even keep a blog where they have started adding video tutorials.
  • Future Intension : If you are planning to learn Objective-C first then moving to Swift then this won't be an easy transition. As found by a lot of developers converting apps from Objective-C to Swift, if you do a straight conversion you're going to have a bad app. You need to have a good understanding on Swift paradigms and design patterns in order to write good apps in Swift. Knowing Objective-C is actually a disadvantage when it comes to writing good Swift.

What reasons should you be cautious about Swift for though?

  • Rapid Development : Depending on your personality this might be a pro or a con, Swift is young and not quite at maturity, it's likely parts of the language will continue to change and new features will be added fairly frequently. With Objective-C no major changes happened between major versions of iOS but with Swift it's likely to change a lot. If you can keep up, this might not be a bad thing.
  • Legacy Software : All the above points are null and void if you are planning to be hired or have been hired by a company that want to maintain a pre-iOS8 app make in Objective-C or an Objective-C library.

Why not learn both?

As suggested above there are different design patterns and paradigms in place in both languages and investing time in learning both may lead to a difficult and confusing learning curve which in the end will leave you a jack of all trades but master of none.

If you are an existing iOS developer then it makes sense to keep up on development in Objective-C and keep using it to stay sharp. Objective-C developer jobs are likely to be around for a while as legacy apps are updated, there are millions of them out there and not all will adopt new technology.

Final Thought

Don't lose sight of the big picture, the product is the important part but I honestly believe moving in to the future that Swift will be the better engine to ensure the longevity of your product and help it grow technically.

The longer existing developers wait to embrace Swift, the further behind they will be when the inevitable forced transition occurs (forced via required features not via Apple). I look forward to seeing how the language develops over the next few years, you can jumpstart your Swift immersion by subscribing to my newsletter at swift-coder.info.