Thursday, August 13, 2015

Best Mac for app development: getting an Apple Mac to create iPhone and iPad apps


Which Apple Mac should you get to begin app development? With Xcode 6 and Apple Swift ready to hit the mainstream, it's going to get a lot easier to developer iPhone and iPad apps. This is the Mac you should get.

Best Mac for Developers: the iMac 27-inch
Many Mac owners are interested in developing their own apps, and Apple makes it incredibly easy to create and build (and sell) apps for both the Mac OS X and iOS platform. In this feature we look at which Mac users should buy to develop apps.
Apple is gearing up to release a whole new programing language called Swift, which will make it even easier to develop apps for both Mac, iPad and iPhone. Thanks to Swift and the popularity of the Mac platform we could be looking at a fresh new wave of exciting app development. If you're keen on learning app development this article will also give you some pointers as to what you need to develop apps, and what features are less relevant.

Best Apple Mac for app development: balancing power

Choosing the right Mac for development can be a challenge. Apple creates a whole range of Mac laptops and desktop computers. All Apple Macs are great computers but some are better suited to app development than others.
Apple has recently refreshed most of its Mac range, and introduced lower prices for its MacBook and iMac computers.
With this in mind we’ve created this guide to buying the right Mac for app development. In this article we take a look at what a computer requires to be truly great for creating apps, and the features you pay more for. We then look closely at the range of Mac computers available, and the custom built to order options available that make sense for developers.
Finally we will look at some of the accessories, software and learning resources available that will help keen developers get started.
Developing apps on a Mac: how do you create a program on a Mac
Developing apps on a Mac
Apple goes to great lengths to make it easy to develop apps (or small programs) for both Mac OS X and iOS. The development environment used to create apps for both is called Xcode, and this is a free download from the Mac App Store.
With Xcode you can build apps using two programming languages, the old Objective-C language, and the new Swift programming language.
The latest edition is called Xcode 6. At the time of writing Xcode 6 is currently only available in Beta form to developers signed up to the Apple Developer Connection. It is expected to be released alongside the Mac OS X 10.10 Yosemite update in September. Xcode 5 is available for free from the App Store.
Uploading and selling Apps via iTunes requires a yearly subscription to the Apple Developer connection, but it's good value at $99 per year (approx £60). You only need this to upload and distribute apps via the Mac and iOS App Stores however, you don't need to pay this fee just to test and create apps.
You do need a Mac to develop apps for the iPhone and iPad. You can't code the programs using a Windows or Linux PC. But once you've got a Mac, any current model, you are pretty much good to start.

Developing apps on a Mac: how much power do you need?

Software development scales up depending on the size and complexity of the program you are making. Macs vary in power from the entry-level MacBook Air right up to the new Mac Pro.
If all you want to do is start to learn development and get a regular app onto the app store then you can use any Mac you want.
If you're an independent developer, creating a small iOS app then you can use just about any Mac (it doesn't even need to be a particularly recent model). Unlike creating video or music; creating code doesn't use up huge amounts of hard drive space. And if you're creating iOS apps you don't need a lightning fast processor, or a high-end graphics card.
In short: any Mac will probably do. So then it becomes a question of how much money you want to spend, and which will provide the best coding environment.

Apple’s Mac range for developers: what do you really need to program

Because coding is a high-end and complicated task, you may be tempted to veer towards Apple's pro line-up. You don't need the fast innards of the Mac Pro or MacBook Pro to develop apps.
What is useful for software development, however, is screen estate. Coding is a complex task that sometimes requires intense focus, but more often it requires research and tracking. Coders often need to have several programs and windows open at once: the Xcode developer environment, web browser, and perhaps a separate text editor, SQL Database editor, and much more. Development seems to be one of a task that requires everything Mac OS X has to offer.
So you need a Mac with a big screen, or you need to attach a big screen to your Mac. With this in mind we're going to rule out all of Apple's MacBook range. Let’s be clear: if you value a notebook and portability is important to you, then a MacBook Air or MacBook Pro with Retina display will do just fine for app development, and you can attach a monitor to these models for larger screen estate. But with a MacBook Air or Pro you pay a lot extra for a small screen that will feel cramped when programming.

Apple’s Mac range for developers: Mac mini is best value

