Advertisment

Building Rich Internet Apps

author-image
PCQ Bureau
New Update

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.

Advertisment

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
Advertisment

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.

Advertisment
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.

Advertisment

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.

Advertisment

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.

Advertisment

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, MindTree

Advertisment