I've been designing applications for the financial services
industry using MSFT technologies for many years (Win32 API, MFC,
and now .NET WinForms). All applications are Internet-based, with a
"thick client" which makes calls to my grid of servers via a socket
or remoting connection.
Customers are pleased with my work but it seems that over the
past twelve months or so, those same customers have expressed a
strong demand to access my application via a browser. They don't
like having to install the .NET runtime and they don't like having
to install my MSI file. Banks and large brokerage firms in
particular are wary about installing MSI files [for obvious and
legitimate reasons]. They want browser-based access. I can assume
Windows as an OS, but not necessarily an Internet Explorer browser.
Firefox use is common.
I've never been a huge fan a developing browser-based
applications, primarily due to my hatred of JScript. I don't mind
using JScript in small doses to connect major elements on a web
page but the idea of using it as my main client-side programming
language is not appealing at all. Unfortunately, given that AJAX
seems to be at the forefront of web development technology these
days, and given that the 'J' in 'AJAX' stands for JScript, I feel
as though I'm running out of options.
...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
Recall that all of my server side logic is C# (.NET) based
and can be accessed via HTTP remoting, sockets, etc. What mechanism
does a Flex application use to retrieve information from the
In the C#/WinForms world, I can purchase components like
grids, charts, and fancy navigational tools from third party
component vendors. Is the same thing true in the Flex world?
I came into the Flex world because my former employer liked
the fact that it can look fancy, so i had to learn it. As it turns
but I do know enough C# to make a mess; and some of the functions
and coding techniques in C# are the same in ActionScript 3.0. Don't
bother learning AS2 since that is not the direction you are coming
Flex has some really neat features, and some security
limitations that either require work-arounds, or are just not
possible. The biggest one is DataBase access not possible in Flex,
but Flex natively handles WebServices, HTTP services and
RemoteObjects, any of which can be written in .Net. In the last
Flex app I wrote I had the whole front end done in Flex 2 using
C#.Net 2.0 WebServices, piping data through ADO into and out of our
SQL2k5 DB, and it worked.
As far as your question about fancy after-market or 3rd party
components, there isn't much... yet, but what is is open source.
There are/were plenty of components available for Flash, and Flash
components can be used in Flex with only minor difficulty.
I have noticed where financial institutions could greatly
benefit from Flex. I do a bit of ForEx trading, and the Corporation
just came out with a Java version, but even then I had to
install it. If it could be done in Java, it could've been done in
Flex with Java web services. Then it could've lived in a browser
and I could make trades at work.
I hope you do make the switch. Maybe that could make a Flex
splash in the financial world.