Mac For Development



  1. Mac App Development
  2. Mac Os App Development
  3. Mac Development For Windows

How fast does your MacBook need to be to comfortably code iOS apps with Xcode? Is a MacBook Pro from 2-3 years ago good enough to learn Swift programming? Let’s find out!

With Mac it's a bit easier to install and run open source apps. And everything is more polished. Although today with Windows PowerShell and Visual Studio Code, it's never been better to do web development on Windows. Like andren mentioned, it's more about which apps you prefer to use. The Mac mini hasn't had a significant update since 2018 - Apple simply doubled the standard storage in March 2020 - but the Mac mini is still an attractive package and we expect many developers. Huawei MateBook 13. For portability, performance and price, this is a brilliant all-rounder. Why programmers think Mac OS X is the best OS to use. Dmitri Zagidulin, a distributed systems engineer, sums up the change: 'Go to a tech conference or developer event. Build your future. Whether you’re just entering the workforce or you‘re an experienced developer or entrepreneur, take advantage of free resources to gain skills that help you succeed in Apple’s growing app economy, which provides millions of jobs in technology across the globe.

Here’s what we’ll get into:

  • The minimum/recommended system requirements for Xcode 11
  • Why you need – or don’t need – a fancy $3.000 MacBook Pro
  • Which second-hand Macs can run Xcode OK, and how you can find out

I’ve answered a lot of “Is my MacBook good enough for iOS development and/or Xcode?”-type questions on Quora. A few of the most popular models include:

  • The 3rd- and 4th-gen MacBook Pro, with 2.4+ GHz Intel Core i5, i7, i9 CPUs
  • The 2nd-gen MacBook Air, with the 1.4+ GHz Intel Core i5 CPUs
  • The 4th-generation iMac, with the 2.7+ GHz Intel Core i5 and i7 CPUs

These models aren’t the latest, that’s for sure. Are they good enough to code iOS apps? And what about learning how to code? We’ll find out in this article.

My Almost-Unbreakable 2013 MacBook Air

Mac App Development

Since 2009 I’ve coded more than 50 apps for iOS, Android and the mobile web. Most of those apps, including all apps I’ve created between 2013 and 2018, were built on a 13″ MacBook Air with 8 GB of RAM and a 1.3 GHz Intel i5 CPU.

My first MacBook was the gorgeous, then-new MacBook White unibody (2009), which I traded in for a faster but heavier MacBook Pro (2011), which I traded in for that nimble workhorse, the mighty MacBook Air (2013). In 2018 I upgraded to a tricked out 13″ MacBook Pro, with much better specs.

Frankly, that MacBook Air from 2013 felt more sturdy and capable than my current MacBook Pro. After 5 years of daily intenstive use, the MacBook Air’s battery is only through 50% of its max. cycle count. It’s still going strong after 7 hours on battery power.

In 2014, my trusty MacBook Air broke down on a beach in Thailand, 3 hours before a client deadline, with the next Apple Store 500 kilometer away. It turned out OK, of course. Guess what? My current MacBook Pro from 2018, its keyboard doesn’t even work OK, I’ve had sound recording glitches, and occasionally the T2 causes a kernel panic. Like many of us, I wish we had 2013-2015 MacBook Air’s and Pro’s with today’s specs. Oh, well…

Learn how to build iOS apps

Get started with iOS 14 and Swift 5

Sign up for my iOS development course, and learn how to build great iOS 14 apps with Swift 5 and Xcode 12.

That 100 Mhz i486 PC I Learned to Code With

When I was about 11 years old I taught myself to code in BASIC, on a 100 Mhz i486 PC that was given to me by friends. It had a luxurious 16 MB of RAM, initially only ran MS-DOS, and later ran Windows 3.1 and ’95.

A next upgrade came as a 400 Mhz AMD desktop, given again by friends, on which I ran a local EasyPHP webserver that I used to learn web development with PHP, MySQL and HTML/CSS. I coded a mod for Wolfenstein 3D on that machine, too.

Mac

We had no broadband internet at home back then, so I would download and print out coding tutorials at school. At the one library computer that had internet access, and I completed the tutorials at home. The source codes of turn-based web games, JavaScript tidbits and HTML page snippets were carried around on a 3.5″ floppy disk.

Later, when I started coding professionally around age 17, I finally bought my first laptop. My own! I still remember how happy I was. I got my first gig as a freelance coder: creating a PHP script that would aggregate RSS feeds, for which I earned about a hundred bucks. Those were the days!

Xcode, iOS, Swift and The MacBook Pro

The world is different today. Xcode simply doesn’t run on an i486 PC, and you can’t save your app’s source code on a 1.44 MB floppy disk anymore. Your Mac probably doesn’t have a CD drive, and you store your Swift code in a cloud-based Git repository somewhere.

Make no mistake: owning a MacBook is a luxury. Not because learning to code was harder 15 years ago, and not because computers were slower back then. It’s because kids these days learn Python programming on a $25 Raspberry Pi.

