Free Republic
Browse · Search
General/Chat
Topics · Post Article

To: FredZarguna
Two questions: 1) Have you written any code for the iPhone? and 2) What would your language of choice be on the iPhone if it could be anything (whether you’ve already coded for it or not?)

1) No, I've only written small test apps for android in Java. None of my clients have requested any phone apps yet.
2) C#. I thought I would have to learn Objective C, but someone else on the forum said it was possible to use C# with mono to do it.

56 posted on 02/02/2013 10:22:35 PM PST by softwarecreator
[ Post Reply | Private Reply | To 53 | View Replies ]


To: softwarecreator
That was me. And as an Android and iPhone developer (among many other platforms) I'm trying to help you a bit more. http://xamarin.com/monotouch. This is the iPhone C# product from some of the guys who used to be Netware, which makes iPhone coding barely tolerable. But read on.

Full disclosure: this is a "buy" product, and I have nothing to do with any aspect of selling or developing it. But I do use it.

My $0.02: Develop for Android FIRST. The developer tools are better and they're free, and the platform is as open as DOS/Windows (pre Metro.) It's Java, and once you get used to the limitations of the Dalvik VM it's a pretty good implementation. You download everything, install up to the latest OS, can be up and running in about an hour, and running your first "hello world" 'droid app on your own phone ten minutes later.

iPhone: Objective-C is the worst language ever invented. It's actually worse than Visual Basic. My tagline for this thread says it all. Objective-C is a rich man's toy, which, like Visual Basic, if it did not have a multi-Billion dollar sugar daddy insisting it continue to play a pivotal role in the strategic direction of the company against all common sense, would have ceased to exist long ago.

If you like Java, C++, C# or even Delphi, I guarantee you will despise Objective-C.

But Objective-C is not the biggest problem with iPhone. The biggest problem with iPhone is that Apple is so evil and so dedicated to making everyone who develops for the iPhone their own personal cubicle slave that you will be pulling your hair out over all the legal, economic and downright arbitary roadblocks that Apple throws in your way.

First: you must buy a Mac. Unlike 'droid, where you can develop on Mac, Linux or Windows, for iOS you must buy a Mac. I don't know how they get away with this requirement which clearly violates SEC's restrictions on bundling, but they do.

Second, you must pay $100 to download ANY app to your phone. That is correct: on your own phone, you as a developer will pay $100 to download your own "hello world" app to your own phone. You will have to go to Apples web page and plunk down the money up front and then wait for a provisioning certificate.

That $100 will NOT allow your friends, coworkers, betatesters and support people to use your app. Just YOU. Think of it as a small price to pay for being permitted to touch the awesomeness of Apple.

Third, your app must meet iPhone's guidelines to get into "The Store." You CANNOT develop apps just for a couple of friends or clients, unless you get them into the Corporate Program. [And most businesses do NOT qualify. Many who do, will NOT allow themselves to be qualified, because they have to agree to so many restrictions. Apple's evilness strikes again.]

So, if you want an app for 10 people in a small distribution, it must go through "The Store," and you must wait for approval. If Apple decides there are already "enough" apps like that, they won't approve it. If Apple decides they don't like the interface or that it violates their guidelines, they won't approve it. If you try to use any "out of channel" type of communication with the device, Apple won't approve it. [Because Apple also wants control of all content and all delivery channels on the device. This is one of the biggest ways they make money.] If your app uses any third party library that isn't already on the device, it's dead before you even start. If your app uses a newer version of, say, sqlite (which, thank heavens is on the device) you'd better make sure it's downwardly compatible to the version on the iPhone, because you CAN'T download a newer version.

So ... bottom line: you want to code for iPhone, make sure you have a lot of customers lined up in advance and that you're willing to play 100% by Apples rules. Because otherwise it is going to be too expensive and too cumbersome to do it. It's one of the reasons that 'droid has taken off, and Apple is going to remain stuck at their 16% share or whatever. That said, it's lucrative if you've got the customers. Or you've got a great idea for the mass market. Fortunately, my apps were already running on thousands of Palms and PPCs and customers were lined up for me. Your mileage may vary. If you're an Indy software developer or work for a small shop and do not have a product with customer loyalty, or your users are agnostic on the platform, I can't stress this strongly enough: go 'Droid FIRST. It's the kind of environment you're already used to if you're doing Windows or Linux or Unix or even legacy coding on mainframes.

60 posted on 02/02/2013 11:02:03 PM PST by FredZarguna (VB and Objective-C: because you should only be allowed to program with a rich man's toy language.)
[ Post Reply | Private Reply | To 56 | View Replies ]

Free Republic
Browse · Search
General/Chat
Topics · Post Article


FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson