What is a Web Framework? How does it compare with LAMP?

To quote Wikipedia:

A web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services. The framework aims to alleviate the overhead associated with common activities performed in Web development.

Basically, a web framework makes it easier for you to develop your application. Most sites have a common set of functionality (like handling sessions, data validation, etc) and a framework is something that prevents you from re-writing this each time you create a website.

LAMP (Linux, Apache, MySQL, PHP/Perl/Python) is a package that contains a web server (Apache). This is a piece of software that actually runs your web application. Frameworks are, in short, libraries that help you develop faster.

Flask is a microframework, which basically means that it is a framework with a small footprint (and meant for small sites, according to its docs).

Django & Ruby on Rails are also frameworks. Django and Flask are both frameworks for Python, but Rails is a framework for Ruby.

I would suggest that you build applications without the help of frameworks, and then jump into using frameworks (which require you to understand principles such as Model-View-Controller, ORM, and so forth).


what is a Web Framework?

A bunch of libraries that do common tasks in web development that are designed to work together.

What is a flask

A web framework.

how does it compare with LAMP

In roughly the same way that a factory making components for car engines compares to a road.

Further are DJango / Ruby on Rails different from flask ?

Yes. Rails is written in a different language for a start.


You seem to be a bit confused. I suggest you read from the below link :

How To Choose The Perfect Technology Stack For Your Web Development?

to get the correct answers. In the meantime, let me clear your doubts step by step.

A web framework is a software framework that is designed to support the development of dynamic websites, web applications, and web services.

Flask is a Python web framework.

LAMP is a complete web development stack. So comparing flask (a web framework) to LAMP (a web development stack) is simply not accurate. In a non-technical example, imagine comparing a fishing rod string to an entire fishing equipment kit.

If you are comparing Flash to LAMP then it can be only done in one way. LAMP uses PHP, and so this stack is compatible with all the frameworks of PHP. So you should compare Flask to various PHP frameworks like Laravel, Codeigniter, CakePHP, etc.

For further information on web frameworks and web development stacks, I would suggest you read this blog on

The Best Technology Stacks for Web Development

.