I recently had a conversation with a young aspiring coder, who complained he had no access to “decent” coding tutorials and mentoring, despite owning a MacBook Pro and having access to the internet. Among other things, I wrote the following:

You’re competing with a world of people that are smarter than you, and have better resources. You’re also competing against coders that have had it worse than you. They didn’t win despite adversity, but because of it. Do you give up? NO! You work harder. It’s the only thing you can do: work harder than the next person. When their conviction is wavering, you dig in your heels, you keep going, you persevere, and you’ll win.

Winning in this sense isn’t like winning a race, of course. You’re not competing with anyone else; you’re only really up against yourself. If you want to learn how to code, don’t dawdle over choosing a $3.000 or a $2.900 laptop. If anything, it’ll keep you from developing the grit you need to learn coding.

Great ideas can change the world, but only if they’re accompanied by deliberate action. Likewise, simply complaining about adversity isn’t going to create opportunities for growth – unless you take action. I leapfrogged my way from one hand-me-down computer to the next. I’m not saying you should too, but I do want to underscore how it helped me develop character.

If you want to learn how to code, welcome adversity. Be excellent because of it, or despite it, and never give up. Start coding today! Don’t wait until you’ve got all your ducks in a row.

Which MacBook is Fast Enough for Xcode 11?

The recommended system specs to run Xcode 11 are:

  • A Mac with macOS Catalina (10.15.2) for Xcode 11.5 or macOS Mojave (10.14.4) for Xcode 11.0 (see alternatives for PC here)
  • At least an Intel i5- or i7-equivalent CPU, so about 2.0 GHz should be enough
  • At least 8 GB of RAM, but 16 GB lets you run more apps at the same time
  • At least 256 GB disk storage, although 512 GB is more comfortable
  • You’ll need about 8 GB of disk space, but Xcode’s intermediate files can take up to 10-30 GB of extra disk space

Looking for a second-hand Mac? The following models should be fast enough for Xcode, but YMMV!

  • 4th-generation MacBook Pro (2016)
  • 3rd-generation Mac Mini (2014)
  • 2nd-generation MacBook Air (2017)
  • 5th-generation iMac (2015)

When you’re looking for a Mac or MacBook to purchase, make sure it runs the latest version of macOS. Xcode versions you can run are tied to macOS versions your hardware runs, and iOS versions you can build for are tied to Xcode versions. See how that works? This is especially true for SwiftUI, which is iOS 13.0 and up only. Make sure you can run the latest!

Pro tip: You can often find the latest macOS version a device model supports on their Wikipedia page (see above links, scroll down to Supported macOS releases). You can then cross-reference that with Xcode’s minimum OS requirements (see here, scroll to min macOS to run), and see which iOS versions you’ll be able to run.

Further Reading

Awesome! We’ve discussed what you need to run Xcode on your Mac. You might not need as much as you think you do. Likewise, it’s smart to invest in a future-proof development machine.

Development

Whatever you do, don’t ever think you need an expensive computer to learn how to code. Maybe the one thing you really want to invest in is frustration tolerance. You can make do, without the luxury of a MacBook Pro. A hand-me-down i486 is enough. Or… is it?

Want to learn more? Check out these resources:

Learn how to build iOS apps

Get started with iOS 14 and Swift 5

Sign up for my iOS development course, and learn how to build great iOS 14 apps with Swift 5 and Xcode 12.

When it comes to smartphones and laptops, the entire tech world is divided into two groups: either you support Android or iOS and Windows or Mac. There is no middle ground for any common user or an expert.

This leaves users with a moot question: which operating system is better? A user, with his/her limited knowledge and experience about technology, is always in the doldrums. To find the right answer – once and for all – we sought advice from experts. We asked five developers a simple question: Mac or Windows?

These developers unanimously register their opinions. Note that the developers, who responded to our question, have used both platforms to develop software and apps.

This gave them a clear understanding of merits and demerits of both the systems. Based on their experiences, developers voted for Mac. Windows, in its early stage, enjoyed a status of the sole player in the market. But when Apple entered in the business, competition between the two became fierce.

Apple seems to have the edge over Windows with its secure ecosystem, smarter operating system, and powerful hardware. Developers were quick to switch to Mac from Windows, as they could recognize a remarkable difference between the two platforms. Let’s check out their views!

Mac Os App Development

Why Mac is the First Choice of Developers: Five Reasons

#1. Lish – Developer, WonderShare

I switched from Windows to Mac development and have laid out a series of PDF products for Mac, such as Wondershare PDF Converter for Mac and PDF editor for Mac.

Mac Development For Windows

After nearly eight years of development on Mac, I believe that the development environment of the Mac is excellent, and it is user-friendlier in configuring various programs, and there is no need to load too many things manually. Many of the tools that developers use come from Unix and the power of UNIX is very comfortable to use.

