Views sought on cross platform development - General Topics

Hi
I work for a small research firm/IT consultancy. I'm attending a meeting in a few weeks time, the meeting is being held by the University of the West of England (a UK Uni) and various local business groups. The aim is to discuss the development of a GPS-based program to help encourage children to exercise. As I have a bit of knowledge about various GPS-based software programs and platforms, I have been asked by a contact of mine to attend.
I've been thinking that by far the most obvious platform to target is the mobile phone - every kid has one and most these days have either GPS built-in or can access a bluetooth GPS device. Now, there are five mobile phone platforms, Java, Nokia's Symbian, Apple's iPhone, Google's Android and Microsoft's Windows Mobile. If an app could be developed across all five platforms, it would be pretty much available to all kids.
As I have very limited experience of these platforms, I was wondering if anyone cared to give any views on the difficulties involved in developing for all five platforms (is it even possible to cross-develop across all these five platforms, or would each one be a separate project?) and any other views pertinent to GPS-based programs for mobile.
Also, if you know of any Android developers (companies) in the South West of England, preferably Bristol, that would also be great.
Rupert Plumridge
Senior Research and Commercial Manager
OTR-Group
www.otr-group.com

All depends of the language that you choose, but remember that mobile devices have some limitations.
Here are some lists of the Windows Mobile limitations: DevBuzz - Windows Mobile Limitations

Cheers for the reply, yeah, I guess language is most important - Java seems the most cross platform - not sure if the iPhone can handle that though.

For iPhone the better choice is Objective-C(CocoaTouch Framework), but you will need to have a Mac if you want to develop for it. This was because I didn't buy a iPhone to start developing for it, I don't have a Mac
For Windows Mobile I suggest you to use C#(.Net 3.5) with Visual Studio 2008 Professional. It's the most featured environment for WM development, or you can try CeGCC.
For Android the best choice will be Java with a very good knowledge of XML. A good link to start is How-To Develop Android Applications
And for Symbian, the best choice will be C++, also take a look at Getting started with Symbian development
Now you choose

You can use C++ on iPhone, WinMobile, Android and Symbian using Airplay SDK - the same compiled app will run on all of them too.
This is a magic bullet for cross platform dev, enjoy!

"For Android the best choice will be Java"
think you get more kernal power in their c++ tdk then java

Related

Upcoming developer: which platform to concentrate on?

Hi there,
it seems to me most people here develop for WinMo devices, but maybe you can help me out nonetheless.
Currently, I'm a web developer in PHP (+ usual stuff). I studied computer science, so I'm not a newbie when it comes to coding I learned a lot of C and (unfortunately only) basics in Java and C++. I never got my hands on C# or VB and stuff - the only experience in developing applications for Windows Mobile was a small Texas Hold'em Clock (basically a simple countdown and some additional stuff) I did a few months back. I pretty much google'd everything I needed and copy'n pasted the code into Visual Studio - not really developing, but those where my first steps
I consider getting started in development for mobile devices like BlackBerry, Windows Mobile devices, iPhone, Symbian and/or Android. The problem is: I don't know which one of these might turn out useful on when I might be applying for a job later (which is basically my whole point doing this, I don't want to do web development for the rest of my life). Any thoughts?
What type of job do you want to do? first find out what the sort of jobs you want to do require, many software houses use c# so you could develop for windows mobile, if they require java then try android. Iphone uses objective c which isn't used outside of the mac world so unless you want to work for a company which creates mac programs maybe you should try something else.
Then again if you just want to make some cool apps and actually make money from them I would say iphone is the easiest to get you product to market then android with wm coming last.
also if you learn java then you can quickly pick up c# and vice versa so I don't think it really matters either way.
there are of course many other options, if you happen to want a job that requires python you could get the excellent upcoming n900 from nokia
Cant offer advise on that, but what you can do is write a better app for Facebook, the MS one SUCKS compared to the iphones (eeek i said the dirty word............)
ms's also sucks compared to the x1 panel facebook which again is not as good as iphones :S

How to develop an App for multiple mobile-OSys?

Hey there folks,
after reading these forums for quite a while and having several smartphones during the last years, I reached the point where I want to start creating my own apps. I tried to google around a bit and found some interesting tutorials on how to start creating apps. I also found several SDKs for different operating systems. But exactly that is the point leading to my question.
Before starting to code: is it possible to choose a platform from where my app can be delivered to each winmo, iphone, blackberry or android?
Or is that just plain impossible? I mean, those are all touch based devices Should'nt be that much of a difference? Originally I wanted to start developing an iphone app, but that would leave out all the android users and so on. I don't want to rewirte everything from scratch for an android device after having finished the iphone variant. And that did not even consider the advent of windows 7.
So, is there any way of coding for all the operating systems, keeping the effort of switching between operating systems low?
greetings and thanks in advance for your help,
your unexperienced coder-in-spe,
joker
While all four of the devices mentioned all use ARM processors of various flavours to do the work, they are four completely different operating systems, each with their own IDE and programming models.
Even considering Windows Mobile, you have to decide whether you are programming for a SmartPhone/Classic or a Pocket PC/Professional device. In this case it is possible to write code that will run on both WM platforms, but you will have to make that decision at design time, before you even think of writing a single line of code. Your application will then have to act accordingly, depending on the machine on which it runs.
java apps for symbian often works ok on wm using a midlet manager
not sure about android and blackbarry but being java not too much code would be required to port it I suppose
mind you java on wm work pretty poorly
and iphone got rules that you can only make apps using objective-C/c/c++ and their SDK
which is only available if you own a mac computer
Thank you for your answers. Looks like starting to code is not that simple as expected. So I will try developing for iPhone only :/

