Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Do you have a source to back up this claim?

I believe this was the case roughly from the introduction of iTunes for Windows until the introduction of the iPhone. As I recall, Apple's net profits from the iTunes Store exceeded their net profits from everything else, partially because of how much people paid for downloading stuff and partially because of how much more it costs to make hardware than software. I recall some article breaking down the numbers, probably on MacRumors, nearly a decade ago (holy crap, now I feel old thinking about how long I've been reading MR for...)
 
I believe this was the case roughly from the introduction of iTunes for Windows until the introduction of the iPhone. As I recall, Apple's net profits from the iTunes Store exceeded their net profits from everything else, partially because of how much people paid for downloading stuff and partially because of how much more it costs to make hardware than software. I recall some article breaking down the numbers, probably on MacRumors, nearly a decade ago (holy crap, now I feel old thinking about how long I've been reading MR for...)

If you can find a link to said article, great! Otherwise, I'm not sure I can trust your vague recollection.
 
I vaguely remember something about this, very vaguely.

I think it has to do with the fact that it looked at the net profit not sales. If you add up all the advantages of one vs the other:

Hardware costs, manufacturing costs, labor, shipping, accounting, etc...

Digital delivery has to be one of the cheapest methods you can find, they are selling (delivering) mostly what other create. They take (at least with apps) 30%.

I could very well be that they are talking about computer hardware not hand held hardware (iPhone/iPad).

If you count ALL types of hardware, that would be much harder to see. They have likely the best margins in the business.

... But again I vaguely remember hearing this a while back.
 
Thank you both for the tips.

Just wondering, how hard is it to learn Objective C? Can you pick it up easily?

Sorry your thread got derailed with the [painfully irrelevant] bickering. :)


In my mind (and I wouldn’t suggest I’m a educator of any sorts, just been developing for 20+ years), there’s three basic competencies: general fundamentals (that aren’t language specific), a/the language, and finally the SDK/API/framework.

Once you understand some basics of structures, flow, OOP, MVC concepts, etc., that’s easily applied to the language and becomes a matter of understanding syntax.

Then being conversant (so-to-speak) in a language allows you to extend that into the environment specific context, whether it’s a web framework like ASP.NET, Django or Rails, or a device SDK for a mobile platform like iOS.

The more languages you understand, the more you know what you _need_ to know. Super simple example: if I need a string value, I know some general things about how they’re handled, the likely methods and properties that should be available (so I know I need-to-know how to concat, return a substring, get the length, whatever ...).

I think sometimes, people get overwhelmed with Obj-C because they tend to encounter it in the vastness of Xcode where they’re not only dealing with the language (and basic concepts of programming and design), but the IDE UI, the SDK, tons of configuration, build options, etc.

Sometimes I think the best thing to do first, is to experiment a little with a language that can be run outside of all that noise, like Javascript in a browser, or Ruby, Perl, Python from the command line, or even a simple web stack like MAMP so you can get a little exposure to a language as well as a backend piece like the database (so many iOS apps, ours included, have a bunch of different moving parts: the iOS app, web services, DB, things like S3 for file storage, performance components like load balancing, caching [though some of the latter is more infrastructure/architecture and not a NTK to get started])

Good luck!
 
Sorry your thread got derailed with the [painfully irrelevant] bickering. :)


In my mind (and I wouldn’t suggest I’m a educator of any sorts, just been developing for 20+ years), there’s three basic competencies: general fundamentals (that aren’t language specific), a/the language, and finally the SDK/API/framework.

Once you understand some basics of structures, flow, OOP, MVC concepts, etc., that’s easily applied to the language and becomes a matter of understanding syntax.

Then being conversant (so-to-speak) in a language allows you to extend that into the environment specific context, whether it’s a web framework like ASP.NET, Django or Rails, or a device SDK for a mobile platform like iOS.

The more languages you understand, the more you know what you _need_ to know. Super simple example: if I need a string value, I know some general things about how they’re handled, the likely methods and properties that should be available (so I know I need-to-know how to concat, return a substring, get the length, whatever ...).

I think sometimes, people get overwhelmed with Obj-C because they tend to encounter it in the vastness of Xcode where they’re not only dealing with the language (and basic concepts of programming and design), but the IDE UI, the SDK, tons of configuration, build options, etc.

Sometimes I think the best thing to do first, is to experiment a little with a language that can be run outside of all that noise, like Javascript in a browser, or Ruby, Perl, Python from the command line, or even a simple web stack like MAMP so you can get a little exposure to a language as well as a backend piece like the database (so many iOS apps, ours included, have a bunch of different moving parts: the iOS app, web services, DB, things like S3 for file storage, performance components like load balancing, caching [though some of the latter is more infrastructure/architecture and not a NTK to get started])

Good luck!


Thank you for taking the time to type that detailed reply. It is really helpful.
 
Sometimes I think the best thing to do first, is to experiment a little with a language that can be run outside of all that noise, like Javascript in a browser, or Ruby, Perl, Python from the command line, or even a simple ...

Furthermore, experimenting with a smaller simpler programming environment can often be a lot more fun process than jumping in the deep end (with encyclopedic-sized frameworks and complex build processes, etc.)
 