Mac Mini
The Mac Pro is overkill for most developers so the choice is between an iMac or Mac mini with separate display.
At £499 the Mac mini is the best value Mac, and it offers more than enough power and storage for app development. What it doesn't come with is a display, so you'll need to source one separately.
Normally the idea with the Mac mini is that you attach an old display, keyboard and mouse and it represents top-flight Apple computing at a fraction of the cost. However, for app development we suggest that you get a large display, so you might want to consider Apple's 27-inch Thunderbolt Display. Then again, at £899 you might want to shop around.
A good alternative would be this AOC Q2770PQU widescreen display. At around £425 it's half the price of the Apple Thunderbolt display, and has a 27-inch display with the same resolution of the Apple Thunderbolt display.
There is now a huge range of sub-£200 monitors that offer 27-inch displays. Some developers suggest picking up two 24-inch displays and placing them side-by-side.

Apple iMac: Best Mac for large-screen app development environment

If you are looking for a powerful Mac with a big display then Apple has you covered in the form of the iMac. You should get a model with a 27inch display, which starts at £1,449. It's not as cheap as the Mac mini but you do get a lot of extra for your money. The 27-inch iMac is a veritable powerhouse: a 3.2Ghz Intel i5 processor, 1TB hard drive, discrete NVIDIA graphics card with 1GB video memory, and of course that massive 27-inch IPS display. If you’re looking for a large-screen Mac that also has enough power for gaming then this is the one to go for.

Which Mac to get for App development?

We'd advise most new developers to go for the Mac mini with the AOC display. The Mac mini is a cheaper option than the iMac and the extra cash can be put towards software or training courses.
The 27-inch iMac is a better Apple Mac and you get a lot of extra features: such as the fast processor, large 1TB hard drive and NVIDIA graphics card. They're nice features, for sure, but they offer little towards developing apps. Mind you, if you’re also planning to use a Mac for gaming and general all purpose computing you might appreciate the extra power.

Apple Mac accessories and software for developers

Developers don't need as many accessories as other Mac users. A good Mac, a decent sized display and a good reference library and you're good to go. The only exception we'd make is to invest in a good backup system in case there are any problems. Apple's own Time Capsule is a great solution. Alternatively invest in a good USB external hard drive and use Apple's Time Machine software to perform regular backups.
There is also wealth of software that's good for developers. Here are some recommendations:
  • Acorn: A powerful image editor that's a fraction of the cost of Photoshop
  • BBEdit: Industry favourite text editor
  • CodeRunner: Great alternative to Xcode for light programming tasks.
  • Dev Color Picker: Makes getting colours out of programs and into your apps a breeze.
  • Dropbox: Great for syncing files for remote access.
  • Evernote: Perfect place to store programming notes.
  • Little Snapper: Ability the take detailed screen grabs of programs and websites.

App development for Mac: learning Xcode and Swift

Xcode 6 and Swift
If you are planning to start App development for Mac or iOS, then you will need to learn Apple’s new programming language Swift. There is a range of new courses becoming available, and you will be able to quickly get up and running with Swift.

How to learn Swift: What's the best way to learn Apple's programming language?



"A new language that lets everyone build amazing apps." That's how Apple is positioning Swift, but don’t expect to dive in today and be sending a Candy Crush clone to the App Store tomorrow. As with any language, spoken or coded, learning it takes both time and effort.
Help is at hand, though, with free and commercial resources covering the language in depth. Whatever your ability, you’ll find plenty here to advance your skills.
You'll be interested to hear that Swift 2 is coming. You can find out more about it in our Swift 2 complete guide, but we've got lots of resources to help you learn how to use Swift and Swift 2 here, too.

Getting started with Apple's Swift development language

Start at the source with Apple's dedicated Swift documentation. You don't need a Developer account to access the files or to download Xcode from the Mac App Store, so you can get started right away.
The Developer documentation includes sample code, links to reference material and, most useful for anyone switching from another language, videos from Swift's unveiling at 2014’s Worldwide Developers' Conference.
Apple’s official documentation should always be your first stop when learning anything new about the platform, its apps or the way that either operates under the hood.

Best Swift programming language books

