Best way to learn to write iOS apps?

Midpack

Give me a museum and I'll fill it. (Picasso) Give me a forum ...
Joined
Jan 21, 2008
Messages
21,319
Location
NC
Might as well add another DIY skill, and I did coding many, many years ago so the methodology isn't entirely foreign to me - but the "languages" certainly will be.

I found a full time 30-day course in Chicago - but it's $9000 - not sure I want to learn that badly.

So those here who have already managed to learn current app development skills, what's the best way to learn iOS app coding on a limited budget?
 
Might as well add another DIY skill, and I did coding many, many years ago so the methodology isn't entirely foreign to me - but the "languages" certainly will be.

I found a full time 30-day course in Chicago - but it's $9000 - not sure I want to learn that badly.

So those here who have already managed to learn current app development skills, what's the best way to learn iOS app coding on a limited budget?


Apple's development site is very good.
https://developer.apple.com/

There is a website called meetup.com. I found a group in my area that develops apps. They get together often to share ideas. Some of them offer inexpensive courses. Maybe you can find somthing similar.

I typically learn from books but there isn't a lot out on the new programming language Apple is developing. Swift is suppose to be easier and faster than Objective C, so I want to wait and make a comparison before I commit to another language.
 
Books.

iOS development is based upon the C-family of languages (C, C++, Objective C). Apple has just released a new language called Swift which we can expect to see and hear more from in the future. You can write iOS apps in any of them.

After learning one or more of those languages, you'll then need to learn the iOS framework. There are good books for both.

Xcode, the software development suite (for actually coding, editing, compiling, and debugging your project), is available on the App store. It's excellent.

Last but not least, unless you're doing this for the fun of it, is a great app idea.
 
Last edited:
If you are interested in creating an app that will run on iOS devices only, then Swift is the way to go currently. However, my suggestion would be to consider a cross-platform technology such as PhoneGap or Xamarin that would not lock you in exclusively to the iOS ecosystem. A further advantage of PhoneGap is that it lets you build apps using nothing more than HTML and Javascript, which are probably going to be easier to pick up quickly than something like Swift. My two cents...
 
If I suddenly think of a killer app that needs developed, I'll hire some youngster to write it for me...
 
What are you planning to do with this Midpack? I'm just curious and you don't have to give away anything if it's not a good idea.

Some years ago I did C and a little C++ work. To me it feels like one can quickly get so deeply into specialized skills that the original intent gets lost. On the other hand, it could be a kick seeing your app on a smartphone or tablet.
 
I bought a few books (ios3) and became an Apple developer a few years ago. I wrote a couple of apps but never had enough spare time to really get into it. I haven't written any since.

I would think that you could get enough info online and from a few books to write some apps.


Sent from my iPad using Early Retirement Forum
 
Ive coded Android mobile apps, and also mobile web sites for any mobile platform. Unless you want to go objective c, you could try jquery or phone gap, and you'd have an app that runs on more than just apple.
 
Might as well add another DIY skill, and I did coding many, many years ago so the methodology isn't entirely foreign to me - but the "languages" certainly will be.

I found a full time 30-day course in Chicago - but it's $9000 - not sure I want to learn that badly.

So those here who have already managed to learn current app development skills, what's the best way to learn iOS app coding on a limited budget?

