Choosing a Web Development Framework

I recently had the opportunity to develop a small online booking system. This time round I was determined to make use of some development framework. Not for me the slow slog of writing all my code from scratch – surely we have moved beyond that now in web development?

The big question was – which framework to use? Since the advent of Ruby on Rails, development frameworks have become quite the flavour d’jour and there are now, well, maybe not thousands of them, but quite a few! The last time I heard there are about 80 development frameworks out there. I am not 100% user of this number, it could be a bit higher, it could be a bit more conservative (on the phpwact site you can find about 40 PHP frameworks listed). The point is, the web developer is now really spoilt for choice. Which is a problem in itself, since having too much choice can leave you dithering between different options.

This article is therefore about how I made my choice, which was CakePHP, and which factors I took into consideration.

Obviously, and certainly, I will get bombarded with “Why don’t you try X framework, it is really much simpler to use…” type responses. That is quite OK, to each his own! But this is the choice I made and I am sticking to it. Frankly, the idea of going through another learning curve gives me the heeby-jeeby’s….

I found that the selection criteria were not independent. In other words, once I have ruled out some frameworks due to some specific criteria, other factors came into play. It was therefore more a process of elimination than judging all the frameworks off a predefined set of criteria.

The first major selection point was: Ruby on Rails or not.

Obviously there is the attraction of using a brand new, hip, buzz-word hyped framework. You can’t go wrong with something that is getting so much attention… or can you?

Let’s look at some of the selection criteria that filtered out Ruby on Rails

1. Ease of installation and ability to run on shared hosting The problem is that most of my clients make use of a shared hosting environment. Can Ruby on Rails run on common-or garden variety type shared hosting? The answer was, I soon discovered – no. One needs to either have access your own private servers or run on a shared hosting environment that has Ruby on Rails preinstalled. Admittedly, there are a couple of them now starting up.

2. Minimize the learning curve Even though I knew that any new framework will involve a steep learning curve, I really did not have the guts to go through TWO learning curves – one for the language itself and one for the framework. I might still have been prepared to go through the learning curve though if it wasn’t for the fact that RoR requires special hosting.

So basically the decision was: Not RoR. And based on criterion 2, I decided to stick to a PHP framework, and not go for something else based on Perl or something else since I’ve been developing in PHP for the past two, almost three years. Having said this, it is all very well to say that CakePHP allows you to use your PHP skills – because it is an object oriented framework/MVC based framework it has its own rich language infrastructure. You still need to learn the CakePHP terminology and the learning curve is pretty steep!

3. Ability to run on PHP 4 Although PHP 5 offers more object oriented features, once again, not all shared hosts offer PHP 5 out of the box. I decided that I wanted to stick to a framework that will offer backwards compatibility and enable me to run on most of the servers that I, as well as my clients, host on.

My further criteria came down to:
4. Must have good documentation Under good documentation I count the following:

– User manual

– Examples and code snippets

– Screen casts and videos – although I do not see these as essential

5. Good support by the user community This, in combination with formal documentation is absolutely essential. All of these frameworks are pretty young and the documentation is also constantly evolving. Some documentation might be patchy in details. This is where the user support in terms of the community comes in. How active are the forums? Is there a bug tracker? Any other informal tutorials, write-ups, comments, blogs and other support?

6. Regular upgrades and bug fixes..but not so close to each other that the software becomes unstable and unusable. Backward compatibility is also important.

Version number of the software can be used to indicate maturity.

The following frameworks are quite popular (2007):

  • CakePHP
  • Seagull Framework
  • WACT – since ‘disqualified’ since the latest version now requires PHP 5
  • Zoop
  • CodeIgniter

The next step was a bit less scientific – but still fitted in with point 5 – how well is this Framework regarded? How much support does it generate in the ‘community’.

I scouted through forums and followed links and surfed the net and tried to get a general feel – and overall, CakePHP did seem to come out tops. A similar check that one can do is the following – do a Google search for each of the frameworks and see how many results are returned. This will give you a good idea of the general support, number of tutorials, number of forum posts and general ‘talked about’ factor for the specific framework. The results for this exercise can be seen here: http://www.tm4y.co.za/cakephp/ruby-on-rails-popularity-for-web-development.html

In summary therefore, the support for Ruby on Rails and the amount of information available for it is astounding and you will probably not go wrong if you decide to go this route. But if you want to stick with a PHP framework – CakePHP seems to be the route to go!