Put your commute to good use by working your way though the Swift Programming Language Book (from the iBookstore). Originally published by Apple in summer 2014, it's been updated with Swift 2 as of 9 June 2015, and is a free download as long as you have an iBookstore account, download the file and you can read it on your Mac, iPad or iPhone.
It starts out that the most basic level, with every language course’s traditional ‘Hello, World’ jumping off point, before going on to explain the fundamentals like variables, arrays and conditions.
The opening tour will be enough for programmers with some existing experience elsewhere to familiarise themselves with the language, while the sections that follow go into more depth to give you all the mental tools you need to build your own apps. It’s packed with properly colour-hinted code, the index is comprehensive and the final third is an end to end examination of the language grammar. Combined, they make up a first class ongoing reference tool.
Put your downtime to good use by keeping a copy of the free Swift Programming Language Book on your iPad or iPhone.

Learn Swift on Udemy

Rob Percival is a Maths graduate from Cambridge University who describes himself as ‘a bit of a coding geek’ and whose webdev course was the most popular and reviewed course ever on Udemy. His Complete iOS 9 Developer Course on the same site looks like it’s heading the same way. Almost 20,000 students have enrolled on it at the point of writing, and with 255 reviews it’s clocked up an average score of 5/5.
Its 198 resources, most of which are videos and a few of which are text based, teach you how to program while walking you through the process of building 18 real world apps including clones of Instagram and Snapchat. If you run at the recommended pace you’ll complete the 28 hour course in six weeks, and also benefit from a year’s web hosting, an ebook showing you how to earn while learning to code, and 1000 graphical assets to use in your applications. No prior knowledge or experience is expected or required.
As with the lynda.com resources, Udemy courses are charged for. This one costs £30 at the time of writing.
With a 255 ratings giving this Udemy course close to top marks, the six week lesson plan is built around the process of building real applications.
There are other courses on Udemy worth checking out too if you're looking to learn Swift 2:

Learn Apple's Swift programming language quickly

If you need to get started with Swift as quickly as you can, check out lynda.com’sSwift Programming Language First Look course.
Since being published in September 2014, it’s clocked up close to 16,500 viewers in 122 countries and focuses on the 20% of the language that you’ll use most often. That means it’s concise and to the point, running to just one hour and 41 minutes, but it was published in September 2015 and hasn't been updated for Swift 2 yet.
Each of the resources mentioned above are free, but lynda.com charges between £14.95 a month and £229 a year depending on the level of service you want, and once you’ve paid you can access all of its courses, whatever the subject, alongside this series of Swift lessons. If you’re not sure whether you’d suit this kind of tutoring, try out a free preview account first.
lynda.com’s highly respected range of courses now includes options for learning Swift, organised according to ability.

Learn Swift on a budget

If the lynda.com and Udemy courses are too expensive, check out Tutsplus where you can buy its 3.5 hour course The Swift Programming Language for just $15 (£9.83) – less than a week’s-worth of lattes.
It’s broken down into 27 videos in five main areas covering an introduction, language constructs, object oriented programming, built-in types and a conclusion. The individual lessons are short enough to watch on a bus journey or between appointments, typically ranging from two to 13 minutes.
Tutsplus offers a short course in Swift programming for less than £10. If you’re not sure whether it’s the right language for you, this is a cost effective and low risk way to find out.

Read: Best Mac for app development

Swift podcasts

If all of this solo study is sending you stir crazy, sign up to a programming podcast.iDeveloper focuses entirely on iOS and OS X development, discussing tools and techniques, and offering tips and advice. If you’re serious about making some money from your work, it also concerns itself with the business side of selling your apps.
The back catalogue runs to 137 episodes, the oldest of which appeared in October 2010, but if you’re only interested in programmes broadcast since the dawn of the Swift era you’ll only need to wind back to June 2014 and its discussion of Apple’s Worldwide Developers’ Conference.
The content is chatty and engaging, but can get technical at times, so if you find it going above your head, hang in there and assimilate as much as you can – at least you’ll be getting familiar with terms and phrases used within the realm of programming.
You can preview individual episodes and read a synopsis of each one at the podcast homepage.

Learn Swift at iTunes U

Subscribe to the University of Plymouth’s Swift programming course through iTunes U and Associate Professor Nick Outram will teach you how to use the language in a series of practical videos that, rather than working through each function in turn, introduce them organically as they arise in the process of building real applications.
The lessons are fairly short and they’re rarely presented as formal lectures, which helps to keep them engaging, although they haven't yet been updated for Swift 2. Supporting written material is provided in the form of ebooks, and you can download the code used in the course from a Github repository linked through the course description on the iTunes Store.

iTunes U has a range of excellent Swift programming courses, including this one from the University of Portsmouth.