Developers' efforts for different mobile platforms

I am in the middle of developing a client-server "communication" that should work on multiple mobile devices. The project is quite complex, including networking, multimedia sharing, the use of geolocation services and a nice user interface.

Regarding development efforts, technical risks and extensibility, where is the best place to start? Whereas the goal is to "live" as quickly as possible with the mobile version. And the second goal is to reach the majority of users (but in the first place more important).

iPhone (iPod iPad) Android BlackBerry Java ME, Symbian

I understand that there are limitations on each platform, and there are different aspects for logging into an account (for example, the iPhone has a better community of developers, and then Android, J2ME works in a terrible sandbox, but it covers most devices).

Share your pros and cons. I have experience only with J2ME, unfortunately, I can not evaluate other platforms.

+4
source share
7 answers

If you are viewing your own applications on the platforms you have listed, the development efforts required from least to best are as follows:

  • iPhone

  • Android

  • Blackberry

  • Java ME

  • Symbian

Development efforts are mainly governed by language / libraries, tools and fragmentation. Consequently, the iPhone wins (good language and libraries, excellent tooling, little / no fragmentation). Symbian comes last (C ++ with limited libraries, bad tools, big fragmentation). Android beats Blackberry in libraries and fragmentation, while Blackberry outperforms Java ME in fragmentation.

The opposite is market size, especially among your target user base. Java ME reaches far more devices than any other platform, while the Android base is still the smallest of the 5 installed.

There is not a single correct answer, but if reach is important, then Java is a good place to start, if time to market and user experience are the keys, then the iPhone makes sense.

It's also worth seeing how easy / difficult it would be to migrate to other platforms. There are various cross-platform libraries, such as Airplay or J2ME Polish, which can reduce costs - provided that you can implement your application on the cross-platform part.

+3
source

I would like to talk about Maemo / Meego (Nokia for Linux Mobile PCs). While it is in transition, and currently Maemo 5 has only one good phone (and some cheap Chinese), but I feel that it will become big soon (I like that many people think that Meego will become Nokia high strategy end and Nokia is the largest handset manufacturer in the world). In addition, the N900 is the coolest phone.

And theirs is basically an open source Linux device (pretty similar to standard desktop Linux). The idea of ​​QT Creator is excellent and cross-platform (comes with a built-in visual designer and a beautiful documentation buffer), but you do not need to use it, there is some support for using your own text editor or idea.

There is no signature of key nonsense (I did a student project for a blackberry and was very annoyed with the keys). Other things that I didn't like about the blackberry module: windows only eclipse, our team had a lot of problems when we figured out how to add third-party libraries to COD archives on a blackberry. In addition, some of the classes are somewhat rare in many ways, especially String / Char, perhaps since I created it on the basis of ME, I also did not like the read / write apis file, it was somewhat inconvenient, perhaps, since Blackberry applications only recently Got the ability to store files (before you could store or retrieve objects to disk through the persistence layer).

Preferred languages ​​are (Gobject C at present, but less for Meego), Qt flavored C ++ and python. The libraries are good there, and qt is especially well documented. Since it has a tiny Linux module that you can use when debugging a device (there is also an emulator).

Note. I did not develop anything for Maemo / Meego, but I read a lot and just fell in love.

+1
source

I think the best solution might be to launch an optimized smartphone website. A native application can provide a richer interface, but a well-designed web application can get closer and work on any device.

Check out WPTouch for a very good optimized phone.

+1
source

According to Roman A. Teisher, I would like to raise my voice on Windows Mobile / Windows Phone. It has a large installed base, it has a tried and true set of Visual Studio development tools, it has the best emulator for everyone (it actually emulates a set of ARM instructions - do you hear that, Apple?), And you can use your Win32 Experience .

MS-haters - please don't worry. I heard them all.

+1
source

A cross-platform runtime such as Qt or HTML5 is good betting and portable.

Qt supports many platforms, including Symbian, Meego, Linux, Windows, etc. It is highly regarded as one of the best software platforms currently available.

The creator of Qt also appreciates the IDE.

HTML can be obtained in almost all courses, and there can be many tools.

+1
source

While applications developed for this platform usually benefit in terms of consistency and performance of the UI, you can try switching to one of the available multi-platform frameworks such as Rhodes (just to name it). Personally, I don’t have much experience with Rhodes, and I found out a couple of days ago (a closer look is still on my to-do list), so please rate the user experience that the platform offers on different devices on its own.

0
source

Looks like you need the Mobile Community Framework (MCF). This is a cross-platform platform for developing location and proximity network applications on all modern smartphone platforms (iPhone, Android, Blackberry, Symbian, WinMo - almost everything you mentioned except for J2ME). It provides native binaries for all of these platforms. MCF can be reduced over time because you don’t need to encode all these network materials yourself, but you can simply use a simple API to send any amount of data through encrypted connections, in ad-hoc mode via Wi-Fi or through a special proxy server .

Additional information at http://www.uvamobiltec.com .

0
source

Source: https://habr.com/ru/post/1309403/


All Articles