Cross Platform App-Dvelopment

Hey there,
I want to write an App which I want to distribute to different mobile Os. I'd be glad if it worked on iPhone, Windows Mobile, Symbian, Android and if possible otheres.
Now I'm looking for some technology I can use:
What would you recommend? Java, Flash, Javascript-based?
What I need is:
- app-downloadable, so it doesn't require an internet flat using it
- some api to have access to cell id and / or gps for phone tracking
- very easy cross platform publishing without much platform dependant code
I do have good Java knowledge and do code Actionscript 3 since some years. I already found some solutions for cross-platform development, but if there's anybody here with experiance I'd gladly hear some opinions.
I'm anticipating your replies

[Q] Qt on WP7: Possible but why not?

Qt apps work on WinCE. If WP7 is built on top of WinCE, why would Qt apps not be allowed on Win7?
I'm just trying to make sense of it here. Is it an artificial Microsoft restriction for their platform?
Because third-party apps are managed in .NET compact framework. Qt is a C++ framework and thus unmanaged. This is a smart move by MS as it increases system stability and enhances user experience.
leonard2010 said:
Because third-party apps are managed in .NET compact framework. Qt is a C++ framework and thus unmanaged. This is a smart move by MS as it increases system stability and enhances user experience.
Click to expand...
Click to collapse
If that's the lame reason they give for it not being doable then I will just need to hack Qt onto it. Dumbest move in Nokia's history!
discourse said:
If that's the lame reason they give for it not being doable then I will just need to hack Qt onto it. Dumbest move in Nokia's history!
Click to expand...
Click to collapse
givin that one of the main reasons that windows mobile 6 and for that matter windows desktop can be unstable is poor quality 3rd party programs i think the move was a very good one, forcing programers to stick to strict controls means they have to develop good software, also givin MS got most of the flak for these crap programs i think it was a good move on their part
at the cost of lower performance and code easily being stolen. MS don't care about developers. Hacking a silverlight app onto CE and calling it a new OS was a terrible shortcut and will cost them in the long run.
It's a matter of time until Microsoft releases a Native Development Kit. In a recent interview Brad Watson from Windows Phone 7 Development team said:
Brad Watson said:
8) What about native SDK? Android got theirs later, should we expect Microsoft to provide a native SDK also, or just forget about it ?
BLW – if by native SDK, you are asking will we allow anyone to run C or C++ unmanaged code on the device, the answer is “not now.” Our primary concern is ensuring that there is a fantastic customer experience on the phone. We recently announced that we have satisfaction rates for the phone at 93%. That’s amazing. We attribute at least some of that to the fact that customers can buy apps that they don’t have to worry will trash their phones, and they don’t have to worry because of the managed platform.
Over time we will certainly relax certain restrictions on the phone, but we cannot compromise the integrity of the phone experience or the marketplace experience.
Click to expand...
Click to collapse
Microsoft has to release a NDK because the competition has a NDK. Hopefully the competition will have more and more NDK applications (Firefox, Skype) which would make them more appealing to the user.
When such a NDK will be present, Qt (at least lighthouse) will be ported to Windows Phone 7
indiekiduk said:
at the cost of lower performance and code easily being stolen. MS don't care about developers. Hacking a silverlight app onto CE and calling it a new OS was a terrible shortcut and will cost them in the long run.
Click to expand...
Click to collapse
While I agree it's far from the entirely new OS we were promised I very much doubt it will cost them in the long run. They have provided a OS experience that is second to none, this is all because of the limitations they have put in place.
I would expect the platform to open up somewhat for the next wave of [higher-end] devices giving existing users an iOS-like experience where you can certainly upgrade to utilize multitasking and all that jazz but it will cost you some of the current smoothness of the UX.
The fact that .Net assemblies are easily decompiled into fully working Visual Studio projects hasn't been a huge problem on the desktop and as obfuscating tools become better and better I see no reason why it should lead to a problem on the mobile platform either. Looking thru some of the recent marketplace apps they are all but decipherable for the average developer. Also, as more and more processing moves to the cloud it becomes less and less of a problem - most startups are neither willing not capable of mirroring your closed-source/protected backend services.
The missing NDK is not the sole reason. The OS IS different. As others have pointed out, quite some GDI stuff is just not there, or doesn't do anything. So, Qt would probably just not start. And as there will never be (as MS said) (official) OpenGL drivers on WP7 you can't switch the backend.
And there has to be already some kind of NDK, as e.g. Navigon Select is a semi-native application and it is not created by OEMs.
Hades32 said:
The missing NDK is not the sole reason. The OS IS different. As others have pointed out, quite some GDI stuff is just not there, or doesn't do anything. So, Qt would probably just not start. And as there will never be (as MS said) (official) OpenGL drivers on WP7 you can't switch the backend.
And there has to be already some kind of NDK, as e.g. Navigon Select is a semi-native application and it is not created by OEMs.
Click to expand...
Click to collapse
They say IE9 will have accelerated graphics support, which I presume is based on Direct3D. For WinPhone7 Qt needs a Direct3D backend, which should work on all WinPhone7 devices.
Qt should have the same capabilities of IE9, which AFAIK is not written in managed code.
Qt could also use Google's angleproject which should help in translating "OpenGL ES 2.0 API calls to DirectX 9 API calls".
Since this is a discussion thread, this is going in WP7 General.
~~Tito~~
It will simply not happen. It's that easy. (Not w/o homebrew that is)
By not allowing Qt on WP7, Microsoft and Nokia have just shot themselves in the foot. Instead of offering a smooth migration path for the millions of Nokia users and devs, they've basically alienated the entire community. WP7 is also losing out on thousands of high quality applications like Angry Birds for Symbian^3 and MeeGo that was developed using Nokia's Qt SDK. http://www.youtube.com/watch?v=mS1dwYmKMjs
discourse said:
If that's the lame reason they give for it not being doable then I will just need to hack Qt onto it. Dumbest move in Nokia's history!
Click to expand...
Click to collapse
Good luck hacking Qt into it.
Using .NET also increases Security.
WP7 doens't need Qt, and Microsoft should do whatever it can to stop Nokia from putting Qt in WP7.
Those reasons aren't lame, unless you're missing the portion of you brain that controls logic.
discourse said:
By not allowing Qt on WP7, Microsoft and Nokia have just shot themselves in the foot. Instead of offering a smooth migration path for the millions of Nokia users and devs, they've basically alienated the entire community. WP7 is also losing out on thousands of high quality applications like Angry Birds for Symbian^3 and MeeGo that was developed using Nokia's Qt SDK. http://www.youtube.com/watch?v=mS1dwYmKMjs
Click to expand...
Click to collapse
It's much easier to develop for WP7 than it is for Symbian/Qt. I don't think the developers will have much of an issue with it. They didn't shoot themselves in the foot, you people just AREN'T developers, and don't understand it.
You know you're talking to clueless people when Angry Birds is the epitome o fa high quality application to them.
Cause you cannot develop Angry Birds in XNA, and you seriously believe porting Angry Birds to WP7 will involve nothing other than a few code line changes and a recompilation?
Give me a break.
I wish Microsoft had partnered with SE or something. Nokia's fanbase are more bat**** crazy over these pet projects than the Android people.
Qt will continue to be the development framework for Symbian and Nokia will use Symbian for further devices; continuing to develop strategic applications in Qt for Symbian platform and encouraging application developers to do the same. With 200 million users worldwide and Nokia planning to sell around 150 million more Symbian devices, Symbian still offers unparalleled geographical scale for developers.
Extending the scope of Qt further will be our first MeeGo-related open source device, which we plan to ship later this year. Though our plans for MeeGo have been adapted in light of our planned partnership with Microsoft, that device will be compatible with applications developed within the Qt framework and so give Qt developers a further device to target.

