The two most important factors that will drive next generation products are: intuitiveness with which a user is allowed to access content present on the web, and the ability to develop applications which can run on multiple platforms. This trend holds true for most industry verticals, including consumer electronics and automobiles. Since most products are embedded in nature, they present a different set of challenges to the developer community.
In this article, we will analyze a few of the leading technologies and frameworks with respect to the following criteria:
Direct Hit! |
Applies To: RIA Developers Price: Free (Beta) USP: A Feature comparison of latest RIA platforms Primary Link: NASearch Engine Keyword: Qt, Flashlite and Android |
- Ability to develop applications that run across platforms and devices.
- Support for building blocks like built-in widgets that will help in developing applications faster with less development effort.
- Last but not the least, the availability of technical support, including developer community
Qt framework
Qt is a C++ framework for high performance cross-platform software development. Qt port (Qt 4.6) is available on Embedded Linux, Windows, WinCE, and Symbian. This means, any application that is developed on Qt for Linux will run on Qt for WinCE.
The Qt framework consists of the Qt core module which forms the foundation of all Qt based applications. This module has basic functionalities such as APIs for File I/O, event and object handling, multithreading and concurrency, IPC mechanism, etc. This forms the backbone of the framework that will help in developing a portable code.
The Qt GUI module supports features needed to develop advanced graphical user interface applications. This includes ready-to-use widgets like buttons, scroll bar, progress bar, tree view, etc. There is a powerful 2D-graphics canvas for implementing features like zooming, rotating, and drag and drop. There is also a font and layout engine to tightly couple widgets used in a screen. This will help in building user interfaces in less code with a complete set of building blocks.
Qt architecture |
![]() |
The Qt graphics engine supports platforms for a wide range of architectures like devices with unified memory architecture and devices with dedicated memory architecture. The graphics engine is designed to work on devices with no acceleration, Alpha-blending capability, 2D vector graphics and 3D graphics. This way, optimal performance is ensured by off-loading graphics operations to the underneath hardware. Apart from this, it has various tools like Qt Creator IDE, Qt Designer, which is used to design user interfaces quickly, and Qt Linguist Internationalization tool for supporting multiple languages.
Qt 4.6, which is the latest version, includes a webkit based browser with HTML 5 support.
Flash lite
Flash lite is the optimized version of the flash player for embedded devices such as mobile phones, car dashboards, etc. Flash lite provides the necessary infrastructure to create rich user experience applications.
The core of the Flash lite system is the rendering engine. The rendering engine provides OS and hardware abstraction for displaying graphics and video and also helps in supporting different screen resolutions. Flash lite can be used with DirectFB to provide windowing system and also optimize performance significantly on various hardware types.
It is important to note that Action script (scripting language) is used for developing applications. It takes some learning effort to understand Action script before application development can be started..
Android
Android is a mobile platform based on the Linux operating system. Android is a very comprehensive platform that is good enough to build a product with support for multimedia, graphics and connectivity. The Android Libraries layer, which consists of middleware components, interacts with Linux kernel using Linux system calls. The application framework is part of the Android SDK which is aimed at providing a definite framework for application developers. For example, an application developer developing point of interest applications has to use the same interface as used for developing a map application.
Application Framework modules interact with modules in Android Libraries layer using Java Native interfaces (JNI).
The Applications layer is a set of applications developed using Java. It has built in support for webkit based browser which supports HTML5.
The technologies that we examined so far have strengths of their own. Each one of these technologies suit different types of products being developed. The table on the next page provides a comparison between the three technologies.
Ravi Kumar B S, Project Manager � R&D Services, MindTre
No comments:
Post a Comment