Making sure that your PaaS offering and the web development framework of your choice agree can be tricky. Learn how to choose the best framework for your enterprise needs.
Regardless of which PaaS offering you choose, you will also need to choose a web development framework. The web framework provides the software to support the development of your web application and to build and deploy your web-based applications. It’s a compilation of code that allows developers to build without doing everything from scratch. It’s important to note that you may be in love with a particular framework, but it may not be available on your offering.
So, here’s some information on choosing a web development framework, in which I drill down to my favorites. The table below provides information on the more popular frameworks, along with the platform-as-a-service vendor support from the most widely used PaaS offerings.
Microsoft Azure provides the most web development framework choices, with Beanstalk a close second. The frameworks that we will examine here in more depth – Django and CakePHP — are available on both.
Django is a free, open source web development framework, which is written in Python and maintained by the Django Software Foundation. Its goal is to simplify the creation of complex types of websites that are usually database-intensive. It was created in 2003 and released in 2005. For movie lovers, no, it was not named after the movie (one of my favorites, actually) but rather after guitarist Django Reinhardt.
Let’s look under the covers. Python itself is a very popular language, and it is rated in the top three for popularity by most polls. One of the reasons that it is so popular is because of the involvement within the open source community. If you’re going to develop in Python, Django is your best bet, because it has such a great support base if you run into issues. All the vendors that support Django provide detailed instructions on how to quick deploy and manage Django applications, without worrying about the underlying infrastructure that manages the applications. Django is very fast, yet flexible, secure and salable. It has a strong user authentication system, which is really necessary in today’s world where cross-site forgeries and clickjacking are so common. For example, Django contains clickjacking protection by providing middleware through supported browsers and preventing sites from being rendered inside a frame.
Let’s look at choosing a web development framework that uses PHP. It is CakePHP. If your preferred programming language is PHP, this may be the framework that you will use. CakePHP, released in 2005, is a PHP-based framework that provides flexible database layers, among other features. It’s open source and modeled after Ruby on Rails. It also follows the model-view-controller (MVC) approach and is distributed under the MIT license — a free software license originated at MIT. The MVC design removes the necessity of having to combine complex components to design your application architecture. Similar to Django, there is excellent documentation as far as how to use CakePHP in either your Azure or Beanstalk implementation.
PHP or Python?
What language is better for you: PHP or Python? While PHP is used more as a server-side scripting language, Python is known more for its simplicity. PHP is used mainly for websites and was developed for web developers, while Python is used for many different other applications. PHP is considered by many to be harder to use, though it can be more robust. Python has more out-of-the-box support for everything, and most newbies consider it easier to understand. As far as security is concerned, Python has a better reputation because its tools are all a part of its toolbox, while PHP sometimes needs to be handled through the use of third-party tools. PHP does own the market share, dominating the internet with over 80% of websites developed in it. However, according to the Institute of Electrical and Electronics Engineers Inc., the number one programming language recommended was Python, and PHP was eighth. Pick your poison or treasure.
The bottom line
How do you choose a web development framework for your PaaS environment? Find out if anyone on your team has experience in one and not another. If not, are you eager to learn another language? Make sure that support for your web framework is available from your PaaS offering. I recommend trying at least two to find out what works best for your purposes. Finally, in my opinion, you can’t go wrong with either Django or CakePHP.