切换到现有的 Web 开发框架的复杂程度是多少?
什么样的复杂性度量对于 Web 开发是实用的?代码长度?功能列表?数据库大小?
如果您在几个不同的站点上工作,那么通过在所有站点上使用一个通用框架,您可以花时间处理代码,而不是试图记住什么位于何处以及为什么。
我总是使用某种框架,即使它是你自己的,因为统一性将帮助你构建你的项目。除非它是一页静态 HTML 项目。
然而,没有强制性限制。
我不认为有一定程度的复杂性需要框架。对我来说,每当我编写一个动态站点时,我都会立即考虑一个框架,如果它可以节省我的时间,我就会使用它(它几乎总是这样,而且我几乎总是这样做)。
考虑到这个问题可能有问题。许多最复杂的网站不使用任何流行的、预先存在的框架。谷歌有自己的网络服务器和自定义的做事方式,亚马逊也有,可能还有很多其他网站。
如果一个框架使您的任务更容易,或提供附加值,那就去吧。但是,当您获得该框架时,您将被绑定到一个新的依赖项。我开始实质上重新创建 Joel on Software 帖子,因此我将在此处重定向您以了解更多关于向您的代码添加不需要的依赖项的信息:
所有因素都很重要。您应该衡量使用 3rd 方框架可以节省多少时间,并将其与使用其他代码的风险进行比较
从不“强制”。任何框架都不能很好地解决一些问题。当您正在实现的大部分代码已经由相关框架以适合您的特定应用程序的方式实现时,切换到框架是值得建议的。这可以节省您的时间和精力,并且很可能比您编写的新代码更稳定。
这真的是两个问题,你意识到。:-) 第一个问题的答案是它从来都不是强制性的,但老实说,直接解析 HTML 请求参数从一开始就非常糟糕。我什至不想做一次,所以我倾向于相对较早地使用框架。
至于什么测量是实用的,那么,你担心什么?您列出的所有描述都有价值。在我看来,数据库大小主要对扩展很重要(如果你有一个非常简单的模式,你可以编写一个非常简单的应用程序,即使数据库中有数十万行)。功能列表可能会决定 UI 页面的数量和复杂性,这反过来又有助于规定代码长度。
所有框架和库都是您可以使用的工具。确定哪些可以让您的给定项目的生活更轻松并使用它们。
我会说反之亦然。在某些时候,您的项目变得如此庞大,以至于您实际上会因框架的缺点而减慢速度。实际上,对于足够大的项目,您最好开发自己的框架以满足您自己的需求。我曾多次看到人们在他们可以做出的决定或他们可以生产的工作上受到阻碍,因为他们试图做一些框架没有预料到的事情。而做这些框架没有预料到的事情可能会很麻烦。制作自己的框架的好处是它可以随着您的项目而发展,成为您系统的帮助,而不是障碍。
所以,总而言之,小项目应该使用现有的框架。大型项目应该包含自己的框架。