The long-term potential of the iPhone / Windows Mobile development platform

It seems that Apple has so far left the farthest of any mobile platform in creating a good universal ecosystem of developers (SDK, application distribution, monetization, etc.). However, after reading comments from previous SO questions on mobile development (like this and this ), some criticisms seem to pop up, like this:

  • Objective-C, although a good language, is not actually used outside of Apple products.
  • The development environment and tools do not match what Microsoft has to offer with Visual Studio and .NET.

So, I wonder about the viability of the Apple ecosystem in the long run (i.e. 2-4 years). If Windows Mobile 7 mobile phones (supposedly released in a year or so) increase market share, will the iPhone development environment be able to compete with .NET + Visual Studio (plus any Store Store distribution mechanism) Microsoft comes out with) Judging by what I read about the development of the iPhone, I get the impression that we can see a gradual depletion of developers for Windows Mobile, since most of them will prefer to develop a set of Microsoft tools.

For developers with experience working with any of these platforms, what are your impressions on this topic? Does the iPhone platform have long-term viability (compared to Windows Mobile) that goes beyond its initial advantage of increasing market share?

==

Edit: fair points about the benefits of the App Store. But I’m interested in the long-term potential of both platforms, and it seems that it’s only a matter of time before Microsoft comes out with its own app store (for example, SkyMarket), which makes installation as easy as on an iPhone. (Although the iPhone app store may prevail because it appeared first.)

+4
source share
6 answers

I do not think that Windows Mobile is a competitor to the iPhone. As far as I can tell, for consumer-oriented developers, there are four platforms that developers should consider right now:

  • iPhone
  • Blackberry (with the new App Store )
  • Palm Pré (which will receive the application store)
  • Android (which will receive the App Store for paid applications)

Everything else is non-essence. Symbian and Windows Mobile may once again become relevant, but today it is not. There is no healthy software market on these devices, and I don’t understand whether a significant part of the people who decide to buy Windows Mobile phones care about third-party software.

As for tools and languages, the differences are not significant. This is simply not a problem. Developers will not give up on a market such as the iPhone, simply because they do not like tools or language.

What's more, Xcode is more than enough (some prefer Visual Studio - I definitely think some of its aspects are better than their Visual Studio counterparts), and if you know Java, C ++ or C #, you will learn Objective-C within weeks maximum. These are basically two or three new concepts, a slightly different syntax and reference counting. If you already know several object-oriented languages, learning Objective-C is not a problem, and if you do not, this is a good reason to pick up some new ideas and concepts.

The real difference is in libraries, and I personally prefer Cocoa for .Net libraries, which often require you to switch to the pre-.Net APIs.

Perhaps in four years everything will be different. Perhaps Nokia fixes Symbian forever and occupies the smartphone market. Who knows? You must do what we have today :-)

So my points are:

  • Until Windows Mobile actually becomes a viable platform for third-party applications, ignore it.
  • Instead, look at Pré, iPhone, Blackberries, and Android phones.
  • Objective-C is just a programming language. It makes no sense to even think about it too much. Any programmer can study it for a week.
  • Xcode has its drawbacks, but it also has its strengths and no worse than Visual Studio.
  • Cocoa is excellent [/ li>
  • Four years is a long time, and no one knows what will happen by then.

Programming for the iPhone is subtle fun and you will learn a lot if you have never made up your mind outside the .Net world. Just pick up a good book, postpone the weekend, set a small goal (for example, a small game or todo app or something like that) and get the encoding. Even if you do not like Xcode, even if you do not write any iPhone applications, you will get a better programmer.

And if Symbian really wins, the experience of learning to write code for the iPhone, at least, taught you how to get up and work on the new platform :-)

+7
source

You are missing the point of the Apple IMO Toolbox.

VisualStudio may have a good toolkit, but Apple's toolkit is good enough (and pretty impressive, IMO) to include 15K apps with over 500,000,000 downloads. I would say that it is very useful for the future.

The killer app for iPhone is the AppStore. This is the only way to get applications on the phone and is outside the carrier management system. Try, for example, getting the application on your Verizon phone, and you will soon find out what the control means for the wireless carrier means.

