I need help in developing Ipad/Iphone apps

Discussion in 'iOS Programming' started by BlueboyXL, Jul 28, 2013.

  1. BlueboyXL, Jul 28, 2013
    Last edited: Jul 28, 2013

    BlueboyXL macrumors newbie

    Joined:
    Jul 28, 2013
    #1
    Hello guys, I have always wanted to develop apps for IOS. Currently I am a window user and don't have a mac yet but after some research, I found out that I need a mac to run Xcode, Objective C language and sign up to Apple's program to publish apps to the store.

    Now I don't have a mac yet and me getting one would be no problem, my first question is: Is it worth it to buy a mac just to develop apps mainly? Currently I have no problem with my laptop which is using window so a new mac would just be used to develop apps mainly.

    Secondly, I really got no programming language knowledge. I am currently starting to learn them on Codecademy but they don't really go in depth and got no information about some languages like Objective C. So you advice is what should I do if I want to start developing apps for IOS? Where should I learn? I heard that I should learn C++ or C first before Objective C but again that is just some random advices I found on google so I thought I would ask the mac/apple experts here.

    Please help me, thanks guys!
     
  2. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #2
    Do not learn C++. Do learn at least the basics of C.
     
  3. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #3
    I would not buy a mac. Start learning to program in a language maybe C.

    then get a free C compiler and start learning programming logic on your current computer.

    The reason is that computer programming is NOT for everyone.

    Over the years we've seen people come and go during the "gold rush" of the app store.

    Most of them are gone now, most don't last too long.

    Computer programming is a profession, I've done it for decades and have a BS in it.

    It takes a high level of dedication.

    I personally think people see apps and think they are simple to make, it can be simple for some simple apps, but it really is a profession and many fall short when it comes time for complex apps or debugging code.

    You can determine if it's for you without any real investment.

    You can even rent a "mac in the cloud" by the month (so I've heard) and you don't even need to buy a computer at all.

    You don't need to sign up with Apple under the paid programs until you are ready to test on the device or submit to the app store.

    Macs are great computers with very good resale value, but, you should see if you REALLY want to do this before you dish out 2 grand on a computer and test device (mac book + iPod/iPad)
     
  4. BlueboyXL thread starter macrumors newbie

    Joined:
    Jul 28, 2013
    #4
    I see, why not C++ though? I heard that isn't C++ meant to be C but more sophisticated and it is basically a newer version of C?

    ----------

    Oh I already got Ipod, iphone and Ipad mates, that is why I wanted to get into developing apps for IOS as I see that almost anyone can make them without really need to start a company or go through complicate process.

    I know I am not going to just buy a macbook now or sign up to Apple's program. I am just trying to learn coding first and see where am I fitting in with it before going on the real thing.

    So in your opinion, I should learn C first and not C++? Or is there another better approach to learning Objective C? Keep in mind I have next to no knowledge about coding currently, I just finished that HTML/CSS course on Codecademy which frankly doesn't really teach much apart from the very basic like what is a syntax and how to change the background color...etc
     
  5. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #5
    The reason we're suggesting you learn C and not C++ is because Objective C is a superset of C. All valid C code is also valid Objective C code. C++ is also mostly a superset of C, but it adds many of the same features as Objective C in very different ways. You'd have to essentially unlearn those extensions to learn Objective C.
     
  6. robbieduncan, Jul 29, 2013
    Last edited: Jul 29, 2013

    robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #6
    This is not really true. A newer version of C is C99. C++ is one attempt to take C and turn it into an object-oriented programming language. Objective-C is another. C++ alters some of the basic rules of the language: it is not a superset of C, rather a language with C heritage and much shared syntax. Objective-C on the other hand is a perfect superset of C: any valid C program will compile as Objective-C.

    All iOS apps are written in Objective-C. Not C++. If you learn C you have learned the basics of Objective-C. If you learn C++ you have not and will undoubtedly have learned things that will not be true in Objective-C so may hinder your learning of Objective-C.
     
  7. BlueboyXL thread starter macrumors newbie

    Joined:
    Jul 28, 2013
    #7
    Alright I see, I suppose I should exchange my C++ for dummies for C for dummies then, thanks. Any other tips you could give up me?

    ----------

    Ah I understand now so I think I would start with C then. Any idea where should I start off learning?
     
  8. Tander macrumors 6502a

    Tander

    Joined:
    Oct 21, 2011
    Location:
    Johannesburg, South Africa
    #8
    This will be a good start:

    http://c.learncodethehardway.org/book/
     
  9. BlueboyXL, Jul 29, 2013
    Last edited: Jul 29, 2013

    BlueboyXL thread starter macrumors newbie

    Joined:
    Jul 28, 2013
    #9
    Thanks, I will definitely have a look at that.

    Edit, I got a problem with this guide mate. Apparently you need OX or Linux software to run a program he is suggesting but I only got Window.
     
  10. Tander macrumors 6502a

    Tander

    Joined:
    Oct 21, 2011
    Location:
    Johannesburg, South Africa
    #10
    I'm sure there a Windows C compilers that you could use?

    Even a simple text editor like notepad + would work?

    If you want to use Linux - just download virtualbox and then a Linux distro of your choice and setup a virtual machine in virtual box.
     
  11. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #11
    Really? I thought he updated the book to include windows instructions a year ago...

    Anyways, you'll want to download a text editor... I suggest Sublime Text 2. The trial version is free, complete, and unlimited (with an occasional nag saying that if you like it, you aught to pay $80 or however much they want for you to buy it.) Do not use Notepad.

    I've never programmed in C on Windows before, but I think it involves downloading/installing something called Cygwin.

    Alternatively, install Linux on a virtual machine on your computer so you can easily swap between Windows and Linux.
     
  12. Duncan C macrumors 6502a

    Duncan C

    Joined:
    Jan 21, 2008
    Location:
    Northern Virginia
    #12
    Both C++ and Objective C are based on C, but they go in different directions.

    An analogy with human languages:

    Both French and Italian are based on ancient Latin.

    Learning C++ to help you learn Objective C is like learning Italian in order to learn French. It will give you a little help because of it's shared roots, but it will confuse the heck out of you because of it's differences. You'll have to forget/re-learn a lot of stuff that you learned for Italian when it's time to actually learn French.

    Studying Latin would be helpful with both, however, because it is a the basis of both.

    C is even more useful in learning Objective C than Latin is in learning French because Objective C contains all of C inside it. By learning C, you are learning a very useful subset of Objective C. Its as if French was an extension of Latin, using all the same grammar and syntax, plus more grammar constructs and additional vocabulary. (That's not true, obviously)

    C is also a subset of C++, although C++ makes sone minor changes to the rules of C, dealing with types and adding a few reserved words.

    (All modern C code compiles perfectly in Objective C. Not all C compiles perfectly in C++.)

     
  13. BlueboyXL thread starter macrumors newbie

    Joined:
    Jul 28, 2013
    #13
    I might just follow that book C for Dummies as a start I guess.

    ----------

    Alright I see, thanks for making it clear to me. However regarding to the Latin and French issue, nowadays no one really learn Latin before French anymore. If you want to learn it, you go straight into it. Should I do the same with C Objective or should I still learn C first?
     
  14. BlueboyXL thread starter macrumors newbie

    Joined:
    Jul 28, 2013
    #14
    Bump! Any other helpful tips guys?

    I see apps like Doodle Jump which look pretty simple, is this easy/normal to create games like those or do you need to know a lot to create something like that?
     
  15. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #15
    No. Whereas Latin is dead, C is not. Long live C!
     
  16. ChristianJapan macrumors 601

    ChristianJapan

    Joined:
    May 10, 2010
    Location:
    日本
    #16
    Now that is a perfect summary ! :)

    Go C Go
     
  17. BlueboyXL thread starter macrumors newbie

    Joined:
    Jul 28, 2013
    #17
    Seem a popular language before objective C then, will have a look into this C language definitely:cool:
     
  18. BlueboyXL thread starter macrumors newbie

    Joined:
    Jul 28, 2013
    #18
    Anyone ever developed a game? Even a simple game? Is this true that there is a lot of things involved like art, music instead of just coding?

    Does this mean if I was ever to develop a game on my own, I would have to draw all the levels, things in game by hand/photoshop? Or is there another way?
     
  19. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #19
    Yes it's true. Where else would those items come from? You don't have to draw them by hand. You could model them in a 3D package and render them or export the models to use in OpenGL ES for example. Also you will need more than a basic understanding of software development, software architecture and the ability to program. This is not something you can learn overnight.
     
  20. axeseller macrumors newbie

    Joined:
    Jul 29, 2013
    #20
    Yes!

    Yes! Definitely! You can define the 'behaviour' of different entities via coding but how things look and sound, you'll have to do that via other tools. Theoretically, you can do all that via code, but the output would be very poor unless you're an expert.

    Also, game dev is not only just about code and art and music. There are many other things. Gameplay being the most important. Then the difficulty progression. I'd suggest if you're looking to make games, you should first learn how to design these aspects and then learn coding. Construct 2D would be great way to start because you can create stuff their with minimal knowledge of programming.
     
  21. BlueboyXL thread starter macrumors newbie

    Joined:
    Jul 28, 2013
    #21
    I see so basically it is going to be really complicated to even design a game, so from a non-programmer's point of view it is very delicate. Is this why people often develop games in teams/studios/companies?

    So I suppose if I even want to make a very simple app, I would first need to learn how code works? Then all the flashy/gaming stuff is there to move on to only when I masted the basic code concepts...etc?

    ----------

    Thanks, really helpful answer! I was planning to start learning to create 2d games first if I ever get to that stage. I see tutorials on youtube and most of them sketch their ideas on paper first then slowly implement, is that what any game developers usually do too?
     
  22. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #22
    Yes. If you really want to start making games try and work out all the things you'd need of tic tac toe including a computer opponent. This is considered one of the simplest games to implement...
     
  23. axeseller macrumors newbie

    Joined:
    Jul 29, 2013
    #23
    No problem. Yep. Thats the right way to do it. Coding is just a means of translating your ideas into software. But you must have the idea first :p and paper pencil would help you with the brainstorming/idea generation process. Good luck!
     
  24. BlueboyXL thread starter macrumors newbie

    Joined:
    Jul 28, 2013
    #24
    I am not planning to go straight into gaming yet, again it was just an idea from a non-programmer's point of view. Remember I got next to none programming idea so I am just scouting into the IOS app department atm to see in general how the system work, all the basic stuffs...etc

    ----------

    Yep of course hehe, the idea is the most important part:) Hell actually without a good/useful/new idea, there is pretty much no point into going into programming to create apps I suppose, what is the point of creating Angry Birds again and replace them with fish or create a dictionary app when there are already like 50 up in the store.

    Atm gaming is just an idea that I COULD go into I suppose, I can't really say until I actually start to learn to program. If you don't mind me asking mate, are you a IOS game dev yourself or part of a company/team?
     
  25. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #25
    This is still a good exercise when you get that far. Programming is essentially breaking a big complex idea down into progressively smaller ones until you get to something you can actually write code for. Good software architecture promotes this as well as re-use so you don't write the same thing twice. Then you can worry about performance, memory usage and making it pretty.
     

Share This Page