As more and more people around the world have access to computers, laptops, tablets, and smartphones, these users are getting connected to the internet, ready to jump into the virtual world of unlimited and unrestrained information. Websites today are the most popular tool to deliver this vast information to an ever increasing audience.
Let’s talk about choices when it comes to rapidly developing custom non-enterprise websites.
Rapid Development Begins with the Right Language and Framework
There are many languages and many frameworks to facilitate custom rapid website development. Some languages are better than others in certain tasks. Yet, if we put aside the features of a language, then you will have to agree – nothing beats a free, open-source, no-cost tool to develop well-made, completely custom websites.
First, the elimination round.
A discussion about open-source languages removes Microsoft .Net from the discussion. Somewhere along the development and implementation of a .Net solution, you will have to pay Microsoft. While a free .Net development suite is available, any third-party framework that would assist in rapidly building a website would require a costly license.
There are only a few free content management systems for C# or ASP that are limited in features and not popular. Even after a website is complete, finding a cost-effective hosting solution is not easy, as Windows hosting requires a Microsoft license fee to be recovered by a service provider – be it for an operating system or a database.
A slightly more sophisticated solution is implementing JAVA for web. Overall, it is not an easy technology to master – it does have its strengths but none related to ease of use when it comes to websites. Even the largest ICANN-accredited registrar GoDaddy has removed JAVA in September 2012 from its shared hosting environment due to the lack of demand for non-enterprise use.
This brings us to open source languages.
Python, Perl, and Ruby are lagging significantly behind PHP. Even if you look at the PYPL PopularitY of Programming Language index, PHP is taking a small dip in popularity, but is still much farther ahead of C#.
Why would the choice of a more popular open-source solution be preferable?
The answer is simple – availability. The availability can range from tutorials found online to the choice of frameworks or even hosting options. Such a diverse range of distributed knowledge and accessible tools almost guarantees a potential framework solution without incurring any additional cost.
Most technological issues arise with the development of custom features, and the availability of frameworks and solutions reduces this risk.
In addition, a popular programming language increases the chances for longevity and usefulness of the code. Overall, one can build a complex custom solution without investing a penny into the development tools and framework.
Now multiply this by many projects and the result is zero cost which is of huge benefit!
The LAMP solution set
If we are to use PHP for building a website, the most likely solution set is the LAMP (Linux, Apache, MySQL, and PHP) stack. Best of all, it is free. Today in this land of freedom one can even get a highly rated Amazon EC2 free instance for a year to host your solution. Open source hosting is very competitive, providing VPS (virtual private server) at a cost almost approaching free.
There is a long list of frameworks to be used for rapid website development with PHP. One such framework is Kohana, plus there are others like CodeIgniter, Yii, and CakePHP. While the choice of PHP frameworks is diverse, developing a website with these tools will take longer than selecting something already half baked.
A Quick Look at Drupal
Drupal is an older, true and tested system that is a solid choice even for an enterprise website (prime example: whitehouse.gov). It allows better security than any public CMS and has many advanced features with a great number of plugins.It is a good starting point for rapid development of a custom website with many features already in place.
However, Drupal is not for everyone. It is a complex system with a less than optimum amount of available support content on the web. It is harder to debug and its obsession with over verbose object oriented code does not promote rapid development. Moreover, you will have to review the stability of the multitude of plugins for version 6 or streamlined features of version 7.
It does not matter what version you choose, Drupal requires a large amount of memory to run. This inefficiency limits some of the more cost effective hosting options. The issue is due to Drupal’s module pre-requisite requirements. To load a certain needed module, it might require a chain of other modules to be loaded as well. In the end a simple “Hello World” page can take 30MB+ to load, needlessly wasting system resources.
Add a few hundred concurrent users and one has to be a guru in PHP and Apache optimization to run a dedicated server for a single website.
While Drupal might be a compromised choice, it does have a few plugins that are especially useful for building custom websites. One of them is CCK (Content Construction Kit). This module allows custom form designing for various content addition to the front or backend. With different common HTML input fields available, one can use them separately or in groups to be virtually applicable to any custom content requirements.
Another useful module in Drupal is Views. Views module allows extracting custom chunks of data from existing content in a database. Views and CCK work hand in hand to deliver flexible input and output for a custom website. These excellent modules are recognized as superior and now are available in WordPress as well. Unfortunately, in Drupal, Views and CCK modules add a significant memory requirement.
You may ask, is there another option?
A Strong Contender: WordPress
WordPress, on the other hand, is light on memory requirements, easy to install and configure, with a plentiful number of support articles and documentation available online.
Many years ago WordPress was just a blogging framework – today it has grown to be much more and has become more robust with security. As its plugins are growing in numbers and features, WordPress truly deserves an in-depth look and should be a serious contender for rapid website development framework for large and medium sized companies.
In Part 2 we will take a deeper look into WordPress features, plugin recommendations, optimization, and the sample code needed for WordPress to be your solution for rapid development of custom websites.