选择一个 ColdFusion MVC 框架 [关闭]
Posted
技术标签:
【中文标题】选择一个 ColdFusion MVC 框架 [关闭]【英文标题】:Picking a ColdFusion MVC Framework [closed] 【发布时间】:2011-03-22 16:12:38 【问题描述】:我正在接管我们商店中徘徊的很多 ColdFusion 产品,他们坚持将其留在 ColdFusion 上,并且该领域的新项目必须在 CF 中完成 - 基本上这部分是不可协商的。我在 CF 方面的经验不是很丰富(自 2003 年以来就没有接触过),所以在过去的 4-5 年里,我的大部分开发都是在 .Net、MVC、C#、Linq-to-SQL 方面的。
我正在四处寻找一个 MVC 框架,我可以将我的 Asp.Net MVC 体验与集成的 ORM 联系起来(我至少在一段时间内被困在使用 CF 8 中)。我找到了一些像 Model-and-glue、Mach II 和 Coldbox 等,但我真的不知道从哪里开始,想从使用它们的人那里得到一些关于它们的优点、缺点等的意见他们。
我知道我需要对 CFML 进行广泛的复习(几乎是重新学习),所以我不需要被告知 - 我正在展望未来。
您能否分享有关 CF MVC 框架的任何信息,以帮助我选择最适合我的框架?谢谢。
【问题讨论】:
我最喜欢的 ColdFusion 框架 FW/1 已经作为答案出现了。这是指向 CFML 应用程序框架/方法的完整列表的有用链接carehart.org/cf411/#cffw 大家的意见真的很棒,谢谢!我打算让这个开放一段时间,以尝试获得更多意见 【参考方案1】:看到您是 ColdFusion 的新手,我会选择一个框架并坚持下去。一开始你会遇到问题,你会很想放弃你选择的框架,但不要这样做。掌握一个框架后,就可以学习其他框架了。
CF Wheels ColdBox * * *(很好的文档) FarCry Framework/1 * * (简单的LIGHT框架) FuseBox ModelGlue Mach-II大部分都可以添加
ColdSpring Reactor 转让An introduction to ColdFusion frameworks at Adobe.com
最重要的是要记住我们都有自己的观点,但没有真正的证据证明什么是最好的。您甚至可以不使用实际的框架,而只需在 MVC 中仔细编码。
你当前维护的东西
我会选择 ColdBox、ModelGlue 或 Framework/1。
ColdBox 提供了一点代码生成功能,而且 Framework/1 非常轻量级,所以学起来很少。
【讨论】:
非常感谢您的意见,我同意不存在适用于所有语言的“最佳”框架【参考方案2】:我已经使用 CFWheels 几年了,但我还没有找到更好的框架。它受到 Ruby on Rails 的启发,并且通过优秀的文档和非常活跃的社区非常容易学习。
www.cfwheels.org
【讨论】:
安迪,我希望你不介意;我将“基于”更改为“受启发”,以澄清它不是建立在 RoR 之上的。我为你链接了你的链接。 :) 我必须第二个 CFWheels。我已经使用 CF 框架超过 11 年了。我只坚持使用 ColdBox 和 CFWheels。 ColdBox 很棒,我倾向于将它用于与其他应用程序交互或需要备用前端(Flex 等)的更大应用程序。但对于中小型项目,我总是使用 Wheels。内置的 ORM 和验证使您的应用程序启动和运行变得非常简单和快速。在开发速度方面,没有其他框架可以与之相比。【参考方案3】:我在 ColdFusion 中教授一门课程,并在课堂上使用 Sean Corfield 的 Framework/1。它是轻量级的并且具有非常平缓的学习曲线,这使得它特别适合转换现有的代码库。但与此同时,开发人员团队很容易与之合作,并且可以扩展到大型应用程序。无论如何,对我来说,它是最不像框架,最像自然代码的框架。
http://github.com/seancorfield/fw1/
【讨论】:
+1 - 这是一个非常好的 MVC 框架,在开发速度和组织之间取得了很好的平衡。过去几年我们编写了自己的 MVC 框架,但下次我们想使用 FW/1。社区也不错:groups.google.ie/group/framework-one【参考方案4】:我想为cfwheels +1。
自 2003 年以来,我将 Mach II、ColdBox、Fusebox 和 Model-Glue 用于各种项目。所有人都有其优点和缺点(Fusebox 是我现在唯一要避免的)但是,在最近的一个项目中,我决定尝试 CFWheels。
使用 Wheels 非常棒。我为我小镇上的一些朋友开发了一个网站,他们拥有并经营一个攀冰和指导网站 ([www.ourayclimbing.com]),度过了一段愉快的时光。不错的 SES URL,在 Adobe CF 和 Railo 上运行良好,管理员非常容易使用 Scaffolding 插件、约定优于配置(我喜欢 :))等。
无论如何,如果您坚持使用主要参与者(ColdBox、CFWheels、Mach II 或 Model-Glue),我想您会对 CF 可以为您提供的东西感到惊喜。
【讨论】:
【参考方案5】:真的必须是coldbox。
它在网站上有很好的文档,还有一个book,它写得很出色,涵盖了面向对象编程的许多方面,以及其他主题。老实说,这本书给我留下了深刻的印象,超出了我的预期。
我喜欢这个框架的地方在于它在其处理程序中使用了coldfusion代码,当我拿起它时,我认为其他使用xml的框架......不确定这是否已经改变。
如果您熟悉 CFC,则该框架很容易上手,并且具有一些用于构建站点的有用功能。插件、调试工具栏、“漂亮 URL”的 URL 生根..
我对框架的评价不够高。
还有一个非常有帮助的社区here,他们非常及时地回答了我的所有问题。
【讨论】:
【参考方案6】:我建议查看Mach-II。它被用于许多非常引人注目、高流量的网站,并且已经使用了多年。 This blog post 在这一点上有点老了,但在一般的 Mach-II 以及谁使用 Mach-II 方面仍然有一些很好的信息。
它正在非常积极的开发中(不要让与其他框架相比较低的版本号欺骗了你),1.9 版即将发布,2.0 版的宏伟计划。
Mach-II 的主要功能包括复杂的缓存和日志记录功能、用于帮助开发和监控应用程序的非常好的仪表板、包含数据绑定的丰富表单标签库等等。
【讨论】:
【参考方案7】:我会选择 CFWheels 或 FW/1。对于那些刚接触 CF 框架的人来说,两者都非常容易使用(我仍然认为自己属于该组),并且没有像其他一些框架那样陡峭的学习曲线。 Coldbox 看起来非常强大,但我很难理解它。
【讨论】:
我完全同意 Gary、CFWheels 或 FW/1 很容易上手。【参考方案8】:您可能还喜欢我的 SOS 和 COOP 框架。我们正在创建更好的公共文档。与其他选项相比,它可能更像您习惯的代码。
【讨论】:
【参考方案9】:您还可以查看 ColdBox。 http://www.coldbox.org/ 大量文档和大量功能。
还有 Farcry 核心框架http://www.farcrycore.org/
必须说,您需要自己决定最喜欢哪个框架,或者是否构建自己的框架。这真的取决于你想从框架中得到什么。
就 ColdFusion 8 的 ORM 而言,您有 Transfer ORM (http://www.transfer-orm.com) 和 Reactor (http://www.reactorframework.org/)
虽然,考虑到 ColdFusion 是 Java 服务器之上的 Java 应用程序,你没有理由不能继续使用 Hibernate (http://www.hibernate.org/) ColdFusion 9 确实让使用 hibernate 变得更加容易,但你是暂时停留在8。
【讨论】:
【参考方案10】:一切都可以商量。在 Rails 3 中重写 CF 应用程序将是最强大的方法。
基于原则构建的语言和框架——Ruby/Rails 3(和其他 Ruby 框架)、Python/Django 1.2(和其他 Python 框架)、ASP.NET MVC 2——一般来说是最好的使用方法。
ColdFusion 和 ColdFusion 框架无法比较,因为 ColdFusion 作为一种语言和作为一个库是随机组合在一起的,而 ColdFusion 框架(ColdBox、FW/1、Model-Glue、CFWheels、Mach II)只能做这么多把它弄平。例如:CF 作用域、缺少闭包、缺少可加载的类/组件(您可以实例化组件,但不能像这样加载组件)、笨拙的参数处理、映射、缺少实际应用程序、缺少委托和闭包,以及对语言和库的大多数方面的方便但不严格的方法。相比之下,列出的其他语言提供了严格性和严格性之上的糖分。
【讨论】:
terrenceryan.com/blog/post.cfm/dear-coldfusion-denierterrenceryan.com/blog/post.cfm/dear-coldfusion-skeptic 如果我要重写它,我为什么要学习一门新的语言/框架?我会坚持我 6 年多以来一直在做的事情:.Net @naspinski 是的,然后坚持使用 ASP.NET MVC!它本身相当可靠,并且建立在极其可靠的语言和运行时之上。我个人喜欢 NHaml 模板引擎。 正义,您没有回答所提出的问题。您可能会觉得 Ruby 或 .Net 是应该用于开发应用程序的语言,但问题是“必须在 CF 中完成”,所以您的回答只是 FUD。请坚持提出的问题。 嗨,正义,现在才看到这个。我不确定你是否使用了足够的coldfusion来评论它,因为你可以使用cf作为标签语言(这似乎是你评论的内容),或者使用cfscript,它是ecma脚本(ala javascript)基于。它很干净。与我使用过的任何语言(包括 Ruby)相比,标准的冷融合功能更加成熟,开箱即用的网络功能集更广泛/更深入。自己去看看吧,我想你可能会感到惊喜。 Coldfusion 使应用程序开发比我发现的任何其他语言都更简单。以上是关于选择一个 ColdFusion MVC 框架 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章