【问题标题】:Web app: code from the ground up or use 3rd party framework?Web 应用程序:从头开始编写代码还是使用 3rd 方框架?
【发布时间】:2010-11-05 09:20:58
【问题描述】:
我即将开发一个网络应用程序 (PHP/MySQL)。在开发应用程序时,我更喜欢使用 MVC 风格,但过去我一直在努力编写自己的 MVC 框架,所以我开始使用 CodeIgniter。经过几个教程后,我更好地理解了如何使用 MVC 框架进行正确开发,并且我完全可以使用 CodeIgniter 来编写我的应用程序。
问题是我现在想知道是为这个应用程序编写我自己的 MVC 框架还是使用 CodeIgniter 更好?我的担心是因为我只是将这个应用程序编写为原型,并将其交给更有经验的开发人员。我担心 CodeIgniter 存在我尚未意识到的限制,可能会阻碍我或下一个开发人员的进一步发展。我想它比第 3 方/现成/库存框架更容易解决自定义框架的问题/限制。
有什么见解吗?
【问题讨论】:
标签:
php
codeigniter
frameworks
【解决方案1】:
CodeIgniter 没有任何真正的限制,因为大多数核心都可以扩展。我已经使用它多年了,但没有发现任何我无法使用它的东西。
如果您喜欢 PHP5/OOP 的东西,Kohana 会更有趣,但缺少文档会使快速学习变得相当困难,尤其是当您获得报酬来制作它时。
使用 CI,它会大大加快你的速度。
【解决方案2】:
如果您熟悉 CodeIgniter(而不是从头开始编写自己的框架),我会选择 CodeIgniter,该应用程序是一个原型,并且正在移交给更有经验的开发人员。
CodeIgniter 并不是一个晦涩难懂的框架,它被广泛使用并且有据可查。如果您的开发人员大惊小怪,那么他们可能并没有想象中的那么有经验。
【解决方案3】:
对于原型,我会说绝对使用你熟悉的任何东西,而不是让项目变得比它需要的大得多。编写自己的框架是一个巨大的挑战,但它也是一个非常好的学习体验。我已经编写了适合我自己需要的语言,以便我可以“深入”学习该语言(并且每当我使用它时我都会不断添加它......也许有一天,当我决定它是“功能齐全”时,我会把它发布到更广阔的世界)。但只有在你有时间并且有足够的空间让一切出错的情况下,你才应该这样做。
【解决方案4】:
好吧,问题是:你能比其他所有 MVC PHP 框架做得更好吗?重新发明轮子只会花费更多时间,而且应用程序的关注点也会发生变化,因为您需要维护 2 个单独的东西。
我会坚持使用适当的 MVC 框架。我们使用Symfony 专门用于该用途。这是一个很棒的框架,具有从其他框架和其他编程语言中借鉴的许多功能。然而,对于 PHP 框架来说,这个列表是无穷无尽的。我建议阅读一些有关其他框架的信息,然后选择最适合您需求的框架。它最终会节省您的时间。
【解决方案5】:
作为开发人员,我不得不走同样的路。
就个人而言,我选择 CodeIgniter 作为我开发的主要工具,主要是因为社区支持和简单的 MVC。但是,CodeIgniter 是由 EllisLab 构建的,它们不是社区驱动的。如果您正在寻找具有更多动态、社区驱动、开源 MVC 框架的东西,我建议您使用 Kohana。
Kohana 有一个很好的社区,他们有一些著名的贡献者。 Check it out here
如果您正在考虑从不同类型的框架中进行选择,我建议您列出您想要从框架中得到的东西,然后根据它进行搜索。