Viewing By Entry / Main
November 25, 2008
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?

Comments

Just perfect.


Nailed it.


I think it's spot on, probably better than anything I could have written.


Python anyone? Google App Engine? Python + Flash is the ultimate combination for me.


Very well said, Sean. Be interested in the response you received back from these folks, if any.


@Jeff (and others) I will report back any interesting comments.


Go got them Sean!!


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.


@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.


Hi Sean, Ill definitely concede on your point about the platform, you are 100% correct. However Ill still argue propriety :)


propriety: correct or appropriate behavior :)


My bad, I thought ewe were debating technology, not typos!


The temptation to say "Baa!" is overwhelming...


;)

have fun at the cat show btw. Love Monterey, you should definitely make the effort to have a meal at http://www.crownandanchor.net/


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!


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/


Post Your Comments
Name:
Email Address:
Comments
*** Please note that all comments require moderation so it may be some time before your comment posts to this blog! ***
Remember My Information:
 



Hosting provided by