If you have a little time (and you'll need some time to come up to speed on this) iTunes U has Paul Hegarty's excellent Stanford course Developing iOS Apps for iPhone and iPad available for free:

https://itunes.apple.com/us/course/developing-ios-7-apps-for/id733644550

previous iOS 6 version is at: https://itunes.apple.com/us/course/coding-together-developing/id593208016

Paul Hegarty goes way back to NeXT and knows the language and frameworks about as well as anyone around.

And the price is right.
 
Ive coded Android mobile apps, and also mobile web sites for any mobile platform. Unless you want to go objective c, you could try jquery or phone gap, and you'd have an app that runs on more than just apple.

If you want to program iOS I highly recommend you take a little time and learn Objective-C. It's a great language and really not hard to pick up if you know C and any other modern OO languages. Apple continues to improve it.

Of course, having said that, Swift is pretty interesting and over the next few years may well become the preferred language for developing on iOS.
 
If you want to program iOS I highly recommend you take a little time and learn Objective-C. It's a great language and really not hard to pick up if you know C and any other modern OO languages. Apple continues to improve it.

Of course, having said that, Swift is pretty interesting and over the next few years may well become the preferred language for developing on iOS.
I don't know so I'm asking in earnest, why wouldn't I just try to learn Swift instead of Objective-C? It sounds like it's easier, and seems to be getting good reviews.
 
I don't know so I'm asking in earnest, why wouldn't I just try to learn Swift instead of Objective-C? It sounds like it's easier, and seems to be getting good reviews.
New languages can fall out of favor. The most conservative approach would have you learning a language that was well established (tons of other people have invested a lot of time to get good at). That means, if the lanuage is still viable, there should be a future.
 
New languages can fall out of favor. The most conservative approach would have you learning a language that was well established (tons of other people have invested a lot of time to get good at). That means, if the lanuage is still viable, there should be a future.


I'd probably go with Swift for the novelty factor and it achieves your goal of writing an iOS app. Odds are in the favor of this language, since this is what Apple is betting on for all future development. I wouldn't be surprised if Objective-C gets less focus going forward. Plus, Objective-C isn't much different than Swift, in the sense that only Apple supports the language. I think the only way Swift wouldn't become popular is if there was a sudden shift a way from Apple devices. I doubt that'll be the case in the near future.
 
I don't know so I'm asking in earnest, why wouldn't I just try to learn Swift instead of Objective-C? It sounds like it's easier, and seems to be getting good reviews.

I only suggest Objective-C because there are so many more resources for learning it. Lots of example source code too. Swift was announced just last summer and it's a bit of a moving target, although it did come out of the beta stage in September.

While Objective-C and Swift are not the same language, they share a lot culturally (and use the same runtime under the hood as well as Automatic Reference Counting (rather than garbage collection like Java)). You use the same Frameworks to actually get most of the work done in a program. So moving back and forth is pretty easy - you can easily mix both Languages in the same app.

Swift playgrounds are an excellent way to start learning to program iOS. You can even open the Swift book from apple (free in iBooks) as a playground and access the programming examples in it. Nifty.
 
If you learn modern Objective C coding, Swift can be learned in a matter of days. (By modern, I refer to the style of use currently encouraged, relying on the Automatic Reference Counting (ARC) runtime rather than trying to do your own retain/release object management.)

You'll find the biggest task is learning the frameworks that you will be relying on. Your own application logic will look similar in all the supported languages, with all the 'heavy lifting' in those frameworks. The framework interfaces you'll be using are all specified in Objective C, as is all the documentation for them. It's easier to start there.

My own experience has always been to 'throw the first one away', so I suggest just writing your initial app in Objective C to learn the frameworks, and then rewrite in Swift or Objective C once you've figured out how you should have written the app.
 
If I suddenly think of a killer app that needs developed, I'll hire some youngster to write it for me...

+1, unless you want to code simply for some intellectual stimulation, why bother, unless you have thought of a new killer app and even then, such an app could be handed to professionals for development while protecting you IP rights.
 
+1, unless you want to code simply for some intellectual stimulation, why bother, unless you have thought of a new killer app and even then, such an app could be handed to professionals for development while protecting you IP rights.

Because it's fun and enjoyable?
 
+1, unless you want to code simply for some intellectual stimulation, why bother, unless you have thought of a new killer app and even then, such an app could be handed to professionals for development while protecting you IP rights.

Actually, I am interested in learning the new code systems for intellectual stimulation. I tried the "Code Academy" a while back, it was pretty good, I did well on the basic concepts. Then you get to the level where there was a lot of very specific syntax, and you just had to learn all the rules about 'punctuation', and I just lost interest.

Without a real reason to learn (like a paycheck/raise/promotion that depended on me learning it), I just wasn't motivated enough to slug through learning all that syntax. Got boring very quickly for me.

I'd still like to learn though - has 'Swift' brought code development to the level of 'write that line as I want it, not as I wrote it'? Then I'm in! ;)

-ERD50
 
I am watching a DVD from the library today on brains and aging today. I think learning additional programming languages or packages would be good for keeping my brain healthy. DH wants to learn to play bridge. I have more of a Ferengi attitude: Bridge - there's no profit in that! :)

If I am going to think that hard I would also like to learn something where I could develop my own products to sell, work part-time or get contract work.
 
I am watching a DVD from the library today on brains and aging today. I think learning additional programming languages or packages would be good for keeping my brain healthy. DH wants to learn to play bridge. I have more of a Ferengi attitude: Bridge - there's no profit in that! :)

If I am going to think that hard I would also like to learn something where I could develop my own products to sell, work part-time or get contract work.

Intellectual stimulation seems so important to living a long and high quality life in ER. I think too many people burnt out in their careers and don't want to do anything that looks like learning.

Not me. A big part of the ER decision was to give myself time for non-career intellectual pursuits.

They have a few good courses on coursea that deal with learning and brain health that you might be interested in.

Sent from my SM-T237P using Early Retirement Forum mobile app
 
Back
Top Bottom