Apple could port XCode to windows if they wanted to, of course.

But whats the point? There is no incentive for them to do so, since developer interest in iOS remains popular and are happy to buy a Mac for iOS development. And all this drives sales, of course, as pointed out below.

The foundations of iOS is the same as OSX, so there is a lot of commonality between each.

xCode as an interface maybe but...

Simulator relies Mac OS to host the apps.

xCode functional would need Mac OS Virtual Machine instance running.

Also LLVM hasn't been full feature ported as yet to Windows, so many of the tools to help you write better code would be missing.
a-path-forward-for-llvm-toolchain-on

Sorry to re-derail the thread but part of the fun of programming is delving in to the depths of the system trying to work out how to get things work.
 
learn

I'm doing the same excercise. I wouldn't go at the Stanford course immediately. It's great but you need to understand oop (object oriented programming) first.

I read a book by S. Kochan: it's good. Don't go thinking you'll pull this off fast though. It will take time. After Kochan I read a book by sams on iOs. Don't do that: they teach bad practices. Jump to the itunes Stanford course instead (I'm following it now).

Ow as for java/another language. I wouldn't do so. Java's easier but objective-c is the goal: stay focused...
 
When you think of it, making iOS Mac only is a brilliant marketing strategy. Apple is more of a hardware company while Microsoft is more software. To develop on mac you need to spend a MINIMUM of $600. They then have you in the ecosystem even deeper. Microsoft is software. They want more of a footprint in every business/household in some way versus Apple. For example, Apple won't release iWork on non-Apple systems, but Microsoft makes Office for Mac. Microsoft will make a ton based on licencing fees.

You can always make Android apps, but it gets more complicated. Apple knows they are more consistent and knows that the Apple App store brings bigger profits for developers. It's like having to buy a membership at Costco to save, versus shopping for free at Target. There's over half a billion iOS devices out there. You have a really high chance of just 1% of that market buying your apps. I'd say it's worth it.
 
Just wondering, how hard is it to learn Objective C? Can you pick it up easily?

Most competent C or C++ programmers report being up to speed developing iOS apps in Objective C in between 2 weeks and 2 months (but learning the bulk of the Cocoa Touch frameworks can take a lot longer).

But becoming a decent C or C++ programmer from scratch in the first place can take from between 2 months (if a genius) and 2 years (for a slightly below average university student). And some students flunk out of CS/IT.
 
Delphi XE5

Hi everyone
I have not done any iOS development but am curious what you think of the Embarcadero tools Like Delphi or their rad studio. Their firemonkey technology I assume is the bridge from windows to iOS. Is a Mac still required? I would had thought not.
 
Hi everyone
I have not done any iOS development but am curious what you think of the Embarcadero tools Like Delphi or their rad studio. Their firemonkey technology I assume is the bridge from windows to iOS. Is a Mac still required? I would had thought not.

One issue when using things not directly supported by Apple is that you are dependent on them keeping up with Apple's changes. Mobile development moves very fast.

iOS 6 just came out, then now it's iOS 7 and they are already talking about the next version. We still don't have an iOS 7 book from BNR (one of the better books).

Point, things move fast, you could get left behind waiting for some company to update their system.
 
Excellent Post

Sorry your thread got derailed with the [painfully irrelevant] bickering. :)


In my mind (and I wouldn’t suggest I’m a educator of any sorts, just been developing for 20+ years), there’s three basic competencies: general fundamentals (that aren’t language specific), a/the language, and finally the SDK/API/framework.

Once you understand some basics of structures, flow, OOP, MVC concepts, etc., that’s easily applied to the language and becomes a matter of understanding syntax.

Then being conversant (so-to-speak) in a language allows you to extend that into the environment specific context, whether it’s a web framework like ASP.NET, Django or Rails, or a device SDK for a mobile platform like iOS.

The more languages you understand, the more you know what you _need_ to know. Super simple example: if I need a string value, I know some general things about how they’re handled, the likely methods and properties that should be available (so I know I need-to-know how to concat, return a substring, get the length, whatever ...).

I think sometimes, people get overwhelmed with Obj-C because they tend to encounter it in the vastness of Xcode where they’re not only dealing with the language (and basic concepts of programming and design), but the IDE UI, the SDK, tons of configuration, build options, etc.

Sometimes I think the best thing to do first, is to experiment a little with a language that can be run outside of all that noise, like Javascript in a browser, or Ruby, Perl, Python from the command line, or even a simple web stack like MAMP so you can get a little exposure to a language as well as a backend piece like the database (so many iOS apps, ours included, have a bunch of different moving parts: the iOS app, web services, DB, things like S3 for file storage, performance components like load balancing, caching [though some of the latter is more infrastructure/architecture and not a NTK to get started])

Good luck!

I LOVE this post. Excellent. I wanted to suggest that you might consider starting with http://projecteuler.net/ for little problems to solve using D.T.s suggested approach above. Project Euler is just a list of small math problems which you can solve with computer programs. Its a great way to get your feet wet with a new language IMO.

You'll also learn some math, which is always a good thing!

Here is the first problem so you can see the kind of things you'll use to practice with:

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.