An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

Web Application Technology Preference

November 25, 2008 · 16 Comments

I'm part of a LinkedIn network for IT Architects and one of them recently posed this question to the group:
What is your preference - .Net, PHP or Java ? I am coming across very open requirements when it comes to preferred web platforms. I welcome your input to see what are your preferences.
Some of the respondents had specific preferences, some talked about the pros and cons of each. Several pointed out that the requirements should drive technology choices, not preferences, and that considerations of the client's existing technology stack were important. A few mentioned Ruby or Ruby on Rails, and even Grails got one mention. Spot anything missing? Here's the response I posted to the IT Architects group:
A few people mentioned Ruby / Ruby on Rails as a potential technology for web applications. Groovy is also a strong contender for shops that lean toward Java. For the last seven years I've been involved with a lot of web projects that use Adobe's ColdFusion markup / scripting language. It compiles to Java bytecode and runs in any Servlet container - and therefore has very strong integration with Java. It also has a large library of built-in functionality tailored for the enterprise, such as PDF manipulation, JMS support, automatic SOAP web services support for components, integration with SMS and so on. It's also worth considering that these days the requirements placed on web applications are increasingly sophisticated and user interfaces need to support more than just simply data entry and table-based display. AJAX gets you part of the way there but it takes a lot of development time and it's hard to maintain cross-browser compatibility. Adobe has done a lot of work on the Flash Player over the years and their Flex tooling is quite remarkable with the XML-based "MXML" UI layout language and the ECMAScript-based "ActionScript" programming language. Whilst some may rail against a proprietary technology stack (although it doesn't appear to be an issue for people who prefer .NET / Microsoft), Adobe has also worked hard in the Open Source arena, donating the core of the Flash Player engine to the Mozilla project (as Tamarin) and providing the Flex 3 SDK as open source, as well as the server-side messaging engine BlazeDS which provides Flex's bridge to Java (or Groovy). The Adobe Integrated Runtime (AIR) allows you to take web applications to the desktop as well to provide occasionally connected online/offline capability. As others have noted, requirements are the key driver, along with any client considerations of existing technology or preference. I was just surprised that no one had mentioned the web tooling of one of the other largest software companies out there... Disclaimer: I was the senior architect for Macromedia's IT division for several years and remained with Adobe for a year after their acquisition of Macromedia so I am somewhat of an evangelist for their technologies (and just came back from their annual MAX conference in San Francisco where they showcased their current and future technology offerings).
Thoughts?

Tags: coldfusion · flex

16 responses so far ↓

  • 1 John Allen // Nov 25, 2008 at 11:29 AM

    Just perfect.
  • 2 tfitch // Nov 25, 2008 at 11:51 AM

    Nailed it.
  • 3 Todd Rafferty // Nov 25, 2008 at 11:54 AM

    I think it's spot on, probably better than anything I could have written.
  • 4 Thijs // Nov 25, 2008 at 12:27 PM

    Python anyone? Google App Engine? Python + Flash is the ultimate combination for me.
  • 5 Jeff Fleitz // Nov 26, 2008 at 11:51 AM

    Very well said, Sean. Be interested in the response you received back from these folks, if any.
  • 6 Sean Corfield // Nov 26, 2008 at 12:10 PM

    @Jeff (and others) I will report back any interesting comments.
  • 7 Bim Paras // Nov 26, 2008 at 3:08 PM

    Go got them Sean!!
  • 8 TJ Downes // Nov 29, 2008 at 8:22 AM

    Hey Sean,

    Im not sure I would classify .NET as a proprietary stack. Given that Mono is open source and cross-platform it really moves the .NET platform away from being so proprietary. .NET as a generic term is really the same thing as CFML: there is a proprietary development and deployment platform, but there are various alternatives which are not.

    Other than that I think your response was spot-on.
  • 9 Sean Corfield // Nov 29, 2008 at 11:06 AM

    @TJ, there's no doubt that Mono is an impressive project (I worked on the XSP port to OS X back in the day) but it is targeting non-Windows platforms and will never be able to have complete 100% parity with the Microsoft product in my opinion. That makes Microsoft .NET the very definition of proprietary.

    I would also take issue with your comparison of .NET and CFML. The latter is a language, the former is a platform. .NET is more like Java (the platform, not the language). C# is more like CFML - a language that runs on multiple systems / platforms.
  • 10 TJ Downes // Nov 29, 2008 at 11:37 AM

    Hi Sean, Ill definitely concede on your point about the platform, you are 100% correct. However Ill still argue propriety :)
  • 11 Sean Corfield // Nov 29, 2008 at 11:40 AM

    propriety: correct or appropriate behavior :)
  • 12 TJ Downes // Nov 29, 2008 at 12:20 PM

    My bad, I thought ewe were debating technology, not typos!
  • 13 Sean Corfield // Nov 29, 2008 at 12:25 PM

    The temptation to say "Baa!" is overwhelming...
  • 14 TJ Downes // Nov 29, 2008 at 12:29 PM

    ;)

    have fun at the cat show btw. Love Monterey, you should definitely make the effort to have a meal at http://www.crownandanchor.net/
  • 15 Sean Corfield // Nov 29, 2008 at 1:36 PM

    Ah yes, we've eaten there several times - good beer too. Last night was Norma Jean's (Mediterranean on Fremont St - highly recommended) and tonight will be Domenico's :) We love Monterey!
  • 16 Mark Phillips // Dec 1, 2008 at 2:08 PM

    As important as the company's technology stack is the users eco system -which is still very much the desktop with office applications and pdf.

    CFML gives developers numerous easy and fast ways to interact with this eco system.

    I recently posted on this from a product managers' perspective
    http://www.vertabase.com/blog/why-coldfusion-for-rich-internet-applications/

Leave a Comment

Leave this field empty: