Traditional web applications centered all activity around a
client-server architecture with a thin client. Under this
system all processing is done on the server, and the client
is only used to display static (in this case HTML) content.
The biggest drawback with this system is that all interaction
with the application must pass through the server, which
requires data to be sent to the server, the server to
respond, and the page to be reloaded on the client with the
response. By using a client side technology which can execute
instructions on the client's computer, RIAs can circumvent
this slow and synchronous loop for many user interactions.
This difference is somewhat analogous to the difference
between "terminal and mainframe" and Client-server/Fat client
approaches.
What can be done in an RIA may be limited by the capabilities
of the system used on the client. But in general, the client
engine is programmed to perform application functions that
its designer believes will enhance some aspect of the user
interface, or improve its responsiveness when handling
certain user interactions, compared to a standard Web browser
implementation. Also, while simply adding a client engine
does not force an application to depart from the normal
synchronous pattern of interactions between browser and
server, in most RIAs the client engine performs additional
asynchronous communications with servers.
JavaScript
The first major client side language and technology
available with the ability to run code and installed on a
majority of web clients was
JavaScript. Although its uses were relatively limited at
first, combined with layers and other developments in DHTML it has become possible to
piece together an RIA system without the use of a unified
client-side solution. Ajax
is a new term coined to refer to this combination of
techniques and has recently been used most prominently by
Google for projects such as Gmail and Google Maps. However,
creating a large application in this framework is very
difficult, as many different technologies must interact to
make it work, and browser compatibility requires a lot of
effort. In order to make the process easier, several open
source Ajax Frameworks have been developed, as well as
commercial frameworks.
Adobe
Flash, Adobe Flex and Adobe AIR
Adobe
Flash is another way to build Rich Internet
Applications. This technology is cross-platform and quite
powerful to create an application UI. Adobe Flex provides the
option to create
Flash user interface by compiling MXML, a XML based
interface description language. Adobe is currently working on
providing a more powerful platform with the product Adobe
AIR, a technology combining HTMLs (including Ajax
applications)
Flash player based applications and PDFs.
ActiveX Controls
Embedding ActiveX controls into HTML is a very powerful way
to develop rich Internet applications. However they are only
guaranteed to run properly in Internet Explorer, since no
other web browser at this time supports ActiveX controls. In
addition, ActiveX controls are not executed in sandbox.
Therefore, they are potential targets for computer viruses
and malware making them high security risks.
At the time of this writing,
the Adobe
Flash Player for Internet Explorer is implemented as an
ActiveX control for Microsoft environments, as well as in
multi-platform Netscape Plugin wrappers for the wider world.
Only if corporations have standardized on using Internet
Explorer as the primary web browser, is ActiveX per se a good
choice for building corporate applications.
JavaFX
Sun Microsystems has announced
JavaFX, a family of products based on
Java technology designed to provide a consistent
experience across a wide variety of devices including
desktops, (as applets and stand-alone clients) set-top boxes,
mobile devices, and Blu-Ray players. The
JavaFX platform will initially comprise
JavaFX Script and
JavaFX Mobile. Invented by Sun Software Engineer Chris
Oliver as a skunk works project,
JavaFX Script enables rapid development of rich 2D
interfaces using a declarative syntax similar to SVG. Sun
plans to release
JavaFX Script as an open
source project, but
JavaFX Mobile will be a commercial product available
through an OEM license to carriers and handset
manufacturers.
Java applets
Java applets run in standard HTML pages and generally
start automatically when their web page is opened with a
modern web browser.
Java applets have access to the screen (inside an area
designated in its page's HTML), as well as the speakers,
keyboard and mouse of any computer their web page is opened
on, as well as access to the Internet, and provide a
sophisticated environment capable of real time
applications.
Java applications
Java based RIAs can be launched from within the browser
or as free standing applications via
Java Web Start.
Java RIAs can take advantage of the full power of the
Java platform to deliver rich functionality, 2D &
3D graphics, and off-line capabilities, but at the cost of
delayed startup.
DOTNUTSHELL Technologies can
design and deploy, highly interactive rich internet
applications. Our portfolio of work includes the creation of
aesthetically awesome web applications which can interact
with back-end software systems to provide interfaces which
are breatk-taking.
Please