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!

Web Development Services – How Wisely Do You Opt For It?

With the evolving technologies and approaches in the modern web development, the online marketing has undoubtedly got more extensive. The possibilities are numerous for both an individual and a business. But the need is to choose for the right services in the right time to hit the right note. So where do you find yourself it the race? Some of the simple steps can ensure that you are able to make the most of every of the web design services you opt for. Let us discuss it in details.

The first advice is that don’t go after just the popularity of an application, before you do that make an analysis of the needs of your business. Suppose you have decided to launch a website to make the online presence of your business felt in a better way, here you would be required to get the quality web development and web design services. Analyze whether you need a website with static HTML pages or with dynamic PHP, ASP, ASPX etc. pages. Go for basic HTML based pages if you just need to inform your visitor about the nature and services offered by your business. If you need an e-commerce portal you have no choice but to opt for dynamic pages. If there’s a mismatch, you may be entangled with the imbalanced expenses and that too will fetch nothing expected.

Let us now become a bit more specific, find the experts in your locality, it will keep you at the safer side. As your developers would be in your reach all the time, it would ensure more transparency and ease. Suppose you are in Vancouver, go for the web design services Vancouver. This would further ensure that you get a comparatively more affordable service with equal qualities. As practically, it’s not always wise to spend more which you can get by paying less.

Moving further, as for designing part of your website, tend to get the web design that is not just beautiful, it has got be user-friendly too. After all, you get a website for your visitors only. Don’t always go for aesthetic side, make sure that your website is technically perfect. Be in consistent touch with your web development service providers, ultimately it makes sure that your work is done right in tune with your needs.

How to Find The Best Web Development Company for Your Business

If you are preparing to set up an online business for the purpose of selling your products or services, the presence of your own website is necessitated. In order to ensure that the website has been proficiently designed, it is advisable to opt for specialized guidance in this regard, and opt for a skilled web development company which is capable of accomplishing this task for you. Web development does not necessitate too much of concentration and care especially when it is your personal website. On the other hand, when you are planning a business you need to ensure that your website is possessed of all the fundamental facilities so as to be assured of success within the sphere of the Internet.

If you wish to avail the services of an apt company which would be capable of fulfilling your diverse business requirements, it is essential to confer with people who already have a business website. You could gain additional information pertaining to the costs and the essential issues which must necessarily be addressed, prior to constructing a business website. Additionally, you could incorporate certain vital guidelines on relevant issues and ways to ensure that you can get optimum utilization of the services of the company which you opt for.

If this seems like a Herculean task in view of the fact that none of your acquaintances own a website, you need not be disheartened as you could avail the wide sphere of the Internet to initiate your research. There is nothing which is more capable of assisting you in a more worthwhile manner than the Internet, and this is more so if you wish to accrue additional knowledge in this day and age. You could also be aware of certain proficient web developers within your own neighborhood. All that you would be required to do is to ask them if they can demonstrate the websites which they have designed previously and this would assist you in getting a fair idea as to what they are competent at rendering.

Another thing which you must necessarily corroborate pertaining to your web development company is their exclusivity of work or diversity. It should not be the case that they are in the process of designing the selfsame website layouts time and again, which they would try to camouflage with an amalgam of colors and varied sets of logos.  The next step which is involved after you have proved that you are content with the website designs, is to give them a call and this should be done in person and see to it that they are made aware of your varied requirements and ensure that you emphasize on the search engine optimized website. It is vital that your website should be search engine optimized from the initial stage itself or at the beginning of the first design phase.

It is certainly prudent to seek a company which has many web developers who could aid you suitably in your job of constructing a website. Web development is not as unproblematic a task as it seems thus it is imperative to seek a team rather than the services of an individual which is capable of handling your business requirements. Remember that if the people function in groups on your website, the end result would definitely be an enhanced one.