The discovery is based on web interfaces, so you can send someone a link to the application, and when downloading - to a page where they can install the application. Simple and elegant.

Objective-C language quirks are a red herring. Any competent developer will arrive at speed in a few weeks. Cocoa is an incredible infrastructure.

In addition, do not underestimate the ability to manage equipment specifications. Apple’s control over the hardware specification is good for developers because they can rely on things to not become complicated and fragmented, since it’s in Apple’s interests to not just send phones that don’t meet the iPhone SDK specification as much as possible. When OEM makes hardware for the Windows Mobile specification, there is always “interpretation” of the specification, which means that the developer left a bag between phone a and phone b and why does my application not work the same on both?

This is a big, often forgotten point in a mobile phone. If there is no one owner of the hardware specification, he will easily become "write once, debug everywhere."

+6
source

"If Windows Mobile 7 phones (which are scheduled to be released in a year or so) will increase market share ... we can see the developers of Windows Mobile gradually deplete, as most of them will prefer development using the Microsoft toolkit."

Suppose VS and CLR provide a better programming experience. EVEN CONSTANT, it is not at all clear that a "gradual exhaustion" will occur in relation to WM. “Programming experience” is just one factor that developers face; existing market relationships and perceptions are different (think of Amazon and eBay or, for that matter, the iTunes MP3 store).

You say that the "longer term" is 2-4 years. At that time, is there any chance of getting WM7 on the LARGER market than Apple? Not realistic.

Even if we tackle the far horizon of your time frame, is it possible that the development of the iPhone will be COLLAPSED in 4 years in the face of an excellent programming experience for WM7? What is MS, which is possibly a platform killer against the iPhone? C # 4, DLR, VS2K10? Nothing like that is enough. What can (possibly) do is Azure.

But I would say that if you think that Azure is a killer for the iPhone platform, then you should pay equal attention to Google / Android.

All of this means that in terms of risk management, the least risky choice is the iPhone. If you want to reduce the risk of misuse, just put down your Cocoa programs so that they can be re-implemented, say, in C #.

+5
source

Funny, the viability of the development platform is truly secondary to the viability of the delivery platform.

The best development platform in the world is practically useless if there is no market on the market for products that you can make with this platform.

iPhone / iPod touch is an isolated, “proprietary” product, but at the same time it sells a lot of units. More importantly, he sells units to people who like to buy things from the App Store. The App Store is an integral selling point for many users.

So basically, the viability of the dev platform is strongly related to the viability of the platform itself.

+2
source

This is really, really subjective, because we do not have a crystal ball. I’ve been involved in mobile and embedded development for ten years, and I played with most of everything there (you neglected mentioning Symbian or RIM, and Palm used to be a big player too).

I was very disappointed with Microsoft’s mobile “strategy” over the past few years - they seemed to only look at enterprise applications and developers. However, they have proven themselves in creating first-class tools, and the Compact Framework is one of the most robust products I've seen shipping from Redmond (v1 is admittedly limited, but it was pretty damn for v1, from-nothing shipping).

The iPhone seems to be taking advantage of this and beating Microsoft heavily in the consumer space. But you cannot expect that Microsoft (or any business in their place) just sits in the face of intense competition. I am sure that they have something planned (although even I have no idea what the plan is). Is it enough to recover? Who knows.

And is this the iPhone that he advertised? Well, I would say that it is not as simple as it seems to some people. You are limited in what you can write; you are limited in how you can sell and distribute. You are limited in the tools that you can use and the target equipment that you can work on. Not the biggest environment. But then again, will they remain the same, despite the likely competition from MS, RIM and now even Google? It's hard to say, but I would argue that this is unlikely.

So who will win? I'm not going to take chances on any of them. We have already invested heavily in both hardware and training, in Microsoft technology, so it is unlikely that we will simply refuse it. However, we have already done some work and a job for the iPhone, because we would be fools to keep all our eggs in one basket.

+2
source

If you write telephone software such as desktop software, you are not doing it right. Palm had some good recommendations on how to approach the development for its handheld computers, and this advice will also apply to the phone.

Since you will need to delve into different thinking, using a slightly different language and different tools will not be a big problem. Indeed, a different development environment may help you maintain different mentalities.

+2
source

All Articles