Secondly, the Mac is very cool; it can bring the Apple development software industry a sense of honor. The third is to virtualize Windows on OS X, which is very simple. A simple user interface makes the work smoother. On Mac OS X, window management is great, and it’s important when you use many different tools as a developer.

#2. Akash Padhiyar – Founder, Akash Technolabs

I have been using Mac for the last eight years. If you ask me why I use Mac for such a long time, I would reply you with a question: why I am breathing. Yes, it as simple as that to understand the importance of Mac.

Mac

Its seamless integration gives a user-friendly, clean, easy and refined environment to me. As we all know about its security and data integrity feature, it gives me relaxation while I am using it. Each component in Mac is optimized for the best performance to ensure that it takes less power to execute your work.

Mac gives more power to me in developing my identity with an awesome user interface. Mac is always there to provide satisfaction to customers with new technology, quick response, and stability of version.

Many times I heard that Mac is very expensive, but I think when you get a qualitative and secure environment with new updates and highly optimized performance, then you have to go for Mac.

#3. Jared Collett – Founder, BetterHabitsApp

I actually used to work for Apple. Using their software as a platform for my creativity is simply second nature. I originally started using a Mac to avoid crashes, reboots, and, heaven forfends, a full reinstall.

Twelve years later and not a lot has changed. During the creative process, I can’t be bothered with an operating system that won’t function. From running a recording studio to editing photos professionally to producing documentary films, it’s all been done on a Mac.

Now as an iOS developer, I am forced to use a Mac, but honestly, I wouldn’t have it any other way. When you’re dealing with thousands of lines of code, debugging and solving complex problems, you need to trust your machine. More than that, you need to trust the system you are operating in.

I’ve always felt that Apple forces you to do it right the first time. While this may be a bit frustrating, you are grateful for it in the end. From learning Objective-C to now Swift, Apple has a way of extending its elegance and pristine quality into the coding experience itself. I shudder to think what it would be like coding for a Windows device on a Windows PC, no thanks!

All in all, I’m honored to be still able to contribute to Apple’s legacy and mission, many years after formally working for them. Apple is a great company with thousands of exceptional people fuelling it with the mission of enriching people’s lives. That’s something I can always get behind.

#4. Pablo Diaz-Gutierrez – CTO, Appfluence

As one of the creators of Priority Matrix, I spend my day writing and reviewing code for mobile, web, server-side, and desktop software, so I need an environment that’s flexible and powerful enough to handle that.

A MacBook offers the perfect combination that allows me to do wildly different kinds of work one minute and the next, without having to connect to external systems or to load a plethora of virtual machines for each situation.

At its core, macOS is a Unix system that is also easy to use and “just works.” Unlike more traditional Unix systems (Linux being the most well-known variant), macOS lets me get to work with minimal fiddling and setup time.

There is a ton of developer software that works right off the box, and because it’s a Unix system, it comes with myriad tools that can be combined to accomplish complex tasks. Getting a new machine in the morning and knowing that I can have everything I need up and running in a few minutes is huge for me.

Finally, since I work from home, I would go stir-crazy if I didn’t move. I drive a bike and carry my laptop with me to coffee shops all the time. So I need a computer that’s lightweight and easy to carry in my backpack. I first fell in love with the MacBook Air, and haven’t looked back since.

#5. Views from 5KPlayer

Suppose two teams are working to develop a single software piece – DearMob iPhone Manager. One team uses Windows platform and another uses Mac. Both teams would agree that Mac is simpler and easier to use to develop an iOS related program.

If the above comparison is not enough to impress anyone, let’s take one more example. There is only one team to build 5KPlayer on both Windows PC & Mac. From their ideas, Mac computer is much convenient for programming, particularly for the third lib (library). There are quite a lot of built-in source codes in Mac computer. Therefore, any developer can complete the task quicker on Mac than on Windows PC.

Although more and more programming language can be used cross-platform, we still need to create Windows software on Windows and Mac application on Mac computer. Mac is the greatest legacy of Steve Jobs.

That’s all friends!

What is your choice?

After reading some intelligent arguments made by experts, many would come to know why developers prefer Mac. Our attempt was to create awareness about the two popular computing platforms, and which one you should use. Our idea is not to devalue Windows against Mac. You be the judge and take a final call.

Related Posts

Which computing platform are you using? Are you satisfied with the current operating system installed on your computer? Share your feedback with us in comment section.

The founder of iGeeksBlog, Dhvanesh, is an Apple aficionado, who cannot stand even a slight innuendo about Apple products. He dons the cap of editor-in-chief to make sure that articles match the quality standard before they are published.

  • https://www.igeeksblog.com/author/dhvanesh/
  • https://www.igeeksblog.com/author/dhvanesh/
  • https://www.igeeksblog.com/author/dhvanesh/
  • https://www.igeeksblog.com/author/dhvanesh/