[Q] Android and iPod apps vs Windows apps

After a lot of unsuccessful searching, i figured i would try here.
Why does it always seem like every app offered is for iPod and Android phones only? Everywhere i go. Available for iPod, Android, and MAYBE BlackBerry. It occurs mainly with popular websites "Now Available As An App!". I don't understand why... Can someone shed a little light on the matter please.
It's because these devices have a different interface (small screen, touch operated), a specialized app as opposed to a full-blown website can offer a more streamlined service.
And now i am seeing that IMO.IM has an app for iPod, iPad, Android, Blackberry, or Nokia! Really? That is almost like going out of their way to not be on windows. In a way, i am glad because this was kind of what apple had gone through back in the windows vs mac days. But now i am on the losing end and i am pissed. Im still really considering getting an android over windows 7
WP7 is a relative newcomer and only has a very small market penetration. If you were hoping to make money off an app which platform would you code for first?
The main reason is C++ SDK! Currently Microsoft hasn't provided C/C++ SDK for Windows Phone 7. There are many apps for Windows mobile which aren't available for wp7. such as MS-DOS or Lingvosoft dictionary , etc.
If you can contact to developers recommend them to visit http://windowsphone.interoperabilitybridges.com/
I pray and hope that Microsoft provide a C/C++ SDK for WP7

Categories

Resources