Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Which direction for a beginners project?

Options
  • 07-09-2012 12:16pm
    #1
    Registered Users Posts: 9,847 ✭✭✭


    Howdy,

    <--- noob alert (sorry)

    I've decided to give myself a little project to keep me off the bar stool and increase my employment potential. One such project I am giving some thought is smartphone app development.

    What is confusing me a bit in the early stages of research is that you can create an app using HTML and CSS and/or using an IOS SDK which means learning Objective-C. If an app can be created using HTML and CSS then why the need for Objective-C? Is the former merely for simplistic apps (almost simplified websites) and the later for more advanced and interactive apps? Or do I have this all wrong?

    I'm a PC user and only recently realised that if I was to go down the Objective-C route I would need to invest in a MAC. Then there is Phonegap which appears to be the solution to all lifes problems. Although, I read that this approach may cause issues when it comes to the more complex apps but I can't be certain.

    Anyway, with regards to geting into all this wizardry, is phonegap an adviseable starting point considering I have a reasonable knowledge of HTML and CSS? or should I start working exclusively for either iPhone or Android?

    Thanks in advance!


Comments

  • Registered Users Posts: 18,272 ✭✭✭✭Atomic Pineapple


    You have it somewhat correct, Hybrid solutions can work but in general I've found that once an app becomes anyway complicated they start to falter. They seem to be good solutions for very simple fetch and display apps rather than fully functional interactive apps.

    For optimised apps that make use of the native API's and device capabilities I find native development is the way to go.

    You would need a Mac to develop iOS applications but you could easily start developing Android apps straight away and Windows Phone too if you've Vista +

    I found what I learned on Android pretty helpful when moving to iOS development.


  • Registered Users Posts: 9,847 ✭✭✭py2006


    draffodx wrote: »
    For optimised apps that make use of the native API's and device capabilities I find native development is the way to go.

    You would need a Mac to develop iOS applications but you could easily start developing Android apps straight away and Windows Phone too if you've Vista +

    I found what I learned on Android pretty helpful when moving to iOS development.

    Thanks for that. Maybe I should focus on Android Apps for now and if I progess later than I can invest in a MAC.

    I'm running Win7 64bit so that shouldn't be a problem. Do you suggest Phonegap or just I start elsewhere?


  • Registered Users Posts: 18,272 ✭✭✭✭Atomic Pineapple


    I don't have any experience with PhoneGap or any other hybrid solution I'm afraid. I've concentrated on native development only.


  • Registered Users Posts: 9,847 ✭✭✭py2006


    draffodx wrote: »
    I don't have any experience with PhoneGap or any other hybrid solution I'm afraid. I've concentrated on native development only.


    Ah right I see. Lynda.com have a good tutorial on getting things up and running. Will have to learn a spot of a JAVA! :eek:


  • Registered Users Posts: 9,060 ✭✭✭Kenny Logins


    Have a look here too - http://thenewboston.org/tutorials.php


  • Advertisement
  • Registered Users Posts: 17,552 ✭✭✭✭Mr. CooL ICE


    Noob here too!

    What phone do you have? If you have a PC and an android phone, I would get stuck into android apps straight away. If you don't have an android phone, then learning basic apps using the ADB (like an android emulator) is fine, but anything beyond that will require an android device due to the ADBs limitations.

    If your ultimate goal is to develop iPhone apps, then that's even better. If you were to learn the basics of android development (enough that you could write something basic, e.g. functional calculator) and then start learning iPhone development, what you learn from android might not be entirely beneficial but would certainly improve your potential from the eyes of prospective employers.

    I'm roughly in the same situation as you, i.e. have a crappy job but want to get into app development. However, I am really only interested in android development myself and am concentrating on advancing my android knowledge rather than cross-studying with iPhone development. It probably isn't doing me any favours tbh, but in all honesty, that's just my bitterness towards Apple affecting my attitude.


  • Closed Accounts Posts: 2,103 ✭✭✭Tiddlypeeps


    py2006 wrote: »
    I've decided to give myself a little project to keep me off the bar stool and increase my employment potential.

    Because your goal is to increase your employment potential I would recommend programming native for iOS or Android. I think iOS dev is a bit more desirable at the moment so if you can it might be worth your while investing in a Mac. It's also a bit easier to develop for because there is less device fragmentation. If you can't invest in a Mac then Android will teach you very similar skills anyway.

    PhoneGap looks like a nice solution for putting something together quickly on a lot of platforms but it won't give you a huge number of skills to put on your CV unless you find a company that uses PhoneGap. It's a fairly niche.

    I'm in the mobile game space and there are a number of tools out there similar to PhoneGap for games, like Unity and Marmalade. If I was handed two CV's, one with Unity or Marmalade as a skill and one with Objective-C or C++ as a skill I will pick the programming language over the tool every time.

    Once you know one programming language you will pick up any other language fairly easily. Tools come and go very quickly, and they are often incredibly different to develop with. Languages don't change that much over time, learning Objective-C/C++/C# today will be relevant on your CV ten years from now. PhoneGap almost certainly won't be.


  • Registered Users Posts: 9,847 ✭✭✭py2006


    Noob here too!

    What phone do you have? If you have a PC and an android phone, I would get stuck into android apps straight away. If you don't have an android phone, then learning basic apps using the ADB (like an android emulator) is fine, but anything beyond that will require an android device due to the ADBs limitations.

    If your ultimate goal is to develop iPhone apps, then that's even better. If you were to learn the basics of android development (enough that you could write something basic, e.g. functional calculator) and then start learning iPhone development, what you learn from android might not be entirely beneficial but would certainly improve your potential from the eyes of prospective employers.

    I'm roughly in the same situation as you, i.e. have a crappy job but want to get into app development. However, I am really only interested in android development myself and am concentrating on advancing my android knowledge rather than cross-studying with iPhone development. It probably isn't doing me any favours tbh, but in all honesty, that's just my bitterness towards Apple affecting my attitude.

    Well I'm an iPhone user on a PC :o

    Perhaps it is not a good idea to tackle them simultaneously. It makes sense, now that I think of it, to go the iPhone route because I have an iPhone to test my work on as I go. I don't trust emulators.


  • Registered Users Posts: 9,847 ✭✭✭py2006


    Because your goal is to increase your employment potential I would recommend programming native for iOS or Android. I think iOS dev is a bit more desirable at the moment so if you can it might be worth your while investing in a Mac. It's also a bit easier to develop for because there is less device fragmentation. If you can't invest in a Mac then Android will teach you very similar skills anyway.

    PhoneGap looks like a nice solution for putting something together quickly on a lot of platforms but it won't give you a huge number of skills to put on your CV unless you find a company that uses PhoneGap. It's a fairly niche.

    I'm in the mobile game space and there are a number of tools out there similar to PhoneGap for games, like Unity and Marmalade. If I was handed two CV's, one with Unity or Marmalade as a skill and one with Objective-C or C++ as a skill I will pick the programming language over the tool every time.

    Once you know one programming language you will pick up any other language fairly easily. Tools come and go very quickly, and they are often incredibly different to develop with. Languages don't change that much over time, learning Objective-C/C++/C# today will be relevant on your CV ten years from now. PhoneGap almost certainly won't be.

    Thanks for that, thats interesting! I'm a little intimidated by learning the programming side of things but I'd like to give it a go.

    I was considering investing in a MAC Mini. They would suffice wouldn't they? Perhaps even a second hand one.


  • Closed Accounts Posts: 2,103 ✭✭✭Tiddlypeeps


    py2006 wrote: »
    Thanks for that, thats interesting! I'm a little intimidated by learning the programming side of things but I'd like to give it a go.

    I was considering investing in a MAC Mini. They would suffice wouldn't they? Perhaps even a second hand one.

    As long as it is running or can run Lion OS or higher you should be fine. The latest XCode and iOS SDK no longer runs on the Snow Leopard OS so just watch out for that if buying second hand. XCode is kind of heavy to run so don't expect it to run fast if you buy an older machine but it should do fine for your needs.

    You might feel overwhelmed at first when learning a new programming language, tutorials will often give you large lumps of code to copy and paste that you might not understand and that can be frustrating. Just stick with it and learn it bit by bit, you won't understand everything over night so it's not the end of the world if every line of a tutorial doesn't make sense right away.

    If you have any interest in the gaming end of things then Ray Winderlich has a bunch of amazing tutorials here that use the Cocos2D game engine http://www.raywenderlich.com/
    For general application development I can't really help, I'm sure there are plenty of tutorials around on the net.


  • Advertisement
  • Registered Users Posts: 18,272 ✭✭✭✭Atomic Pineapple


    @ TiddlyPeeps, do you mind if I ask what it would take for me to move from app development to mobile gaming development?

    I have 3 years Java & Android experience, 1 years Objective-c & iOS experience. I'm really looking for a new challenge and from looking up jobs and mobile games seems to be the best opportunity at the minute, I've had 3 job specs land in my inbox with gaming roles but I am not convinced I could fulfill them at the minute as I have zero experience at coding games.

    Do you reckon if I created some of my own 2d games and gain personal experience that would be enough to at least get some traction with a mobile gaming company? Or would I really need to be involved in something commercial?


  • Closed Accounts Posts: 2,103 ✭✭✭Tiddlypeeps


    draffodx wrote: »
    @ TiddlyPeeps, do you mind if I ask what it would take for me to move from app development to mobile gaming development?

    I have 3 years Java & Android experience, 1 years Objective-c & iOS experience. I'm really looking for a new challenge and from looking up jobs and mobile games seems to be the best opportunity at the minute, I've had 3 job specs land in my inbox with gaming roles but I am not convinced I could fulfill them at the minute as I have zero experience at coding games.

    Do you reckon if I created some of my own 2d games and gain personal experience that would be enough to at least get some traction with a mobile gaming company? Or would I really need to be involved in something commercial?

    You are already familiar with Objective-C so that's a big part of the learning curve out of the way. In my opinion the most important thing you need to understand about games compared to application development is a scene graph, it's an incredibly important concept. A deep understanding of geometry and physics used to be important for games, but most game engines and physics engines take care of most of that stuff for you so you only need a very shallow understanding to get by.

    Things like Unity 3D, Marmalade and Corona are great for getting games out quickly, they have lovely drag and drop interfaces and use mostly scripting languages. Cocos2D would be my favorite iOS game engine tho because it's open source and you do everything through code so it gives you a massive amount of control. The best thing you can do is research the company you want to work for and learn the technology they use. If you do decide to work with Cocos2D then again I swear by Ray Wenderlich, he has a tutorial for everything and they are very easy to understand. There is a great community on the Cocos2D forums too if you run into trouble.

    Unity 3D also has a huge online community so if you go down that road then it'll be very easy to find help. The youtube channel Tornado Twins have some great beginner to intermediate Unity 3D tutorials.

    Games companies LOVE to see that you have released your own games, even if they look like crap. It says a lot of good things about you.


Advertisement