Use Joomla CMS for Web Development and Manage Your Content With Ease

It’s important for businesses to have a feature-rich and user-friendly website to score well on the internet. Since a lot of opportunities and prospects generate online these days, every business will thus need a website to realize their potential in true sense. The website in question should be powerful and functional to help your business get an edge in the market. So, you will need to first choose a proven content management system (CMS) or platform and then hire an expert to get the website developed. The platform should be rich in features and functionality to ensure success to your business.

At present, there are a variety of software packages available for building, organizing, managing and publishing content for web-based applications. Most of these software claim to bring great results for websites, blogs, mobile apps and intranets in more or less the same manner. However, you should be careful in selecting the one as you will need a platform that suits your needs perfectly. Among the list of available options, Joomla is one such CMS, which brings an award-winning platform for web development. It has scalable MVC architecture and therefore considered quite helpful for building web applications. It is also packed with features for quality web development.

More so, Joomla is an open source multilingual CMS platform that brings support to 66 languages and helps in creation of websites in multiple languages. With this kind of language support, any business can enhance their reach and get to cater a much larger and wider audience across the world. Furthermore, this platform enables simple and easy updates, and in fact, brings to the domain the much-envied feature of “One Click Version Update”. More so, it has an integrated help system so that users at every level find it easy to manage and operate this platform.

In addition, it brings the Media Manager tool to let files and folders be uploaded, managed and organized in a simple manner. Its banner manager option creates the prospect of adding advertising and monetizing the website as it’s now easy to create campaigns and add banners to get clicks and impressions. Similarly, it has features that help in adding of several contacts and categories to make websites a rich source of information. Not to forget, it also brings the feature of built-in smart search feature so that visitors to your website never face any issue in searching any information.

The best thing about Joomla is its wide range of features of content management which makes the task of managing your content a cakewalk. Creating and editing content has gone extremely easy and breezy, and it’s now simple to publish the content with just few click alone. What’s more, frontend editing is now a reality and there is absolutely no need to log into the admin section for doing any changes to the content. In a sense, managing content is not tough anymore and Joomla has added more simplicity to the entire content. So, you should select the right platform for your web development projects to realize your business goals.

Web Development and the Site Review

Every online business owner wants to ensure that his or her web development objectives are on target. Web development includes Search engine optimization and appropriate use of keywords.

One of the ways many individuals are helping develop their website is by utilizing reputable site review sites. Interestingly there is even a site review that reviews other site review sites.

Let me seek to demystify what I am talking about. When you have worked to put all the finishing touches on the first draft of your website you may want to submit your site information to a site review service. This is typically a fee-based service where either peers or techies review the site using a laundry list of criteria. What they are looking for are problem areas that can be fixed before your site goes live. They let you know how your site could improve navigational concerns and what text errors could be fixed.

There is another type of review site that you should know about. These sites review products and or websites for the public to view. This may or may not help you. What you are looking for are services that can assist you in the final stages of web development not those that give you a grade and then pass that along to the public.

Once your site is as on target as you want it to be THEN you can begin sending your URL to the site review locations that provide public opinion on your site if you decide you want to. This can be a good or bad thing simply because you never know how a single person will review a site.

I think it makes better sense to gain independent feedback prior to site launch and then work steadily on improving Search Engine Optimization (SEO) strategies. Unless there is significant positive buzz about your site you might avoid submitting to a public site review scenario. Yes, negative publicity is still publicity, but the roll of SEO will have a greater impact than by hoping for the best now with a public site review.

The reason publishers use editors is because no matter how talented an author may be there are likely to be mistakes that will be missed. The editor works to eliminate mistakes. This is the role of the private site reviewer in web development.

Web development takes into account the branding of the business and/or product and it seeks to ensure there is ample room for growth. This process is a positive in the context of ensuring your site is as error free as possible before you launch. You can have a friend or family member look over your website and give their opinions. This can be a positive experience, but by using a private site reviewer you have the potential of a more objective opinion of the work.

The reason publishers use editors is because no matter how talented an author may be there are likely to be mistakes that will be missed. The editor works to eliminate them. This is the job of the private site reviewer in web development. Put your site together and then get some help smoothing out the wrinkles because if you don’t your potential customers will be the ones to notice and they won’t find it amusing.