Any small business developing a website or web-based application faces the vital decision of which technology platform to use. Most business owners are ill-equipped to make that choice, and it's not their fault: Their trusted advisors will often spin them around with wildly different opinions.
A quick Internet inquiry will reveal an online war of words between open-source and commercial developers. Using insider tech-speak as their battle weapons (e.g., who has a better object-oriented implementation), both sides offer little substance to owners who want to make intelligent decisions about a technology platform.
In truth, excellent open-source and commercial-software choices are available to you - as are skilled developers who can produce great applications through either approach.
To keep things simple, we'll focus on the two hottest, most viable and most inquired-about approaches to your technology platform: PHP and ASP.NET.
PHP is an open-source development language that's often run on Linux/Apache with MySQL. LAMP (Linux, Apache, MySQL, PHP) in particular is a popular and highly stable environment for your website.
Developing a PHP site is simple, so it's a hit with a wide audience. Many web designers who want to learn to code choose PHP because of its ease and low barrier to entry.
Great examples of large PHP sites include:
- Flickr, the huge and in-demand photo-sharing site, which uses a combination of PHP, MySQL and Java
- Yahoo!, which is migrating some of its properties to PHP from an internally developed proprietary scripting language
ASP.NET is Microsoft®'s development environment, which runs on Windows® servers and typically uses Microsoft's SQL server as a database. ASP.NET developers tend to be professional ones. This system also has a higher barrier to entry than PHP's, as most developers utilize the expensive Visual Studio IDE for their environment.
Great examples of large ASP.NET sites include:
- MySpace, the community website phenomenon, originally written in ColdFusion® and now being rewritten in ASP.NET 2.0
- ComputerJobs.com, originally written in ColdFusion and then replaced with ASP.NET.
Expenses can escalate with large-scale websites such as those mentioned above, but most small- to mid-sized businesses starting a new site or web application should have little concern about costs.
Most of these businesses will require a dedicated web server equipped with basic server software; whether Windows or Linux, the cost will be about the same. Prices of disks, memory and processors are the same for both platforms, and such hardware is cheap when compared to development costs.
While slightly higher for developers, Microsoft ASP.NET computer and environment expenses are meager next to overall development costs. They should not influence any decisions or comparisons.
Large-scale websites must adapt to heavy traffic. The major websites listed above have been revised many times to address their scalability issues, which can pose big problems for a business.
Both PHP and ASP.NET platforms let you scale your site to its activity. This capability calls for a lot of development effort and integration with hardware systems such as load balancers, storage-area networks and application accelerators.
Your business need not be concerned with this issue unless your application will confront an initially massive load. If that first load is indeed huge, you can throw more hardware at it while you raise money to deploy an infrastructure for the traffic.
Scalability requires thoughtful coding, but it's also a lesser issue when you start. You will likely rewrite your application several times as your business grows and changes, so up-front scalability doesn't need to factor into choosing your appropriate platform.
Many developers place a premium on support. Microsoft stands behind each ASP.NET implementation, and in theory, a business could contact them to save the day should something go wrong. MySpace, for example, has often called on the Microsoft cavalry, which helped create the new MySpace site.
However, such a rally can be rare for other sites, so you shouldn't expect that Microsoft will assist with your application. Still, useful and helpful ASP.NET developers are easy to find when you need them. Great PHP developers, on the other hand, are harder to locate, and most of those you hire will just use Google for solving problems.
In truth, all developers have access to superb online forums and resources for either system. ASP.NET is your better choice for support, but not to the degree that some would have you believe.
To grow your business, you need to adapt to its shifting requirements. You must have developers and a development methodology that embrace change. New features and versions of your website or application must also be launched swiftly and accurately.
This challenging but manageable task is a vital criterion in choosing your platform. ASP.NET has a clear lead in this area for varying reasons relevant to a business.
Good developers are hard to find, hard to keep happy and even more difficult to manage. They become bored and lethargic fast. They will complain before leaving. Whether working with a firm or a consultant, expect to find, fire and replace several different developers during your application's life span.
PHP developers in particular often insist on doing things their way with their techniques and coding practices. This approach leads to codes that others cannot understand and therefore utilize.
Conversely, ASP.NET is much more structured and rigid, allowing large development teams to code the same project together. This is a big benefit to your business, because you can change developers right away if necessary. More important, when your business takes off, you can hire a second developer for even speedier progress.
Both PHP and ASP.NET are excellent systems with wide support and successful histories. Your business can implement either for anything from trading platforms to huge, scalable community sites.
However, ASP.NET is the better system for most businesses wanting to develop a website or web-based application. If your business currently lacks a technology direction or wishes to re-write an existing application, and if you require agile and flexible developers, ASP.NET is, hands down, your best bet.