在构建新的Web应用程序时,您如何决定使用框架(例如Zend Framework)?
从头开始而不是使用框架有什么好处?我很清楚框架的优点,以及一些disadvantages。
我听说它说真的很大的项目通常不使用现成的框架,但有一个自定义的内部框架/结构。是不准确的还是原因是什么?
答案 0 :(得分:6)
答案 1 :(得分:3)
在构建新的Web应用程序时,您如何决定使用框架(例如Zend Framework)?
您应该评估新Web应用程序的要求。然后,比较框架提供的功能集,看它是否符合要求。还要考虑诸如许可和开发人员熟悉之类的事情。
从头开始而不是使用框架有什么好处?
在我看来,没有。诸如ZF之类的通用框架可以很容易地适应大多数项目。但是,如果您的项目目的仅仅是为了学习新事物,那么仅仅为了学习如何去做它可能是有用的。
我听说它说真的很大的项目通常不使用现成的框架,但有一个自定义的内部框架/结构。是不准确的还是原因是什么?
这种情况的原因通常是政治或此类项目的时代。回去几年,没有非常适合开发大规模应用程序的框架/库。今天我没有看到你不应该使用库的任何理由,因为它将显着缩短开发时间并生成更多无错误的代码(假设开发人员熟悉框架)
答案 2 :(得分:2)
这是我对它的看法......
当我想要构建一次性系统或快速建立系统原型时,我使用框架。注意原型这个词。准备好在它建成之后扔掉它。一次性系统说明是您想要构建一个定义明确的任务的地方,并且变更和副本的风险都很小(因此维护不是一个大问题)。
当我想要构建一个将要制作许多副本的系统时,或者需要在其生命周期内进行广泛修改时,我会使用库。基本上,这从一开始就强制执行适当的架构设计步骤。通过这种方式,您可以确保应用程序的设计能够满足您的要求和从一开始就预期的变化,而不是将其视为事后的想法。
注意我说的是“一套图书馆”。我的意思是,我采用了我喜欢的“框架”,并仅将其用作一组辅助函数。我没有以“心态”构建应用程序。我实际上是将应用程序构建到所布置的体系结构中(这通常与框架首选方法有很大不同)。我尽可能使用库,并编写我不能的自定义类。
我为什么这么说?好吧,我的观点很简单。是什么让现代PHP框架成为“RAD”框架(快速应用程序开发)?基本上,它可以让你跳过高架构(这需要花费相当多的时间),并且正确编码(因为框架开发人员为你做了一个架构)。这个观点的问题(从我的角度来看)是没有什么可以说架构考虑到你需要它的东西。这是一般问题的通用方法。第二个你有一个实际的问题,一个特定的方法(如果智能设计)应该比任何通用方法好得多......
我确实使用预先制作的框架,但我会根据问题的需要使用它们。如果问题需要一个完整的体系结构(我处理的大部分都是恕我直言),那么我没有充分发挥框架的潜力。但我正在交易一些潜力,使应用程序的行为完全符合我的需要。这是一个权衡,你必须意识到这一点。但是我觉得我所获得的东西远远超过我放松的东西......你必须为自己做出选择。
只需我0.02美元......
答案 3 :(得分:1)
当您知道要重新发明已由其他人编码和测试的内容时,您决定使用框架(插件,模块)。可能在99%的情况下。
答案 4 :(得分:0)
当你没有太多时间使用框架时。