views:

244

answers:

5

Hello,

I am currently building an Adobe Air desktop app for a medium sized company and I truley believe that I could use this same app for many other 'like-companies'. It will greatly improve their efficiency and save them money; and hopefully make me some money too! :) I am in the process of designing the database structure and the layout of the application.

My current skills:

  • intermediate at PHP
  • intermediate at Actionscript 3.0
  • and rather new to flex and adobe air

From what I understand, AMF is the 'best' form of communication between Flex and the server-side language. Also, I know that AMF is native for [ColdFusion to Flex] communication whereas PHP requires WebOrb, Zend AMF, or AMFPHP for [PHP to Flex] communication. I really like how ColdFusion is an 'all in one'.

My Question Is:

If this is a program that I plan on spending a few years or more on, would I be better off going with ColdFusion or PHP?

  • I do not like the fact that I would have to rely on a 'third-party program' with PHP
  • ColdFusion, Flex, and Adobe Air are all Adobe -> solid integration
  • yet, I would have to learn ColdFusion

Please Help, any information would be greatly appreciated!

+5  A: 

I vote for ColdFusion. It is a piece of cake for almost any software developer, it is so easy. It doesn't take much time to learn it.

Not only AMF...

  • remote object as simple as declaring methods as access="Remote"
  • integration with BlazeDS or LiveCycle Data Service (LCDS included in CF8)
  • **CF as a service, exposes services like sending email directly from ActionScript
  • **support Data Centric Development in Flash Builder 4

**supported in ColdFusion 9

These really make ColdFusion the ideal platform for RIA. I would highly suggest you to use ColdFusion 9. The script-based CFC (class in CF) will be much easier to learn for ppl with PHP or JAVA or .NET background.

Henry
When I finished typing my question, both you and CFDev had -1, and I think it's because someone is trying to game this thread, probably the guy with the answer that has nothing to do with the question. So I gave you +1
Hooray Im Helping
+3  A: 

I second the vote for ColdFusion. I recently pushed out a Time trackign app built in Air with a ColdFusion backend. You mentioned all one one and thats what you get its easy to setup and reliable. With Adobe backing both technologies ( client and server ) you cant go wrong. Here are some Flex and CF samples that may give you an incite as to how well CF and Flex/Air communicate: http://flexcf.com/

CFDev
A: 

ColdFusion, Flex, and Adobe Air are all Adobe -> solid integration

I don't see why having a lot of tightly bound technologies like this, and of which might die next year if not sooner, and two of which have no real market penetration yet, is a good way secure the future of a product. Also, coldfusion is ancient these days.

Write it in a strong, maintainable, general-purpose language like Python or Java, if you want to be able to adapt and change it in later years to work with new databases, new web frameworks, etc.

Also, make sure your contract specifically says that you're selling the clients a license, and not the copyright, as you might find you don't own the product after all, if you don't.

Lee B
ColdFusion uses JDBC, so you will be "able to adapt and change it in later years to work with new databases..."
Henry
ColdFusion is widely used (Federal Government and many of the top Corporations - the majority of the Fortune 500). Adobe Air is becoming widely used (Ebay, Fed Ex, and many more). and from what i understand, Flex is has its place too. So how is this a bad thing?
mtokoly
+9  A: 

When I was a youngster who just graduated college without a lick of experience, I learned ColdFusion and had a workable foundation in it at my first job in about a week. It's really easy to learn.

Pros of ColdFusion:

  • Easy to learn
  • Allows for rapid development
  • Easiest language in the world to connect to a database and write SQL in
  • It's an Adobe product so configuration is a snap
  • Just released a new version with plenty of new features
  • You'll always be able to find a job knowing ColdFusion

Cons of ColdFusion:

  • Expensive (in $ terms)
  • Harder to find a good hosting company
  • A bit outdated, even with its newest update
  • Extremely verbose and cludgy (might describe it as Enterprisey)

I've used Java and ColdFusion with the Flex AMF protocol, and both are pretty easy and work right out of the box - don't rule out Java if you have any interest in that.

Although, without knowing everything, I have to ask: if you're building a desktop app, why do you need to connect to a backend when AIR has access to SQL lite?

Keep in mind that as Flex/AIR gets more popular, more languages will (in my opinion) likely provide AMF protocols as part of the language. But you may not want to bet on that.

Having said all that, I'd say go with ColdFusion. Even though it's not glamorous, it's a good skill to have - it's going to become the COBOL of scripting languages (a few state governments and large chunk of the federal government use it)

Hooray Im Helping
From what i understand, Adobe Air can access SQL Lite, but only local, also it is not very secure. I would love to do that if it was an option. If i am wrong please let me know. Thanks for the reply.
mtokoly
yes, SQL Lite is local only.
Henry
+3  A: 

I also recommend ColdFusion. I've been building Flex/AIR apps daily for three years. I've developed them with backends built in PHP, .NET, and Java.

ColdFusion is by far the smoothest integration. There are many, many other benefits as well.

For those saying CF is dying, it's growing by leaps and bounds every year. Instead of posting your random, unverifiable, negative information, post some real & verifiable information to back up your statements. Otherwise anything you say is complete fail. People like you have been saying CF is dying for 10 years.

Oddly, given that it's dying, the developer base has grown 30% over the last two years alone, according to Evans Data (buy the reports if you want to verify these figures). It has grown by 400% since 2004.

Two major open source CFML engines have been developed in the last few years. Pretty amazing someone would go through all that effort for a dying language. http://www.getrailo.org www.openbluedragon.org

The vast majority of Fortune 100 companies use ColdFusion: www.adobe.com/products/coldfusion/customers/

So back to the original point. ColdFusion is a viable backend for Flex/AIR apps and like to be the best choice for many solutions. Your needs should determine what the obvious choice will be for you, be it CFML/BlazeDS, PHP/AMFPHP, Java/BlazeDS, .NET/Web Services, etc.

TJ Downes
I am new to BlazeDS so please help me out a little on it. Is it required for ColdFusion to Flex AMF communication, or is it used to improve their communication by adding 'push'??
mtokoly