Android vs Maemo: comparison of two platforms

Original author: Pavlo Zahozhenko aka buru
  • Transfer

Technically, both platforms run on the Linux kernel. However, Maemo is a true Linux distribution based on Debian, while Android is just the kernel with some add-ons and programs (Davlik virtual machine and SQLite database). All applications written for Android are launched using the Davlik virtual machine (highly optimized and modified JVM). I tried to analyze the advantages of both platforms from the point of view of the developer, as well as their development strategy at the moment. If you do not have time to read the entire text in detail, then you can familiarize yourself with brief conclusions at the end of each subtopic.


Android vs Maemo in terms of software developer



Development.



Maemo SDK exists only for Linux platforms. This is not a problem for me (since Linux is my choice as a desktop OS), but it can become a significant problem for many developers. The SDK just works fine on Debian or on distributions based on it (like Ubuntu). Maemo is also based on Debian, so the Scratchbox cross-compilation software package is easily used by the SDK to compile on both platforms (x86 or ARM).
Maemo applications are developed for GTK + using the Hildon framework. Naturally, C is the main language for developing applications. Of course, other languages ​​(such as C ++, Java, C #, etc.) can be used just as well because GTK has various bindings to them. However, most applications are developed in pure C, mainly due to the performance limitations that are characteristic of mobile devices. At the moment, GTK + itself is a little archaic, and despite the fact that Hildon is aimed at working with touch devices, a lot of work has to be done through GTK + and the good old C. Thus, the development convenience is much lower than the iPhone SDK, Android SDK , or Palm WebOS Mojo SDK. There is a chance that with the release of Maemo 6 (codenamed “Harmattan”) this situation will change, since the system will include Qt libraries and it will become the official framework for developing applications in Maemo. But it will only happen
closer to 2011, and while the convenience of development for Maemo is inferior to the same for Android.
UPDATE : As noted in the comments (not here, but with the author on the blog, approx. Per. ), Qt should already be used for development under Maemo. The modern direction is the development of cross-platform applications that will work on both Maemo and Symbian OS (just like on Windows / Mac OS X / Linux, although it may not be practical to use a similar user interface for desktops and mobile devices). The sooner Qt becomes the official Maemo application development framework, the better.

The Android SDK is available for Windows, Linux, and Mac OS X. Its functions include the simple creation of interfaces using XML (DSL), easy internationalization of strings, storing applications within the SQLite database, managing background processes, etc. In other words, this is what the modern SDK for application development should look like. The only drawback is that all applications work under Java, and for some Java developers it is a synonym for slowness (although it is not so slow on Android, since Davlik is optimized to run under this OS). It is for such developers that it is possible to use the native Android SDK, but its capabilities are very limited, especially access to equipment.

Porting Existing Applications



In this area, Maemo has a huge advantage over Android, as it is entirely based on Debian. With the Scratchbox cross-compilation package, many open source applications can be compiled for the ARM architecture. Many console utilities can be ported simply by recompiling; for GUI applications, you usually need to rewrite the UI, but in any case, it is much easier to port an open source application than writing from scratch. Some popular programs have already been ported to Maemo: MPlayer, Pidgin, Gnumeric, Abiword.
Porting an x86 application to Android is as difficult as it is to any other platform: the entire interface and logic must be rewritten from scratch.

Conclusion: Development is easier on Android, while on Maemo it’s easier to port an existing application.

Development strategy.



Both platforms are aimed at the market of smartphones, mobile Internet devices and netbooks. Maemo is supported only by Nokia, while Android is supported by OHA (Open Handset Alliance), which includes players such as Google, Samsung, LG, Motorola, HTC, Acer and others. Nokia may be the largest manufacturer of phones and smartphones on the planet (in the original source it is written that way, but according to other sources, Nokia is already the largest manufacturer of smartphones and phones, approx.), but she is not able to resist them. Thus, it is obvious that in the near future the number of devices running on Android will far exceed the number of devices on Maemo. By the end of 2009, there were as many as 18 Android devices, and Nokia released only 4 Maemo devices (Nokia N770, N800, N810, N900). Even if the N900, new Internet tablets and netbooks sell better than Android devices, the total number of Androids will grow faster than Maemo. The wider the platform is distributed, the more interest it provides for developers. The main competitors of Nokia - Samsung and LG - will use Android as a competitive advantage and will throw all their efforts on this platform. Motorolla is trying to save itself with the help of MOTOCLIQ (aggressive pricing policy) and MOTOBLUR (Android software), and I must say, they have a chance of success! In this situation, Maemo becomes Nokia’s main competitive advantage, so the company must give up all its strength or give way to another leader. Fierce competition provides a colorful and vibrant future for both platforms. Another question is which one will finally win, and this is the most interesting. The potential winner is Android: it will have a large consumer base in the future, more developers write their applications for Android, it is supported by powerful corporations, including Google. Nevertheless, there is a force capable of keeping Maemo afloat, and in the long run it is possible to make it a leader: the open-source community. You may object: “But both platforms are open source!” It does not matter. Important, that Maemo can use the efforts of the entire open-source community to complete what can take many person-years. Android can use only a small number of open-source projects, all applications must be rewritten from scratch. Contrary to this, any open-source project running on Linux could theoretically run on Maemo (since it is relatively easy to port). Maemo needs to take advantage of this in order not to lose Android. Therefore, Maemo kernel developers must do this even more by making porting easier. could theoretically run on Maemo (since it is relatively easy to port). Maemo needs to take advantage of this in order not to lose Android. Therefore, Maemo kernel developers must do this even more by making porting easier. could theoretically run on Maemo (since it is relatively easy to port). Maemo needs to take advantage of this in order not to lose Android. Therefore, Maemo kernel developers must do this even more by making porting easier.
open-source applications on this platform.

Another advantage of Maemo is that it is more suitable for Android for relatively large devices - Internet tablets and netbooks. It was developed for Internet tablets and has already proven its effectiveness in this area. Being based on Debian, Maemo will probably be suitable on touch screen netbooks. Android is good on smartphones, but we have yet to see if its functionality will be enough for netbooks. There is a chance that Android will take over the smartphone market, while Maemo will dominate the market for netbooks and Internet tablets.

Conclusion: Android currently has a better position: in the near future this platform will be more widespread than Maemo, there will also be more developers for it (development is more convenient + more audience). Nevertheless, Maemo can win thanks to the open-source community, using its huge work (for good purposes, approx. Per. ). Another advantage of Maemo is that it is more suitable for Internet tablets and netbooks.


PS : It doesn’t matter whether Android or Maemo wins Linux anyway :)

PPS : You can prefer Android, Maemo or any other mobile OS, the ideal situation for the smartphone market is competition between several leading platforms, rather than the dominance of any one . Both platforms are good operating systems, so let them both dominate the market in equilibrium without killing each other, because only then will new innovations appear.

Update : For additional ideas and opinions on the topic, please read the comments on Reddit and Maemo Talk . Summarizing the opinions and summing up, I have listed below some of the advantages of each platform:

update: As the habrayuzer notedsommer , perhaps the arguments that you are reading now are not true. They are the subjective opinion of the author of the original text.
Advantages of Android:
  • Binary compatibility between releases. Technically, this is bytecode compatibility. Maemo misses this point, which means an extra “headache” for developers with each new release.
  • Android has great potential in the mid-range smartphone market, where it will compete with Symbian OS.

Benefits of Maemo:
  • Easier game development, especially cross-platform development.
  • Qt can (and should!) Be used for cross-platform development for both platforms (Maemo and Symbian OS), which means developing using a modern framework for using a huge consumer base.

Also popular now: