.



Desktop Applications Development by RMS


It is tempting to say that it is useless to define a desktop program because everyone knows what it is. But for our purposes let's say the term refers to any program that does not need a browser to run on your computer. This is a useful definition since when contemplating the creation of a new program the decision of whether the program should run in a browser or not is a key first decision.

The great advantage of a web application is that it needs to be installed only once, on a server that is connected to the internet and can be accessed by a browser. A related advantage is that updates need be done in only one place – the server. The minute a new update is installed on the server it is available to everyone who uses it.

So if the new application should be a web application if the following apply :

Needs to be used by many people at different and/or changing locations and computers.

An internet connection is ordinarily at hand for the user

Security of data is not an overriding issue.


If on, the other hand, the application needs to be run on only a few computers or on a local area network, where it can be installed on the network server and accessed by everyone on the network, a desktop program can be considered.

So the question is why develop your application as a desktop program ?

One obvious answer is that you may not have access to the internet

Another is that security is a major issue. Any web application is to some extent open to the world and susceptible to being hacked. In a desktop application it is easier to protect your data and program.


Connectivity is an issue with a web application. Poor internet connectivity or unreliable connectivity can be a big problem with a web application Performance.

A desktop application, especially one that can be compiled to native machine language, can be made to run faster than any web application Functionality: A desktop application does not have to contend with limitations imposed by a browser and can be slicker in its performance. Most desktop programs use and store data kept in a database.

Some development tools, such as Microsoft Access or Visual Foxpro come with their own specialized database but even these, along with those developed using other tools, can be made to use local or remote databases such as Microsoft Sql Server, MySql. DB2, Oracle and many others.

This latter point is important since it is easy for a novice to make the mistake of assuming that you need a web application to make use of remote data. This is not true if the computer has an internet connection a desktop application can access the same data as a web application.

In fact it is sometimes useful to develop an application in which most users use the web to access the data but others, such as administrators, use a desktop application.

Enough of this! This is not the place for a comprehensive reference to computer programming. Our purpose here is to tell you what we can do and describe the pros and cons of the different development choices offered by RMS.
Includes enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with documents. Applications may be bundled with the computer and its system software or published separately, and can be coded as university projects. Application software applies the power of a particular computing platform or system software to a particular purpose.

Some applications are available in versions for several different platforms; others have narrower requirements and are thus called, for example, a Geography application for Windows or an Android application for education or Linux gaming. Sometimes a new and popular application arises which only runs on one platform, increasing the desirability of that platform. This is called a killer application.

Information worker software

Enterprise resource planning

Accounting software

Task and scheduling

Field service management

Data management

Contact management

Spreadsheet

Personal database

Documentation

Document automation

Word processing

Desktop publishing software

Diagramming software

Email

Reservation systems

Financial software

Day trading software

Banking software

Clearing systems

arithmetic software

POS

CRM


Entertainment software

Personal computer games

Console games

Mobile games


Educational software

Classroom management

Sales readiness software

Survey management


Media development software

Media content creating/editing

3D computer graphics software

Web development software