On Tue, 12 Jun 2007 15:48:12 -0500, Jules Winfield wrote:
Quote:
...but after doing some research, I ran across a technology by Adobe called
Flex. I ran some of the demo apps and was completely blown away! They have a
very modern look and they are as responsive as desktop apps. Have any of you
made the transition from WinForms to Flex? What are the pros and cons? I get
the impression that the Flex user interfaces are created using a language
called ActionScript. What are your thoughts on this language?
I haven't any experience in either AJAX or Flex application so I won't be
able to give you definitive advices on either but I've got a few general
thoughts about that. Just like you, I dislike web browser based application
both as an end-user and as a developer point of view. I have been
unfortunate enough to have to do some simple Flash developement with
ActionScript and integrate that into a .NET application and, boy, that was
painful... But I'm sure that Flex being specifically targeted as developing
application (as oposed to Flash animations), it is perfectly usable by
"traditional" software developers without too much pain.
If I had to switch from tradtional desktop application development to
browser based application development using either AJAX or Flex, I would be
extremely careful before taking the plunge and choosing Flex in favor of
AJAX for a number of reasons:
- Flex applications are nothing else than Flash files. This means that by
choosing Flex, you are tying yourself to a proprietary format, runtime and
environment. Of course, it is unlikely that a company like Adobe will
collapse in the near future or that they'll pull the plug on Flash. AJAX on
the other side is based on (now) standards and is widely supported by all
the major players in the industry.
- Flex requires Flash 9 to be installed on the client machine while AJAX
applications require nothing but a resonably recent web browser. This might
or might not be an issue. On the other side, AJAX probably requires a lot
more testing and tweaking to make sure that the application works fine in
most browser while Flex applications should work the same in every browser
as they run on top of the Flash runtime.
- Support: with the explosion of the AJAX buzz and number of AJAX based
application, the amount of available books and online resources (web sites,
discussion forums...) dedicated to AJAX development is almost limitless.
What about Flex?
- Development tools: with AJAX being well on its way of becoming the next
main development platform after Windows, there are loads of tools and
environment developed by many different companies to make development
easier. And this is probably just the beginning. With Flex, you'll probably
always be stuck with what Adobe has to offer.
- Whenever you'll need to hire a developer or a consultant to work on your
applications, how easy will it be find a suitable candidate? With ASP .NET
and AJAX it should be reasonably easy these days and in the future to find
good developers with all the required expertise and experience. I have my
doubts on the Flex side. On top of that, I guess that a number of Flex
developers are former Flash designers who are great at designing
fancy-looking UIs but have little to no experience and background knowledge
in developing robust and secure business applications. Also, if you choose
Flex and need to find somebody able to work on both the front-end and
back-end of your system, you'll need to find somebody with expertise in
both Flex and .NET. I suppose these kind of people are quite thin on the
ground.
- Of course, given the type of applications you're developing, I suppose
that security is a paramount in every aspect of your work. I can't comment
on this but obviously what each framework offers in terms of security
features would be an important parameter.
These are just some random thought, I probably forgot the most important
ones but what's for sure is that the look & feel or either Flex or AJAX
applications is definitely not the only or even the most important point to
take into account here.