转向ColdFusion?

10

我目前正在为一家中型公司构建一个Adobe Air桌面应用程序,我真正相信我可以将这个应用程序用于许多其他“类似公司”。它将大大提高他们的效率并节省资金; 希望也能让我赚点钱! :) 我正在设计数据库结构和应用程序布局。

我的当前技能:

  • PHP中级水平
  • Actionscript 3.0中级水平
  • 对Flex和Adobe Air相对较新

据我所知,AMF是Flex和服务器端语言之间最好的通信形式。此外,我知道AMF对于[ColdFusion到Flex]通信是本地的,而PHP需要WebOrb、Zend AMF或AMFPHP来进行[PHP到Flex]通信。我真的很喜欢ColdFusion是一个“全能”的功能。

我的问题是:

如果这是我计划花费几年甚至更长时间的程序,那么我是选择ColdFusion还是PHP更好?

  • 我不喜欢使用PHP时必须依赖“第三方程序”
  • ColdFusion、Flex和Adobe Air都是Adobe -> 牢固的集成
  • 然而,我需要学习ColdFusion

请帮忙,任何信息都将不胜感激!

6个回答

14

当我还是一个没有经验的年轻人刚从大学毕业时,我学习了ColdFusion,并在第一份工作中大约花了一个星期就建立了可行的基础。它真的很容易学习。

ColdFusion的优点:

  • 容易学习
  • 允许快速开发
  • 全世界最容易连接到数据库并编写SQL的语言
  • 是Adobe产品,因此配置轻松简单
  • 刚发布了一个带有许多新功能的新版本
  • 知道ColdFusion,你总能找到工作

ColdFusion的缺点:

  • 昂贵(以美元计算)
  • 较难找到好的托管公司
  • 即使有最新的更新,也有点过时
  • 非常冗长和繁琐(可能被描述为企业级)

我使用Java和ColdFusion与Flex AMF协议一起使用,两者都非常简单并可以直接使用——如果您对Java有任何兴趣,请不要排除它。

尽管如此,在不了解所有情况的情况下,我必须问一下:如果您正在构建桌面应用程序,为什么需要连接到后端,当AIR可以访问SQL lite时?

记住,随着Flex/AIR变得越来越流行,更多的语言(在我看来)可能会提供AMF协议作为语言的一部分。但你可能不想赌这个。

尽管如此,我仍然建议使用ColdFusion。虽然它不太光彩,但这是一个好技能——它将成为脚本语言的COBOL(一些州政府和联邦政府的大块头都在使用它)。


1
据我所知,Adobe Air可以访问SQL Lite,但只能本地访问,而且它不是非常安全。如果有这个选项,我很想这样做。如果我错了,请告诉我。感谢您的回复。 - EliTheDawg

12

我支持使用 ColdFusion 进行开发,对于几乎所有的软件开发者来说都非常简单。学习它也不需要花费太多时间。

不仅如此,还有更多:

  • access="Remote" 声明方法就能轻松实现远程对象
  • 与 BlazeDS 或 LiveCycle 数据服务 (LCDS 包括在 CF8 中) 集成
  • **CF 作为服务,提供像直接从 ActionScript 发送电子邮件等服务
  • **支持 Flash Builder 4 中的数据中心开发

**在 ColdFusion 9 中得到支持。

这些都使 ColdFusion 成为 RIA 的理想平台。我强烈建议您使用 ColdFusion 9。对于具有 PHP、JAVA 或 .NET 背景的人来说,基于脚本的 CFC(CF 类)将更容易学习。


4
当我打完我的问题时,你和CFDev的得分都是-1,我认为这是因为有人试图操纵这个帖子,可能是那个回答与问题无关的人。所以我给了你+1。 - Hooray Im Helping

8
我赞同使用ColdFusion。我最近推出了一个用Air构建的时间跟踪应用程序,其后端使用ColdFusion。你提到了all in one,这正是你所需要的,它易于设置且可靠。由于Adobe支持这两种技术(客户端和服务器端),你不会错。以下是一些Flex和CF示例,可以让你了解CF和Flex/Air之间的通信情况:http://flexcf.com/

6
我还推荐ColdFusion。我每天都在构建Flex/AIR应用程序已经三年了。我使用PHP、.NET和Java构建后端开发它们。
ColdFusion是迄今为止最顺畅的整合方式。还有许多其他好处。
对于那些声称CF正在消亡的人,它每年都在飞跃式增长。如果您没有真实可验证的信息来支持您的说法,请不要发布任何随意的、不可验证的负面信息。否则,您所说的一切都将是失败的。像您这样的人已经说了10年CF正在消亡。
奇怪的是,尽管它正在消亡,但仅过去两年,开发者基础已经增长了30%,根据Evans Data(如果您想验证这些数字,请购买报告)。它自2004年以来增长了400%。
在过去几年中,已经开发了两个主要的开源CFML引擎。这真是太惊人了,有人会为一门即将消亡的语言付出如此大的努力。http://www.getrailo.org www.openbluedragon.org
绝大多数财富100强公司都使用ColdFusion: www.adobe.com/products/coldfusion/customers/
所以回到最初的观点。ColdFusion是Flex/AIR应用程序的可行后端,并且很可能是许多解决方案的最佳选择。您的需求应该决定您明显的选择,无论是CFML/BlazeDS、PHP/AMFPHP、Java/BlazeDS、.NET/Web Services等。

我对BlazeDS还不熟悉,请帮我解答一下。ColdFusion到Flex AMF通信是否需要它,还是它只是通过添加“推送”来改善它们之间的通信? - EliTheDawg

1
如果要比较 PHP 和 ColdFusion,我会选择 ColdFusion。总体来说,ColdFusion在查询和数据库支持方面具有更好的内置功能。其他很酷的功能包括电子表格创建、PDF生成、查询查询等等。如果是我,我会花时间研究ColdFusion框架,cfwheels和coldbox都很不错。
ColdFusion的缺点是它不是一个开源环境,并且一些功能仅适用于企业CF服务器(例如没有水印的PDF生成、存储过程rc1游标、本地Oracle数据库连接等)。我听说Railo也很好,但从未尝试过。
最后,在决定之前,我会尝试使用Ruby on Rails。它跟PHP相比需要更大的跨度,但非常锋利,同时也是开源的。请相信我不是一个追随者,我使用.Net、PHP、ColdFusion、RoR、Python,我认为每种语言都有其优点,必须公平地评估每种语言以看看哪种最适合自己的需求。

-8
ColdFusion,Flex和Adobe Air都是由Adobe提供的支持良好的整合技术。
我不明白为什么要使用大量紧密耦合的技术,其中可能有一些在明年或更早就会消失,而且其中两个技术还没有真正的市场渗透率。这样做并不是确保产品未来发展的好方法。另外,ColdFusion如今已经过时了。
如果你想要能够在以后的几年里与新数据库、新的Web框架等进行适配和更改,建议使用强大、易于维护和通用的编程语言,比如Python或Java。
此外,请确保你的合同明确指出你正在销售给客户的是许可证,而不是版权,否则你可能最终发现自己并不拥有该产品。

2
ColdFusion使用JDBC,因此您将能够“在以后的几年中适应和更改它以与新数据库一起工作...” - Henry
2
ColdFusion被广泛使用(联邦政府和许多顶级公司 - 财富500强的大部分)。Adobe Air正在广泛使用(Ebay,Fed Ex等)。据我所知,Flex也有其存在之处。那么这算什么坏事呢? - EliTheDawg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接