Martin Heller
Contributing Writer

Application development: The new face of Internet apps

news
Aug 20, 20073 mins

Blending the best of conventional desktop and Web apps, rich Internet applications occupy the hottest app dev real estate around

A huge chasm divides the application development world, one that dozens of vendors are rushing to fill. On one side are desktop applications; on the other are Web applications. In between are RIAs (rich Internet applications), which have attracted droves of developers and will continue to do so for years to come.

img91080.jpg
Desktop applications respond quickly, present complex user interfaces gracefully, and take full advantage of the resources of the local computer. On the flip side, they require an installation procedure, must be compatible with all the other locally installed software, and need to be updated, which may introduce incompatibilities.

Classic Web applications need no installation, are always up to date, and can be made universally compatible. On the other hand, they tend to be unresponsive, their user interfaces are limited, and they can be knocked for a loop by server loads and connectivity issues.

RIAs attempt to combine the strengths of desktop and Web applications without falling prey to their weaknesses. RIAs try to present most of their user interfaces at the client so that they can be responsive and the interface can be as complex as it needs to be. RIAs often do need an installation, but usually only for the runtime engine, which tends to be small and most often updates itself automatically. The RIA application itself typically launches from the remote server.

RIAs try to allocate resources to the most appropriate place. If the gating issue is the overall scalability of the application, then the designer of the RIA will run most of the CPU-intensive computations on the client. On the other hand, if the application uses a database intensively, then many actions will run on the server.

Many RIAs are written to accommodate intermittent connectivity. If such an app needs a database resource, a local database kicks in when the local computer disconnects from the Internet. When an Internet connection is reestablished, the application synchronizes the local database with the central database.

I don’t believe for a minute that RIAs are going to take over the world. There will always be applications that are best implemented on the desktop and others that are best implemented on the Web. What I believe is that RIAs will play an increasingly important role in bridging the gap between desktop and Web applications, and eventually at least one technology may come along to unify the whole spectrum. I’m not sure what that technology will be — or even whether it’s something we’ve already seen or has yet to be created. But I expect for it to emerge in the next five years.

Show me the list of other next big things | Surprise me with another next big thing

Martin Heller

Martin Heller is a contributing writer at InfoWorld. Formerly a web and Windows programming consultant, he developed databases, software, and websites from his office in Andover, Massachusetts, from 1986 to 2010. From 2010 to August of 2012, Martin was vice president of technology and education at Alpha Software. From March 2013 to January 2014, he was chairman of Tubifi, maker of a cloud-based video editor, having previously served as CEO.

Martin is the author or co-author of nearly a dozen PC software packages and half a dozen Web applications. He is also the author of several books on Windows programming. As a consultant, Martin has worked with companies of all sizes to design, develop, improve, and/or debug Windows, web, and database applications, and has performed strategic business consulting for high-tech corporations ranging from tiny to Fortune 100 and from local to multinational.

Martin’s specialties include programming languages C++, Python, C#, JavaScript, and SQL, and databases PostgreSQL, MySQL, Microsoft SQL Server, Oracle Database, Google Cloud Spanner, CockroachDB, MongoDB, Cassandra, and Couchbase. He writes about software development, data management, analytics, AI, and machine learning, contributing technology analyses, explainers, how-to articles, and hands-on reviews of software development tools, data platforms, AI models, machine learning libraries, and much more.

More from this author