What do I need to get started writing iOS apps?

Discussion in 'iOS Programming' started by Flight Plan, Oct 17, 2015.

  1. Flight Plan macrumors regular

    Flight Plan

    Joined:
    May 26, 2014
    Location:
    Southeastern US
    #1
    So I'm thinking of writing apps for iPad and iPhone. I have no idea if I'll ever want to sell anything I write, but I figure it can't hurt to learn (more on that later).

    I am a Windows user, and have 3 Windows systems, running Windows 7, 8.1, and 10 respectively. I have never owned a Mac, even though I love doing art, music, and other creative work on my computers.

    I know that I'll need a Mac computer for iOS development. As you can see by my signature, I am very disappointed in Apple's lack of groundbreaking product development for enthusiast customers, so I am hesitant to buy an MBP, which I see as overpriced and under capacitized. In fact, I do not want to reward Apple's lack of entrepreneurial spirit by buying anything more than the laptop and whatever I need to learn to code for iOS.

    I guess I am thinking of buying a MacBook or MacBook air. But I need help. Details to follow.

    1. CPU: What is a good minimum-to-middle range processor for iOS development?
    2. For iOS development, what should I be looking for in terms of memory, graphics, and disk space?
    3. What software tools will I need?
    4. What types of educational help are out there?

    Other: For my coding tasks, I expect I'll use an external ergo keyboard, trackball (I am left-handed and use a Logitech Marble Mouse because it works for lefties or righties). I plan to use one or two 27" IPS external monitors (not Apple brand). So with external mouse, keyboard, and monitor, I plan to pretty much keep the lid of the Mac closed.

    There will be times when I'll travel, however; so the laptop's built in keyboard, pointing hardware, and screen will be used from time to time. The screen especially, should be easy to use, and probably should be a Retina screen. The keyboard should probably have a separate "calculator" set of keys, and should also lend itself to touch-typing, with raised "bumps" on critical keys, such as "F", "J", and calculator "5".

    Coding Background: I do have some scripting and coding experience in C++, Java, and Visual Basic, along with mainframe computer experience in COBOL, assembler, PL/1, Rexx, and CLIST. The first three are compiled languages and the latter two are scripting languages.

    Okay, TLDR. But can anybody recommend to me where to begin?
     
  2. Flight Plan thread starter macrumors regular

    Flight Plan

    Joined:
    May 26, 2014
    Location:
    Southeastern US
    #2
    To the forum moderators: I had a very hard time deciding whether to post this in iOS or one of the Mac forums. I'll defer to your best judgement. If you think it's better to move it, please feel free.
     
  3. grandM macrumors 6502a

    grandM

    Joined:
    Oct 14, 2013
    #3
    I would not go for the air. Programming requires a decent CPU, quad core is preferred though dual core will manage. 8 GB Ram seems a minimum, 16 GB preferred. If you are good in C you might consider using Xamarin. This way you do not need a new laptop. If you go native you need the mac and Xcode is free. Several teaching topics are available depending on your language. BNR, bitfountain, etc. I would go swift if you decide on going native. If you would like to develop games unity is your most likely answer (no mac required as not native).
     
  4. DannyBres macrumors 65816

    DannyBres

    Joined:
    Oct 30, 2007
    Location:
    UK
    #4
    I am using a 2011 Air (1.7 i5, 4GB) to make Departure Board (departureboard.co) and it is absolutely fine, it struggles a little running an simulators a little but more than usable.

    Id get a 13 or 15" rMBP if I was upgrading today.

    To address your signature, their range of machines addresses the needs of 99% of users, there is no point making a machine for the 1%. I'd be surprised if you needs weren't met with a maxed out 15" MBP
     
  5. Flight Plan thread starter macrumors regular

    Flight Plan

    Joined:
    May 26, 2014
    Location:
    Southeastern US
    #5
    Thank you both for your input.

    Okay, that helps with perspective; thank you very much.

    I disagree that my needs are the 1%, in fact, I think there is a HUGE pent-up demand for power-user options, or at least for UPGRADABLE options. Maybe it would be rare for others to have ALL of my needs, but I'll bet that the need for one or more of what I'm asking for is widespread.

    Music and art creation applications benefit from bigger screens and more memory. Thin and light form-factors are less important here, and 17" screens are VERY popular.

    I suppose you could make a case that 16 GB RAM is "good enough" and that's why it's the largest capacity you can have your rMBP made with, but come on. When working with high definition 3D meshes and textures, or multiple concurrent 3D scenes, you could go over 16 quite handily. 32 would be a minimum for me, although the new Asus G752, available in about a week, will have an option for up to 64 GB. But Apple doesn't even let me add memory after the purchase.

    Finally, internal disk space is critical to me. My music sample libraries are nearly 2TB now, and I am planning to upgrade a couple of products which will push me over that. My 3D art assets are almost a half-TB and I have a 1-TB size requirement for all of my downloads, which includes installers and zipped product packages for music and graphic art software. I haven't even talked about the space needed for the OS, the base applications, or my iTunes library!

    My current Asus G73 (5 years old) has been upgraded over the years and now contains 3TB of internal SSD and hard drive space, but even now, that big downloads partition has to be on an external drive. Now maybe my precise hard drive requirements are not that common, but you have to admit that it is VERY common for laptop owners to eventually want to upgrade beyond factory-installed disk options, at least once during their ownership! The current "maxed out" options for rMBP only allow 1TB of internal space. This is not enough, and like with memory, Apple doesn't even allow the user to upgrade after the sale. Anything more must be done with external drives, which cancels the benefit of having a laptop in the first place. We need internal expansion options, and I disagree with you; this is not a 1% request.

    Anyway, thank you for the info about coding, and thank you (always) for the chance to explain my rMBP needs. This is never a waste of time.
     
  6. DannyBres macrumors 65816

    DannyBres

    Joined:
    Oct 30, 2007
    Location:
    UK
    #6
  7. Flight Plan thread starter macrumors regular

    Flight Plan

    Joined:
    May 26, 2014
    Location:
    Southeastern US
    #7
    Thank you for the MacPro link, but I looked at it when it first came out, and it really doesn't apply to my situation. Basically, it's a Xeon desktop computer in a non-standard form-factor with maybe better cooling, but still-not-as-upgradeable as anything I could build or buy. And it's not a laptop.

    So there you have it. My screen name here is "Flight Plan," hence the reason I quoted part of my first post. ;)
    Being able to travel is important to me, and a MacPro won't fly very well, not if I have to pack a big cylinder and a whole bunch of other stuff into my flight case to make it all work. And where would I pack a monitor? :eek:

    Back to my reason for this thread.

    If I'm only going to just code for iOS, I don't need a lot, and this is what I wanted to know here. I was figuring that a thin MBA will slide between magazines in my backpack without too much trouble, even though I'm already carrying two Windows computers in there (one for job, one for my stuff).

    But my heart's desire would be to use a Mac in a laptop form-factor for everything I do outside of my 9-to-5. And several of the things I do really need the power of a desktop replacement, not any mere mortal "portable".

    So I'm thinking of an MBA for this task. Maybe even a refurb unit?
     
  8. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #8
    I'm not sure if this will help you or not because it can be a huge hassle. I run what's called a hackintosh. It's a PC that runs the Mac OS in addition to Windows.

    The reason I bring this up is that it can work on some notebooks. There's sites where people have done it and they post their results.
    The upside is that you can get a notebook at a better price and install whatever SSD/hd you want (or what will fit).
    It's best to review many brands of laptops and see which is working best before you buy.

    The downside is that it can be a real hassle to setup.
    In addition, upgrades can cause failure or may take some time to get working properly.




    Another option is a VM. I'm not an expert, but I've heard that you can run OSX in a VM under Windows.




    One last note, I'd check if it works fully for a developer. A hackintosh forum should be able to help.
     
  9. firewood, Oct 18, 2015
    Last edited: Oct 18, 2015

    firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #9
    If you want to economize, the bottom-end Mac Mini is perfectly suitable for iOS app development. Use it with one of your existing Windows PC monitors. For something portable, I recommend a MacBook Air 13, not the MBA 11 (which is what I use) as Apple seems to be changing newer versions of Xcode to require a larger display. A refurb MBA 13 will work just fine. If you get one with enough storage, then you might be able to use it for some of your Windows stuff as well under a VM, and save on carrying another laptop.

    I've never had an iOS app build spin up the fans on my mid-range MBA 11, so any higher performance Mac seems mostly unnecessary for iOS app development. So a Pro isn't needed, unless you are doing some atypical development. The SSD does help with faster build times though.
     
  10. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #10
    Why do you need to travel with your Mac if you want to use it as little as possible?

    All you really need it for is for uploading to your iOS device and iTunes Connect. Nearly (perhaps every?) every file type that Xcode handles is nothing more than a plain text or XML file - there's no reason you have to use Xcode for them. Use any text editor you like.

    There are third party Obj-C compilers and Swift is open source so I imagine software for linting, checking, and compiling your Obj-C and Swift code exists for Windows, although I've never personally looked for or used any of it.

    So just get a dinky little Mac Mini capable of running the latest copies of El Capitan and Xcode. You'll just copy your Xcode projects over to it and the send them from there to iOS or the App Store. It won't be a machine you use for anything else, so who cares? Cheap out and get something $200-$300 used on eBay or whatever.

    Edit: There is software that you can use to remotely connect things to USB. IE, you leave your Mac Mini at home and remotely connect to it from your Windows laptop over the Internet from wherever you are. Connect your iPhone to your Windows laptop over USB, then share it with the Mac Mini. Bam, the Mac Mini sees your iPhone as something connected directly to it that it can upload your newly built app to.
     
  11. AxoNeuron macrumors 65816

    AxoNeuron

    Joined:
    Apr 22, 2012
    Location:
    The Left Coast
    #11
    My best advice would be to build your own hackintosh. You can use a powerful nvidia GPU and a good processor for way less money than a macbook. And you can use VNC to remotely access it. I remotely access my development hackintosh all the time to do work. Besides, for the same price as a macbook you can build your own hackintosh that is WAY more powerful.

    You definitely want a powerful GPU and 16GB+ RAM if you're going to be doing anything more complicated than a 'hello world' app.

    The best part of all about building a hackintosh is that you can run any OS on it you want. I'm running Ubuntu, Windows 10, and OS X on my machine and it's truly awesome. And you can add in as many SSD's/hard drives as you want, upgrade just the GPU, CPU, RAM, whatever you like.

    Do not get anything less than 16GB of RAM with an iOS development machine. I made this mistake with my retina macbook pro and regret it on a daily basis. It's the main reason I built a hackintosh which has 32GB RAM. Writing a 'hello world' app won't use many resources but with regular commercial development, you will certainly have many applications open, not just Xcode.
     
  12. Flight Plan thread starter macrumors regular

    Flight Plan

    Joined:
    May 26, 2014
    Location:
    Southeastern US
    #12
    Wow, some great responses here. I'm interested!

    AxoNeuron, I see in the Apple store that there are MBA 13s available with the i7 processor but none with more than 8 GB of RAM. But getting all that and the bigger 512 GB SSD will run me over $1700 new, about $1300 from the refurb store. Still worth consideration, I think; mostly because it's not a $3500 MBP (which is pretty much what mine would end up costing if I went that route).

    ArtofWarfare, your suggestion about using a Mac Mini (and just remoting to it) is elegant and intriguing. Even a new one at $500 to $1,000 is not a bad idea, although the Mac Mini doesn't seem to come in i7, with more than 8 GB RAM, or with any fast hard drive options. I'd have to compromise in several areas, but maybe not such a bad idea if it works well enough for development.

    A couple of you suggested that I go the Hackintosh route. Until now, I never considered it. Is it legit, or is it just controversial because it's difficult or requires some expertise? If it's legal, I might consider it for my current laptop, or maybe for a new one I've been thinking of getting in a few months. My current laptop, even now at 5 years old, is still pretty tough. It's like having a server with the ability to run a VM (I just don't...yet) and whatever else I want, with the ability to fold up and go into a (big) backpack. I just haven't thought to do it (yet), so I've never tried a VM. Would OSX be able to run under Windows' VM (Hyper-V)?

    Suddenly, I have a lot of options. Thank you all.
     
  13. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #13
    The question of the hackintosh being legal is still a grey area. I don't think there's a true answer. The fact is that you own the hardware you buy, if the hardware can run an OS, you can run that OS provided you own that OS. OSX happens to be free. As I understand it, the last issue is the terms of service. If Apple owns OSX and says you can't run it on any hardware other than Apple, then that becomes the legal question. Any terms and conditions can be challenged. I think the same was done with jail breaking and jail breakers won for some devices.

    The bottom line is that the only one has been in trouble for it except a company that made hackintosh computers for you.

    I think it's the same legal argument as VMware. You can legally run OSX in Windows and Windows in OSX, you just have to have buy the software. This is probably the strongest argument for the hackintosh being legal. Hard to say OSX running in Windows is much different than running OSX without Windows on the same machine.
     
  14. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #14
    KarlJay, you're simply wrong here.

    Hackintoshes are not legal. Apple explicitly forbids them. Courts have shut down manufacturers of Hackintoshes. The only thing left to make it anymore officially illegal is for someone to take this to a higher court.

    Apple doesn't give OS X away for free for you to install it on a Hackintosh. They give it away for free factoring all those free upgrades over 5+ years into the cost of buying the hardware.

    Regarding running it in a VM, Apple's terms say you may run up to two copies of OS X in a VM if the host is also running OS X (version doesn't matter - host could be same version, older, or newer). Legally, you cannot run it in a VM if the host machine is running any other OS.
     
  15. Flight Plan thread starter macrumors regular

    Flight Plan

    Joined:
    May 26, 2014
    Location:
    Southeastern US
    #15
    AoW, thank you for the clarification. I'm sure I'll find another solution to my problem.
     
  16. xStep macrumors 68000

    Joined:
    Jan 28, 2003
    Location:
    Less lost in L.A.
    #16
    You could buy a previous generation Mac mini that did sell with a i7 processor. The drive and memory are user upgradable in those too. Maybe the Appe online refurb store has them occasionally.
     
  17. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #17
    Didn't Apple explicitly forbid jailbreaking an iPhone? Didn't the court overrule this? A company doesn't make law, a government does. Can't any law be challenged? Didn't the supreme court rule on use of the VCR that went against what the companies forbid?

    Legal or not is based on opinions of courts, even courts don't always agree with each other, which is why we have appeals. Correct me where I'm wrong, but I don't think any court has ruled on this issue.
     
  18. millerj123 macrumors 6502a

    Joined:
    Mar 6, 2008
    #18
    It looks like the two higher end mini's can be upgraded to i7s. Although even the mid-level mini starts at $700 with a $300 upgrade to i7... Too steep for me.
     
  19. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #19
    Psystar went as far as the US Federal Appeals Court. They lost every step of the way and appealed every time. Ultimately it ended with the US Supreme Court refusing to waste their time on the matter, so right now, it is definitely illegal for companies to be making/selling Hackintoshes. For that to be changed, either the legislative branch of our government would have to pass a law changing this (doubtful - Apple has a lot of political power and it's doubtful anyone else would want to go up against them from that branch) or the Supreme Court would have to take it up (a waste of their time, in my opinion. Way too niche of an issue.)

    Here's the final article MacRumors had on them, back in 2012. The Psystar stories started in early 2008, but here was the last story: http://www.macrumors.com/2012/05/15...a-close-as-u-s-supreme-court-declines-review/

    iPhone jailbreaking is very different. That's about installing free, no strings attached, software on hardware you legally own. You may legally own the hardware you want to install OS X on, but you don't own OS X. Apple provides OS X for free, but if you read over what you agree to when installing it, they clearly tell you that they are renting it to you, not giving or selling it to you, and that as a condition of your rental, you may only install it on their hardware.
     
  20. AxoNeuron macrumors 65816

    AxoNeuron

    Joined:
    Apr 22, 2012
    Location:
    The Left Coast
    #20
    No!!!!!

    Hackintosh is absolutely legal as long as you are not selling them. Otherwise, Apple truly could not care less. Putting OS X on your personal machine is not a crime in any way.

    If you put OS X on a hackintosh Apple CANT sue you since its your personal machine and OS X is free, even if it's against the terms of service. The worst thing they could do is say you violated the ToS and deactivate your copy, which in practice is something that Apple has never done and never will do because they truly don't care.

    Flight Plan, you really don't have anything to worry about with a hackintosh as long as you don't plan to start a company which sells them with OS X preinstalled.
     
  21. AxoNeuron macrumors 65816

    AxoNeuron

    Joined:
    Apr 22, 2012
    Location:
    The Left Coast
    #21
    If you want performance and OS X without the Apple design premium a hackintosh really is your best bet, especially if you want to easily repair or upgrade it in the future.
     
  22. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #22
    Again, I'm not sure of the legal status, but it AxoNeuron has a point, Apple doesn't seem to care.

    In the forums about Hackintosh, there are many people that have done this over the years.

    The bottom line is that Apple really doesn't care, they charge top dollar for what they sell in a tough market. Not everyone can dish out for a brand name that doesn't allow upgrades. If Apple had competitive prices, hackintosh wouldn't be needed. I imagine people in poor countries have no choice but to find an alternative.
     
  23. ArtOfWarfare, Oct 20, 2015
    Last edited: Oct 20, 2015

    ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #23
    I agree Apple doesn't care. It'd be quite petty of them to care. It's a company worth nearly a trillion dollars - they don't care about a single computer sell worth at most $3K.

    Regarding whether it's legal or not though, I would say there's a good deal of ground upon which to say it's illegal and none on which to say it's legal.
     
  24. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #24
    I've developed some fairly massive enterprise apps on an older Mac Pro with only 4 GB of memory. So 8 GB should be just fine for Xcode. Macs with Core i5's are also plenty fast compared to that older Mac Pro. All the people who say you need something faster or with more DRAM are either also doing other more demanding stuff, or trying to justify overspending for app development.

    People who build hackintoshes spend a lot more of their valuable development time playing with the hardware and configuring things, especially if it's their first time, and especially when Apple updates their Xcode and supporting OS X requirements for app submission. Only consider doing this if you have lots of time to waste on stuff other than development or getting work done.
     
  25. Flight Plan thread starter macrumors regular

    Flight Plan

    Joined:
    May 26, 2014
    Location:
    Southeastern US
    #25
    Once again, thank you all for keeping the conversation going.

    For the moment, here's where I'm leaning: Macbook Air i5, 8GB RAM, with as much drive/ssd space as I can possibly get. I think it comes with Garageband and maybe Logic will run on it too, and I could possibly use it to play some MIDI instruments for longer periods on battery power.

    Even the bigger MBA would still be thinner than some tablets, so I could always slip it into even an already-full backpack, and it might be fun to try that for simple musical composing tasks that don't need a full-blown DAW. But I'll always have my big Windows laptop for more strenuous lifting.

    I am no longer considering the Hackintosh solution. Thank you for the exchange on that topic. Someday, I might try it on a laptop just to see if I can make it work, but definitely not for this project. If I proceed with this project, (probably wouldn't be for another couple months) I'd want to avoid too many distractions, and there are no distractions more annoying than realizing that no work got done because you spent the whole day/weekend/month tweaking. o_O
     

Share This Page