什么是Web框架?它与LAMP相比如何?

时间:2010-12-22 08:46:40

标签: frameworks terminology

我在LAMP / WAMP开始进行Web开发,这对我来说是合乎逻辑的。 有一个名为Apache的Web服务器程序,用于在端口80(公共端口)上建立服务的网络部分。如果请求是常规HTML,则使用HTTP为其提供服务。如果请求是PHP资源,那么有一个mod_php,Apache调用PHP解释器来处理文件,然后它会返回HTML,它会像往常一样再次传输HTML。

现在的问题是什么是Web框架?我遇到了基于Python的网站创建,还有Flask。什么是烧瓶,它与LAMP相比如何? Django / Ruby on Rails与烧瓶有什么不同?

LAMP比这些常见框架更慢 - 大多数人声称使用他们的框架很容易部署Web应用程序?

有人可以回答我并给出一些好的地方来阅读这些内容。感谢您提前的答案。

3 个答案:

答案 0 :(得分:44)

引用维基百科:

  

Web应用程序框架是一个   旨在实现的软件框架   支持动态的发展   网站,网络应用程序和网络   服务。该框架旨在   减轻与之相关的开销   在Web中执行的常见活动   发展。

基本上,Web框架使您可以更轻松地开发应用程序。大多数网站都有一套共同的功能(如处理会话,数据验证等),并且框架会阻止您在每次创建网站时重写此内容。

LAMP(Linux,Apache,MySQL,PHP / Perl / Python)是一个包含 Web服务器(Apache)的软件包。这是一个实际运行Web应用程序的软件。简而言之,框架是帮助您更快地发展的库。

Flask是一个微框架,基本上意味着它是一个占地面积小的框架(根据其文档,适用于小型网站)。

Django& Ruby on Rails也是框架。 Django和Flask都是Python的框架,但Rails是Ruby的框架。

我建议您在没有框架帮助的情况下构建应用程序,然后跳转到使用框架(这需要您理解模型 - 视图 - 控制器,ORM等原则)。

答案 1 :(得分:25)

  

什么是Web框架?

一组在Web开发中执行常见任务的库,这些库旨在协同工作。

  

什么是烧瓶

网络框架。

  

与LAMP相比如何?

与制造汽车发动机部件的工厂与道路相比,大致相同。

  

DJango / Ruby on Rails还有哪些不同于烧瓶?

是。 Rails是用不同的语言编写的。

答案 2 :(得分:1)

您似乎有些困惑。我建议您阅读以下链接:

  

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

以获得正确答案。同时,让我逐步消除您的疑问。

网络框架是一种软件框架,旨在支持动态网站,Web应用程序和Web服务的开发。

Flask是Python网络框架。

LAMP是一个完整的Web开发堆栈。因此,将flask(Web框架)与LAMP(Web开发堆栈)进行比较是不准确的。在一个非技术性的示例中,想象将一根钓鱼竿绳子​​与整个钓鱼装备套件进行比较。

如果将Flash与LAMP进行比较,则只能以一种方式完成。 LAMP使用PHP,因此此堆栈与PHP的所有框架兼容。因此,您应该将Flask与各种PHP框架(例如Laravel,Codeigniter,CakePHP等)进行比较。

有关Web框架和Web开发堆栈的更多信息,建议您阅读以下博客

  

The Best Technology Stacks for Web Development