gpt4 book ai didi

web-applications - 流行的 Web 框架之间的主要区别是什么?

转载 作者:行者123 更新时间:2023-12-04 00:53:52 24 4
gpt4 key购买 nike

现在有 lots of web application frameworks 可用,几乎适用于所有语言。根据您的经验,它们的优势、劣势和独特之处是什么?假设选择是奢侈的,哪些因素会导致您考虑一个而不是另一个?

我最感兴趣的是人们对一个或多个框架的直接体验,而不是对那里的所有内容进行详尽的比较。希望 SO 社区拥有对 RailsASP.NETDjangoTurboGearsJSF 之类的东西有好坏经验的程序员。如果有人使用较不主流的框架之一,例如 SeasideWeblocks ,也很高兴听到。

编程语言是一个明显的区别,但 Java 与 Ruby 之间的较量不会太有趣,而且这些框架中的大多数似乎至少与他们选择的语言一样在技术、工具和复杂性方面进行了投资;所以我对以下事情更感兴趣:

  • 开发速度和便利性
  • 进入壁垒——包括开发人员培训和所需的基础设施
  • 锁定 - 如果必须切换框架,您可以保留多少代码?
  • 灵活性 - 框架是否决定了您的架构或设计? (这是好事还是坏事最好留给单独讨论。)
  • 性能、可扩展性和稳定性 - 显然取决于开发人员!
  • 最佳答案

    我将简要介绍三个流行的 Python 框架的每个领域。这仅基于我的个人经验和观察。

    开发速度和便利性

    对于 TurboGears Pylons Django ,开发速度大致相同。作为现代框架,很容易在新站点上开始并开始将页面放在一起。 Python 的开发和调试速度非常快,我认为任何 Python 框架的开发时间都比我使用过的任何其他设置(包括 PHP、Perl、Embedded Perl 和 C#/ASP.Net)都要短。

    进入壁垒 - 开发人员培训和基础设施

    如果您了解 Python 并愿意观看 20 minute video tutorial ,则可以从头开始创建一个相当完整的 wiki 类型站点。或者你可以在 30 分钟内遍历一个 social-bookmarking site tutorial(包括安装)。这些是 TurboGears 示例,但其他两个框架也有几乎相同的教程。

    这些框架开箱即用的测试/开发基础设施通常足以完成大多数站点。您可以随时更换组件以满足您的生产环境要求。例如,SQLite 非常适合设置模型和加载测试数据,但您需要在上线或存储大量数据之前安装 MySQL(例如)。

    在所有情况下,要求都非常低,完全取决于您的可扩展性要求,而不是框架的任何特性。如果您对某种模板语言或 ORM 感到满意,它可能会直接插入。

    锁定

    这是所有框架中的普遍问题。当您选择一种语言时,您会限制您的代码重用选项。当您选择模板程序时,您又会被锁定(尽管这通常比其他事情更容易更改)。您的 ORM、数据库等也是如此。这些框架没有专门做任何有助于或阻碍锁定的事情。

    灵活性

    这都是关于 MVC 与这三个框架的。正如你所说,这是一个非常不同的讨论!

    性能、可扩展性和稳定性

    好吧,如果您编写好的代码,您的网站就会运行良好!同样,这是 different development techniques 解决的所有框架中的一个问题,并且可能超出了本答案的范围。

    关于web-applications - 流行的 Web 框架之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/142470/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com