Software Programming Technology
Most software programs can be divided into 4 different technology
categories. These technologies each have different advantages and
disadvantages, so it is important that you find the one that is
right for you. These technologies will differ in terms of complexity,
price, stability, ease-of use, and scalability.
Since I have worked with all 4 of the technologies explained below,
you can be sure that I will use the one that is best for your needs
and not try to fit you into one because it is the only one I know.
Beware of any software developer trying to push you in the direction
of one of these technologies or a specific development tool without
understanding your needs first. Odds are that this is because they
only know that one technology or tool.
If any of this does not make sense to you don't worry about it
and either call me or email me for a free consultation. I will walk
you through this. The only reason I have included this information
is for those that have a good understanding of technology and would
find this useful.
1. Desktop based Rapid Application
A desktop based rapid application is the most economical and is
good for small database applications with only a few users. This
technology is the least scalable (unable to expand) and requires
each desktop to be upgraded when software upgrades are released.
Typical of this type of application would be a MS Access based program.
2. Client-Server Application
A client server application can typically offer much better performance
than a Rapid Application. It is more scalable (able to expand) than
the rapid application and it is also more expensive. This type of
application works well on a LAN, but not when there are multiple
locations not connected by a LAN. Note that like the rapid application,
any updates require someone to upgrade the program on every desktop.
These programs are typically built with a tool like VB6 and use
a SQL based database such as SQL server. With the release of .NET
by Microsoft, there is little need for this technology in new development
as the Rich Client - Zero deployment technology has all of the advantages
of this technology and none of the disadvantages. This technology
will be relegated to legacy systems.
3. Web Browser based Application
Today it seems that everyone is big on web based programs. While
these web-based applications are easy on the user, they take longer
to develop. Due to browser incompatibility issues and inherent limitations
on the technology, these applications tend to get very expensive
for custom applications.
If your needs are simple or there is already a similar application
to modify, this may be a good choice for you if you have many remote
users or are trying to provide functionality to the millions of
users on the Internet.
I am sure you have noticed how limited the functionlity is on most
websites. Can you imagine if MS Word had been developed for the
web instead of as a desktop application. I doubt it would have been
as succesful because most people wouldn't want to wait between each
action as the data is submitted to the server.
Please don't misunderstand my comments here, as I have nothing
against web browser based applications. In fact, most of my recent
programs have been web based. I am just trying to combat all of
the hype out there today that suggests the only way to go is web
browser based programs.
4. Rich Client - Zero Deployment
When Microsoft released .NET, they provided a means for allowing
developers to create software programs that have a rich client interface
like client server applications, yet are easy to distribute and
can be accessed by remote users. Surprisingly, little is said of
this technology as most of the hype centers around web browser based
applications. This technology offers the benefits of stability,
scalability, easy distribution, and rich client functionality.
The major downside is that many users won't yet have the .NET framework
installed on their computers, so they will have a large (90MB) download
before they can setup the program. Software developed with this
technology is more expensive than a rapid application, but less
expensive than pure web-browser based applications of the same functionality.
|