What is the best way to learn PHP?

What is the best, most efficient way for a PHP/web developer to learn iOS development?

  • I want to learn iOS development as efficiently as quickly as possible. I would like to read / study the basics, and then start making simple exercises and learn the rest from there. My current knowledge includes PHP, javascript, html, css, linux, etc, and I think I am a fast learner. What resources and learning methods would you reccomend? I would also like to make some simple games at some point, but first I would like to be able to code simple apps.

  • Answer:

    Since you already know how to program, and PHP and Javascript aren't terribly different from the C family, I'd recommend the book "Head First iPhone Development" to get you acquainted with iOS and Xcode.   On the programming side it is probably below your level, however it will walk you through the nuances of iOS and xcode.  Think of it like a book of ever-more-deep "hello world" exercises.  After you get the concepts and lingo from this book, Apple has a ton of tutorials on the iOS developer site. One thing I would recommend that you won't get from that book or from the Apple site:  Invest some time into learning how to use C++ to develop for iOS.  It's not very difficult and If you write your games in C++ they will be easier to port between mobile platforms.  (Nearly all iOS APIs have C++ interfaces as well as Objective C, and you can call C functions from Objective C) Here's some encouragement :)   IMO building a website using PHP, Javascript, HTML, and CSS is vastly more complex than building a mobile app.  I think you'll find mobile apps easy by comparison.

Pat Roberts at Quora Visit the source

Was this solution helpful to you?

Other answers

Knowing the basics of object-oriented design and programming is going to get you pretty far with iOS programming. The weirdest parts of Objective-C are getting used to the syntax and the ARC issues. Thankfully ARC is relatively simple at first blush and while the objective-c syntax can be a bit rough, it's completely learnable. Embrace the expressiveness of the language. Even though method names may be more verbose than you are used to in PHP, embrace the length and use it to write great self-documenting code. Once you're over the hump of the syntax there is a good amount of iOS specific view layer topics, but those are pretty straightforward once you learn the first. The last set of topics is multithreading and Core Data. You need to learn the basics of multithreading so you can get long running tasks off the main UI thread (thus unblocking the UI from working, while your app works) and Core Data is used for persistant storage of data. Think of it like a database. If you'd like more guidance, I wrote up a list of my favorite iOS resources, and a guide on how to go from topic to topic. http://iosprework.flatironschool.com/ I hope it's helpful!

Joe Burgess

Your current knowledge will give you the coding experience and practice, but you have to get used to objectiveC and Xcode. Start by learning from basic tutorials - I have started a beginners course at http://www.codigator.com . Don't copy and paste. Write every code since objective -c is slightly different than rest of the languages and side by side you will get used to Xcode as well. It may take somewhere around 2 months for you to start building up some confidence but you can make your first hello world sort of app in less than an hour.   Stack Overflow will be of great help once you are past the beginner tutorials. As far as games are concerned - First give atleast 4-5 months to normal apps and animation. This way you will also be able to understand how Cocos2d and box2d work. And also hardcore gaming with openGL has a slow learning process. But don't just dive into gaming right now. Learning Methods - Tutorials - written tutorials. I hate video tutorials as far as development is concerned- they are fast but then you just get bored after some time and start copy pasting code from source code provided + you pause and play every time. Read tutorials and buy a good book once you are comfortably above the beginner level. Standford Course is very good but I would recommend it to wait a little for that. They clear out your concepts once you dirty your hands.

Bharat Gulati

I have experienced that exact same transition, and I think the following "learning roadmap" would make the shift easier for you: - Learn to understand, love, cherish and worship object-oriented programming. PHP supports it, but you didn't mention if you use it on your day-to-day PHP development. Objective C is a pure objective-oriented language (hence the "objective" on the name) and if you're used to procedural PHP the change will be way more complicated to absorb; - Understand the MVC (model-view-controller) object-oriented design pattern. iOS apps use this pattern. Luckily, many PHP frameworks also use it (CodeIgniter, CakePHP, symfony, etc), so maybe you're already familiar with that! - Watch the Stanford iOS development series of videos - you can download those for free in the iTunes U section of the iTunes Store. Even though not all information there is up to date, these vids will give you a firm grasp on the syntax of Objective-C and on how to get started developing apps. - Do stuff. If you have ideas, even if they feel stupid like a unit conversion application or something like that - go ahead and develop them. You'll find a lot of questions along the way, and solving each one of them will make you more confident in your skills. The documentation included in the SDK is amazing, and the comments on .h files are also very helpful. Use them! When it comes to games, I would recommend looking for a framework that gets most of the deeply technical stuff out of the way (at least in the beginning). Cocos2D is a very good option - it handles graphics, spritesheets, etc. and is also compatible with a couple of very decent physics engines so you don't need to go crazy on calculations! Hope to have helped!

Thiago Campezzi

The pre-requisites that you would need are: - Apple developer ID http://developer.apple.com - Intel based Mac - xcode - leopard or snow leopard Other then online videos / articles and resources available with http://developer.apple.com , I highly recommend stanford series for iphone development available via iTunes

Yayati Singh

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.