我在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应用程序?
有人可以回答我并给出一些好的地方来阅读这些内容。感谢您提前的答案。
答案 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开发堆栈的更多信息,建议您阅读以下博客
。