好的老熔断器是我的第一个框架,我仍然很喜欢它。从PHP版本开始,目前使用最新的CFML版本。
但随着时间的推移,我在想:也许我应该换个框架?我不想在这里发动圣战。我只想知道继续使用FB的利弊。
比如说,我认为无XML控制器是一个非常好的想法,也是迈向未来的一步。或者我错了,我应该专注于马赫-II或者模型-胶水或者.(输入你最喜欢的)?
但是PHP呢?似乎它已经停留在过去一点了。Symfony,CakePHP,Zend等现在看起来好多了,而且增长很快。
因此,以下是比较方面的粗略清单:
任何想法和意见都是值得赞赏的。谢谢。
发布于 2009-02-09 03:16:09
Fusebox仍在积极开发中,而且最近刚刚换了手,所以领头的开发人员现在是亚当·哈斯克尔。
您应该切换到另一个框架吗?
这是个主观的问题。唯一好的答案是--如果有无限的时间和机会--你应该试一试,看看你喜欢什么。他们都有自己的优点和缺点,但大多数人都认为,这不是一个框架问题,而是一个框架问题。你已经决定了这是你想要的工具,所以对你很有好处。让它成为你理解和享受的工具。
尽管如此,时间和机会并不总是有的。在这种情况下,你最好还是坚持你所知道的,学习Fusebox的最新变化是什么。我没有时间亲自学习,所以我自己也是个模特。在不久的将来,我会看到一些导火索盒,但同样,它是主观的,重要的是你在你的处境中做得最好。
由于我是一个CFML开发人员,所以我不能真正谈论PHP框架的状态。同样,如果你有时间,和他们一起玩,评估他们在哪里,以及他们是否是你感兴趣使用的工具。
ORM集成
我知道Model-Glue有ORM集成-- 反应堆和转移都很容易挂钩。我怀疑马赫-II也可以这样说,而且可能是熔断器,但我对两者都不乐观。
ColdFusion 9在Hibernate中的烘焙可能在任何框架中都能很好地工作,但这一点还有待观察。
性能/缓存;解析文件?
这更像是ColdFusion和.Net的问题,对吧?PHP也是一种“解析”语言。预编译的二进制代码在运行时总是至少有一点优势,但是考虑到对于大多数web应用程序来说,增加一些更有能力的硬件比花几个月(或更多)开发软件更容易,也更便宜。
“解析”文件还足够好吗?是!他妈的是的!
集成与测试框架
有多个测试框架,包括CFUnit、CFCUnit和MXUnit,用于单元测试(适用于TDD)和CFSpec用于BDD。我相信还有很多其他的。
CF8带来了与.Net和Exchange的集成(可能还有其他一些我忘了的事情),我们从版本6开始就与Java进行了集成。用这些不同的语言编写的一些组件从没有比用这些语言编写的组件更容易获得最好的结果。
结论
您的问题标题是关于Fusebox框架的未来,我可以告诉您,它不会去任何地方(除了继续增长和改进,就像其他CFML框架.)。如果你对Fusebox很满意,就没有理由离开它了。这并不意味着你不应该什么都试,但没有理由放弃船。
发布于 2009-02-09 03:42:14
扩展你的视野不会有什么害处:
比较的范围是如此之广,以至于你不可能在一个单一的线程中得到对您的四个标准的全面和精确的解决方案。这是一个很好的问题,但没有一个单一的答案是确定的。
相反,我会问什么(如果有的话)将阻止您尝试一个不同的框架和扩大您的视野(假设您的独家或主要经验是与FB)。
没有什么能超越你自己从第一手经验中对你的四个标准的评价,尤其是因为你询问的因素要么是非常主观的,要么是每个“高调”web应用程序框架都能合理地解决。
向FB致敬特别是:
Fusebox框架在大多数人听说XML或web框架之前就开始并获得了发展势头。这是第一个“消除烦恼”的web开发框架之一,旨在使web应用程序开发变得更“有趣”(目的是消除ColdFusion中的一些烦扰和乏味,这本身就是当时的一个特殊框架)。
因此,它已经走了很长的路,并有一个相对稳健的记录(就像ColdFusion)。
然而,有些人认为这是对FB的重大损害(就像对ColdFusion一样)。在这个框架中有很多“包袱”,坦白地说,如果它与其他MVC框架中的“新一代”一样具有可信度的话,它就不会存在了。有许多方面(从语言设计的角度来看)揭示了一些粗糙的边缘,如果您选择FB作为您完成任务的唯一方式,则可能会对您对web应用程序框架的思考方式产生负面影响。
没有命名名称,(您已经听说过),我建议您最好将FB保留在您的工具箱中,但也可以扩展到较新的框架中,特别是那些基于PHP和ColdFusion以外的编程语言的框架。
这样,你也会扩展你的视野和理解作为一个程序员在一般情况下。
发布于 2009-02-09 14:21:14
在工作中我们使用Fusebox (php)..。糟透了!!
如果有可能的话,我肯定会建议迁移一个更“嘻哈”的框架。
虽然..。我所做的,这似乎是我对框架的大部分不满,是编写模板文件,包括从开关,并计算任何“运行时”参数内的同一案例陈述。这促进了良好的代码重用。
但我是说..。有一个巨大的开关声明?这难道不是“这应该是一个对象”的代码气味吗?它让我想起了RoR控制器类的过程版本。(我不是RoR guy..just的话)
https://stackoverflow.com/questions/525589
复制相似问题