Target Platforms
Which platform is right for your new software application?
An overview and exploration of target platforms.
by Mike Prestwood
We specialize in developing business database applications to help you run your company and commercial applications you can sell. These two types of applications have specific development needs. The
following is a brief discussion of target platforms and is intended to get you thinking about what is right for your situation, not what is new and cool.
Desktop Apps * Client / Server * n-Tier * Business DB Apps * Commercial Apps * Websites
1. DotNet Platform
The .Net platform is the future of Windows and therefore should not be ignored. If you are currently on a Windows platform, you will probably be using the DotNet platform in a few years. If you're
developing a business database application, then targeting .Net now is a very reasonable solution because you can mandate your target users platform. That is, you can insist they install the specific verion of the .Net Framework
you are using. However, if you're developing a commercial application, a Win32 application might be a better solution.
The Prestwood Approach - For .Net applications, we specialize in true Object Oriented (OO) programming usually using VS.Net with C# or VB.Net but we also like to code DotNet apps using CodeGear Prism (Delphi for .Net). For data storage, we prefer the following databases: Access
.MDB, DBISAM, Interbase, or MS SQL. Ask us which combination is right for your application.
The Prestwood.Net Framework
Although most of our new DotNet applications are custom to each client, we also have a prebuilt framework we've built with tens of thousands of hours of development. This generic set of code can handle most business database application needs for both the desktop and web browser.
2. True Win32 and Win64 Applications
The Win32 platform (Windows 95, 98, ME, NT, XP, Vista, Windows 7, and 2003/8 servers) is still the most widely used target platform. Most commercial software vendors including Microsoft, Symantec, etc. are still writing
Win32 applications. For your commercial applications, you should at least consider targeting Win32 for a few more years. If your existing business database application is currently in a Win32 development
environment, you can consider keeping it in that environment at least for a few more years. For new business database applications, you might want to consider moving to .Net now.
The Prestwood Approach - For Win32 applications, we specialize in true Object Oriented (OO) programming using CodeGear Delphi. However, we can also develop your Windows application using
Visual Studio.Net which generates MSIL code that can run either a 32-bit or
64-bit process. We can also develop a desktop database systems using Corel Paradox
or Microsoft Access. For data storage, we prefer the following databases:
Paradox .DB, Access .MDB, or MS SQL 2005. Ask us which combination is right for your application.
3. Browser
Dynamic database-driven websites are a popular choice for building business database applications because of the ease of deployment around the world. Once built, anyone with an internet connection and a browser can use the application.
The Prestwood Approach - For websites, we prefer to use an ASP.Net application using C#, VB.Net, or Prism syntax but we also frequently build websites in ASP Classic, PHP, and a few other leading technologies.
4. Handheld Platforms
If you wish to develop a handheld business application, we currently recommend you target PocketPC over Palm. Our opinion is that the Palm OS is too limiting and the development tools for the PocketPC
are better.
Targeting Windows and PocketPC
Using Visual Studio.NET we can build a Windows and PocketPC (two applications) from the same source code. With Visual Studio.NET we can create a true
.Net application that will run on 32-bit and 64-bit processors and
on PocketPC.
PocketPC vs. Palm If you wish to develop a handheld business application, we currently recommend you target PocketPC over Palm. Our opinion is that the Palm OS is too limiting and the development tools for the PocketPC
are much better.
5. True Cross-Platform: Java
Targeting JAVA: Windows, Linux, Unix, Mac, etc.
If you need true cross-platform compatibility across a broad range of operating
systems, then Java is the solution.
A bit of technical details about building robust websites...
Building Robust Websites
Distributed application development describes a type of application architecture where functionality is distributed among multiple applications residing on the same computer or on multiple computers.
When talking about distributed application development you're really talking about the communication among applications or application components. The benefits for distributing an application include
functionality encapsulation within a discreet unit (divide and conquer) and the spreading of some of the application functionality across processors (more speed). A distributed application architecture
might be the right solution for you. Call us to explore distributed (and other) application architectures.
Web Applications (A type of distributed application)
The most popular type of distributed application architecture today is what is known as a web application architecture. The typical web application architecture uses a web server (usually IIS or Apache)
and a database server (ADS, Interbase, MS SQL, and Oracle are popular). You communicate with the database server by extending the web server. You can extend both IIS and Apache with a CGI stand-alone
executable. For IIS, you can also extend it with an ISAPI/NSAPI DLL. For Apache, you can also extend it with an Apache Shared Module (DLL). The web application extension is what holds your business rules
and communicates with the database server. The web server (either IIS or Apache) communicates with a browser either over the internet or on your private network.
A web application architecture is a great solution for surfacing data to employees in branch offices, vendors, and to the public. However, if what you want is a business database application used at
a single location, you are better off with a traditional multi-user or client/server application. A traditional multi-user or client/server application can be more powerful and faster than the best web
application. Be sure to choose the right architecture for your project. Call us today to discuss your application architecture needs.
Webify Your Application
Surface your business application on the web. We can webify any business application for the web. We'll take your existing Paradox, Access, Delphi, Visual Basic, or Kylix application and create a solution
for you that takes advantage of the Internet.
New Dynamic Websites
Large e-Commerce, Member-Only websites, etc. There's a big difference between building a website and building a web application. A simple website is relatively static while a web application is
more dynamic and is capable of engaging the visitor and impacting the business more dramatically than a website.
|