CMS and Web Frameworks
Why to choose? What to choose? Which is the best?
Starting with WHY is one of my favorite practices. However I wanted to write an article from a totally different perspective.
First of all I want to make sure that developers and customers understand the difference between the terminology “CMS” and “Framework” nowadays.
CMS stands for…
Wikipedia says that, Content Management System (CMS) manages the creation and modification of digital content. It typically supports multiple users in a collaborative environment
CMS features vary widely. Most CMSs include Web-based publishing, format management, history editing and version control, indexing, search, and retrieval. By their nature, content management systems support the separation of content and presentation.
Frameworks are used for…
A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and deploy web applications. Web frameworks aim to automate the overhead associated with common activities performed in web development.
When we use the terminology “Framework” we are more often talking about Web application framework . A web application framework is simply based on coding. If you are a programmer or a web developer that loves coding you often choose a Web application framework for your projects.
There are lot of fights…
There are lot of misunderstandings about what a framework and what a CMS can do. Lot of fans that use CMS they are saying that “We can do everything with a CMS” and the fans of the frameworks are “No we can do everything with a framework” and so on… As a fan of frameworks of course I will have the same opinion but actually this is not true! The truth is that as we use the same base (PHP ,RoR,python,. NET… e.t.c.), we all can do everything. Even the myth that CMS doesn’t use a good structure isn’t truth. For example Drupal 8 is based on Symfony framework, a very good object oriented web application framework.
Answer the Questions…
Why to choose?
I don’t think as a web developer, we really need to choose among these two terminologies. Reason is very much simple cause if we want to develop a better skill set for web development then it is crucial to have a better hand in core coding practices. And to have this, it is good to have experience to work with both web frameworks as well as CMS.
Actually Some CMSs show the necessity to have better logic reasoning ability and core design pattern knowledge with web development languages.
What to choose?
Yes, after having such an ability to work with core requirements to work with web development, we all need to choose any one of them to be more efficient with any one of them.
For me, I prefer to start with web development core features with any one of programming language and then to work with the respective web frameworks to know better design patterns, more secure coding patterns and structured way to do web development. Other may have different thoughts. I welcome all for those I can get proficiency in my work.
Which is the best?
Wordpress? The name we mostly heard on the reign of CMS. Yes it has better future with Google.
For more information go for it. Wordpress with Google!
Drupal! I love it specially to work with it. For me, Drupal to be an Enterprise Content Management Framework with the ability to provide rich Digital Experiences.Visit drupal.org for more information.
For more and more convenient list of CMSs you can visit WIkIPEDIA.
But for clients…
It depends actually. It depends on 3S. Size, Security, Speed. Now I prefer this 3S to be considered before starting any project as web application. From the viewpoint of a client, it is important to consider this along with their own parameters to make a better decision.
Let’s talk about these 3S first…
Size of web application can be a big issue. Because size can have impacts on other 2S, security and speed. And it really make sense isn’t it. For bigger size we need to be more conscious about the security and speed of the application.
And for smaller size applications with better security and speed we can use better web application frameworks like Cakephp,CodeIgniter, Laravel, Symfony, Django, Ruby on Rails. And it can be done more efficiently and quickly.
But for bigger and more sensitive web application we should go for Better CMS to use. Like Drupal, Magento, Joomla, Opencart, Wordpress etc. Because with that CMS developer can make more efficient concentrate on feature building instead of major security and speed factors.
There can be other more valuable concerns regarding the operational or managerial perspective from client, that needed to be on focus to be considered.
What we use in SJ Innovation.
We use a variety of web technologies with various famous CMS’.
Cakephp, CodeIgniter, Laravel, Symfony, Django, Ruby on Rails, AngularJS, React.js, Express.js, Vue.js, Node.js, Spring, Grails, Ghost IO, Yii, Hibernate (Java), Slim, Moustache JS, RequireJS, Stripe are notable frameworks.
Our speciality on CMS to work with are Wordpress, Drupal, OpenCart, SquareSpace, Shopify, Magento, moodle cms, Typo3 CMS, Shopify.
We also work with multipurpose APIs, External APIs, Payment gateways and other core web languages to develop and maintain web applications.
Most interestingly I found that all of the most used web frameworks and CMS are build with PHP.
So learn PHP and shine…