Bears? Pope?
developers more interested in larger markets shock.
Android handsets are nearly as popular as the iPhone among mobile app developers, according to a new study. The latest mobile survey from IDC and Appcelerator – the outfit whose Titantium kit lets developers build mobile applications with traditional web tools – indicates that 87 per cent of mobile developers are "very …
as much i think java is a pox ridden bastard of a quiche eater's language now run by people I don't trust, it's much nicer than objective C which took a terse, easy to make spectacular failures language and bolt on a bunch of ugly crap that makes code *less* readable.
i'd rather program in that poor excuse of a language known as python than objective c.
It's not just specifically people interested in multi-platform, but it's people interested in multi-platform for free.
It's like "Hey people, we're interested in knowing which platforms you're interested in us supporting if all you have to do is upgrade your software and click 'build and deploy for all platforms listed above'?"
The survey is a total waste of time because :
a) We're talking about web tech apps. Things like "Our software let's you make your web page feel like an application." Don't get me wrong, I like web apps. As long as they're made well.
b) We're talking about a company that really is just sharing their research regarding "Which platform do you think we should support out of the box next?" So, they're just finding out what their existing customers want next. "Would you rather us support WebOS because it's cool or Windows Mobile because it'll probably take spot #3 away from BlackHasBeenBerry". The developers involved aren't writing a single line of code for any of these platforms, they're making a web app and using the tools offered by this company to handle some things like access to a local web server for data storage.
c) Less than half the developers interviewed should really qualify as developers as opposed to web page designers. There's a difference. I can write an MPEG encoder, but I can't make an icon to save my life. Designers are one thing, developers are another. Titanium "developers" are almost certainly more like designers that use appcelerator to do the "developer stuff" for them.
I've written a program for iPhone, Android, Symbian and Windows Phone. It was a living nightmare. But, I managed to do it. The majority of the visual code was written using an OpenGL ES abstraction that worked on top of DirectX as well. The code was written in a metalanguage I implemented to make porting between Objective-C, Java, C++ and C# easier. The audio code was just a living nightmare. The "real time" code including the threading and more specifically thread synchronization made me want to shoot myself. When I was done, I had a very simple voice over IP application which worked "ok at best" and if I had to do it all over again, I'd write almost entirely different code for each platform, dump Symbian and cut the features of Android down to a minimum.
Symbian is a waste of time and Android is just too damn hard to write good performing code for, I'd optimize it, but I just don't have a clue what processor will be in the phone, so I'm stuck with just trying to write good code and hoping the VM can make it work on whichever device it's on. But to be frank, I wouldn't know how to sell the apps on Android anyway since I'm not even sure which store is the right one to go with.
Google is quite some way behind when it comes to dev tools, with both Microsoft and Apple offering dramatically better offerings, with tight integration. Not having ownership of the entire suite of dev tools is a big problem for Google going forward.
On Android there are quite a few reasons why you might want to go native - for instance if you're writing her performance games, or, as in my case, porting a substantial amount of code from elsewhere. The tools with NDK are very deeply unpleasant. So much so in fact, you'd do as much of your dev outside of the Android environment.
You have to be absolutely kidding right, are you seriously suggesting the tool support for Google's platform (I'm assuming you mean android, but the same applies to their other offerings), i.e. eclipse and the google plugins are below that provided by apple and microsoft.
Absolute nonsense. I work all day in a microsoft focused development company, in my own time I write for platforms including android and iwhatever. XCode and related development tools are abysmal, and visual studio is a bit better than that, and of course the useful/practical version of visual studio costs and you have to pay apple to be able to download the iOS development platform. In all seriousness and honesty I can develop stuff for android at least twice as quick with the tools google provide than those from either apple or ms.
True integrating the android simulator into eclipse takes an initial manual step, but that takes 2 mins. I'd much rather do that 2 mins to get the "tight" integration apple's. Or yeah, you also have to tell eclipse to look on googles web site for the plugin, another two minute one off job.
"Not having ownership of the entire suite of dev tools is a big problem for Google going forward." Balderdash again, they are building on the back of proven and extensible tools, google can concentrate on features need for android development, and it's available on most peoples preferred development platform, have you any idea how much of a pain it is having to develop on a windows box, then jump onto a mac and when not restrained jump onto a linux box.
Not the OP, but you already lose some credibility saying that you have to pay for XCode--that's never been the case. It's a fine environment. (With the possible exception of Interface Builder, which I never needed, wanted, or bothered to learn.) And developer experience doesn't end with the IDE. Apple's APIs are nice and clean and simple, whereas Android's APIs are unnecessarily verbose and complicated.
I said you have to pay and sign up to download the iOS SDK, which XCode uses to do iOS based development, show me where you can download it without handing over you money for the developer program. Even if you could (which you can't), all you would not be able to do anything but run the code under a simulator.
I'll never touch a platform with a horrible lack of 0.x updates from the major manufactures like Android marketplace has. What good is it being a Droid fan when you are stuck with Carriers pulling the same crap of releasing a phone with a buggy version of Android and never releasing an update or deliberately holding updates for the next phone to force customers to keep on buying new phones all the time. Same old bloody story and I've had enough. No more android plans for me!
Based on an MIT system, an earlier incarnation was on a mid -90's programmable Lego device . Except this time it works. You can develop for an emulator or a phone . It uses a jigsaw like metaphor so parts only link where they are logically applicable in the code structure. it supports sensors on the phone , it's able to mail , text and use the voice phone . It produces easily understandable code. the GUI designer is easy to use and separates the code from the GUI by having separate development environments. it can start and receive data from other applications running on the phone via intents.
It has a relevance in drawing in previous non-coders to programming. Despite multiple cognitive disabilities, i have been coding since the early '70's.. this has been the easiest system to produce code that lacked the input errors inherent in most ide's. logical and structural errors remain , but debugging is fast.
In Google's usual way, its a beta with regular updates. it has some spongy areas; the current IDE has some way to go in terms of display of the code, larger than phone format support is partial, accessing web based resources is a bit of a hack.
the leap from this to using eclipse to write Java is still a brown trouser event, but as a launch pad it is likely to get more people to try.
If The UK education system can wean itself off the Microsoft teat, I'd urge schools to deploy this widely, It supports the absorbing the fundamentals with little of the brain numbingly boring theory lessons.
We will need to produce coders for economic survival.
Paris? Because even her dog could use this.
PS can we have a male equiv. for the Paris picture? Probably the outraged Neanderthal from Kiss who believes the internet to be designed with sole intent of depriving him of his music royalties.
I remain unconvinced about pascal, but app inventor is used in the place of the dreadful logo and turtle combo for much younger children than those formally studying CS. My experience of CS is that the academic course material approval cycle is often longer than the period of relevance of the subject being studied. (particularly in a fast evolving area).
there is a saying that a weekend of messing around with perl does more for your job prospects than 2 months of CS study
I fell sorry for you if you believe this "business world moving faster than you can learn" B.S.
Quicksort, Hash tables, balanced trees, vectors etc have not changed in any meaningful way for the last 40 years.
Being able to transform a business or science problem into an algorithmic solution first and foremost requires proper data structures and reasoning about algorithms. The clusterf*cks of "industry standard languages" do not help to develop this skill.
The first objective in a proper CS education in secondary or tertiary education must be to enable pupils/students to think in data structures and then devise or apply an algorithm. Pascal is as clean as it can get to help students achieve that objective. Quick hacks with funnily typed languages and regexp might be ok to to a quick-and-dirty job for a $hitty businessman, but anything non-trivial requires the skills one learns by doing Algorithms & Data Structures with something like Pascal or Ada.
These survey results are not at all representative of iOS developers as a whole as the vast majority use Apple's Xcode to write iOS apps, not the software sold by the company that ran this survey.
Appcelerator's survey subjects are part of a small minority of developers who are using the Appcelerator Titanium cross-platform development environment which is used in 4,000 iOS apps, which amounts to only 1-2% of the 300,000 apps in the App Store. Appcelerator not that long ago was banned from the iOS App store as were other cross-platform environments so what is surprising is that these particular devs were not far more negative towards Apple.
A previous study a few months back by AppStore HQ of every published iPhone, iPad and Android developer currently in the Apple App Store or Android Market demonstrated that there is only a tiny percentage of developers engaged writing software for both Android and iOS:
iOS developers = 43,185
Android developers = 10,199
iOS & Android devs = 1,412
As only 3% of iOS developers targeted both iOS and Android, it is quite inappropriate to assume that these cross-platform Appcelerator customers represent the views of the much larger iOS development community.
By buying Appcelerator's software these developers were already planning on developing cross-platform and thus represent a completely biased sample which cannot be extrapolated to the rest of the iOS dev community.
Other data strongly suggests the opposite of what Appcelerator reports - that iOS continues to garner far more dev interest than Android because that is where the money is. For example, Larva Labs found that "Overall we estimate that $6,000,000 has been paid out to developers for games, and $15,000,000 has been paid out on apps. That is a total of $21,000,000, nearly 1/50th the amount paid out to devs on iPhone. This really indicates how much of a cottage industry the paid Android Market remains, with insufficient sales numbers to warrant full-time labor for paid content."
Then there is AppBrain's findings that over 45,000 of the 100,000 apps in the Android Marketplace are spam apps.
As such, these survey results are not very useful at all.
-Mart
Not only is it easier to develop on Android, it's easier to publish too. I can port existing java code without any real pain at all.
We develop both Android and iOS, but right now (and since about 6 months ago), out main focus is Android, the explosion that's occuring right now is just the begining.
My mum just got her first smartphone, a HTC Wildfire, and that is someone to write home about.
The article went up yesterday, and I've not seen one proper fanbio/droidboi rant here yet.
It's all very sensible, raitonal and logical, with only a couple of borderline ones (I'm looking at you AC 11:20).
I think I need to go have a lie down - I'm obviously not feeling well. Or maybe it's the apocalype.
There's no mention of Symbian here, despite it being the number one platform.
Note that this isn't a survey of developers, it's only a survey of those using one particular third party toolkit. And if that toolkit doesn't support the number one platform, it's even more flawed a survey.
Symbian (and Maemo/Meego) uses Qt. I've found it a very nice development platform; allows porting apps to and from desktops without a single change in code, and is one of the best application toolkits I've come across. A shame I can't use Qt on any of the other phones.
Symbian also supports Java, so you've still got more choice than with Android.
@CheesyTheClown: "if I had to do it all over again, I'd write almost entirely different code for each platform, dump Symbian and cut the features of Android down to a minimum."
Why would you dump the number one platform? If you had bad experiences with Symbian C++, note that that's old news. Developing with Qt is great, and uses standard C++.
"Symbian is a waste of time"
If you say so.
Native Symbian is a difficult API to work with, even in its "standard" C++ form, and until now Symbian/Series60 Apps were deployed to a market that was largely unaware that they could even download apps to their phone.
So, big effort for small market. Sounds like a waste of time to me.
Qt is a different story, and it is a really nice platform -- even the IDE isn't bad (XCode still a bit better, but it's miles better than the festering Eclipse). It's still missing some stuff from native Symbian (or Maemo/MeeGo), but it's definitely the way to go if you want to address Symbian and/or MeeGo.
But, don't get your hopes up: none of this will ever give you a #define-free build onto multiple platforms, unless you limit your efforts to "Hello World". The goal is to reduce the differences to things that are actually different (OS and hardware features, for instance), rather than things that are just done differently.