This content has been marked as final. Show 19 replies
i disagree with you 100% , i am not an expert on java development, to tell you the truth i've never worked with java but i started to work with flex and the learning curve was very easy.
Where i work we made a portal using dotnetnuke wit asp.net behind the scenes , now with flex i'm redesigning the portal from the ground up and i can tell you this, we have almost all we had with asp.net and dotnetnuke and we saved almost 70 % of code and time development.
We did the transformation in about 3 and a half month with 1 month of learning flex, so this is my experience and i'm glad flex exist. From what i've seen it's even more easy to work with flex and coldfusion, so i don't see how you gave up.
I have to agree. took on Flex in July with no Java background only some back end (ASP Clasic) and new to CF. My new application (soon to be a module later) will be complete in a month or so. Previous dev time on the specific area I'm converting was about 2 years.
Everything learned and created by one person reading a few tutorials and books as well as asking questions to this forum. The new app was a proof of concept I was able to sell and as of yesterday now have been given the approval of bringing onto my team 2 more CF developers. New app is clean, "sexy", fast, and gave me the opportunity to redesign some of the back end database. New code for "controller" is streamline and easy to follow.
I might be a little bias to anything that allows me to rebuild from the ground up a beautiful, user friendly, fast applicaiton but as for FLEX... I love it!
Me coming from Java Background, feels flex is damn easy to learn as Java Developers would have the knowledge working over JSP/JSF and the XML Based format.
It took me a week or so to actually investigate whats flex and to run a simple app which does interaction with Java Code.
I myself learning over the things watching out for tutorials and going through forums.
I suggest all Java Developers around to have a look of flex and see how much time would be saved to develop a RIA when the same is developed using other Java Frontend Frameworks like Struts/JSF.
Never used Java, (ColdFusion developer here) but latched onto Flex pretty quickly. There's a lot to it, and you have to jump some mental hurdles to get out of the synchronous/top down processing frame of mind that you have with alot of traditional web languages. If you have a particular question or problem, post it, but there's nothing constructive that can be done with your post.
Okay, here are my couple of cents! Being a JEE developer it took me two weeks before I started to develop *quite* involved Flex apps fronted to our legacy JEE app. Piece of cake and pleasure for our app users!
I can't add too much more as I agree that Flex is both easy to use and can produce applications that are more responsive and easier for the end user.
I'd make a couple of points about getting into Flex development.
1) If you've not done OO development they you will have an OO learning curve totally unrelated to Flex. If you're not used to "thinking" in objects then Flex will take awhile. Java developers have a big advantage here.
2) Understand the Flex development paradigm. I see many posts here where new flex developers are tying to make web pages, not RIA's.
3) Flex makes the visual part easy and fast. However coding complex business logic will take just as long is AS3 as any other OO language.
I find flex to be one of the most pleasing environment I have worked on, I its very relaxing to code in flex, and you can feel the nice architect's touch throughout , its very consistent with java, ( I admit I was stuborn and was not getting into Flash and action Script ( for reasons that are of personal preference ) but through flex I did it with pleasure, now will I code as3 in flash ? maybe, maybe not, but will definitely in flex, also admit flex got me into spry framework, which I also was not getting into because of other preferences :), and also lately start looking this new (AIF).
I admit there are some disadvantages in flex that might make you mad once or twice but, well thats the way of life no programming language(environment) is perfect,
My background is with Flash and PHP, with doing some very involved applications in PHP (such as fantasy football league management software). I'm somewhat newer to OOP than most, having not touched in in about 10 years since I was a CS student. But I'm finding Flex to be a dream, very intuitive and easy to use. And I just love how much faster .swf apps are these days than they were 5-6 years ago, back when I was working on them all the time.
Flex is great. It will replace AJAX over the next 5 years. Adobe does it right, and Flex / AIR will be no different.
I like Flex. Love the concept of it and the power it provides a web application. Beats the hell out of AJAX and web pages.
I've coded a lot in a little bit of everything. I found my previous experience with Java, .Net, VB4/5/6, etc, etc, etc gave me run down of Flex really quickly. Its yet another 4gl, event driven, object oriented language. But that is where I slowed down in the learning curve.
I'm trying to do more than a simple business app with it, and maybe it is just my experience, but I keep clashing heads with every piece of 'almost' functionality, 'gotcha', minor race condition, etc. Maybe I'm just unlucky. My productivity has been about 1/3 of what it should be.
Don't get me wrong. I see the potential of this product and I think it'll get there, but for me right now, it is not all that I would expect of this type of product. A little harsh but I feel like I'm coding C using notepad in the pre-internet days instead of using a 4GL language with a developer community online. But again, I'm pushing this product beyond the 'fill in a datagrid with some XML' type of functionality and I don't think version 2.0 is quite mature enough for that.
I think Flex3, with its open source nature, will fill in a lot of the holes and bugs that I've seen and do it really quickly. And as more people adopt it, we'll see a better online community that solves problems and pushes the product. But until then I'll continue plugging away... because there really isn't a better alternative at the moment for making powerful online apps.
No tool is ever perfect, but sometimes the tool is not the problem.
We have just finished redevelopping an existing AJAX application using Flex instead, and I can tell you the designers, developers, managers, stakeholders and end users are delighted.
Flex has its drawbacks but overall it's a terrific step forward.
I'm with Newt99 - it ain't perfect, but users sure love it. On the "imperfect" side, better documentation will be mandatory for this platform to take over the world. I've found numerous errors and (especially) omissions in the class reference docs, and the developer's guide is waaaaaaaay too thin on examples - showing mxml examples only doesn't tell the whole story. Doing anything "fancy" requires googling around, since the documentation is weak and these forums don't contain half the answers my team is looking for. Adobe's non-responsiveness to various previous issues leaves me unable to recommend this platform for high-availability applications, at least unless they improve.
What's the recommendation for a good book to get me started in Flex? (i'm an experienced CF developer)
I have a customer that wants to be able to make a drag N drop application that would produce a Vector based graphic (that I could save or email) as it's final product.
Analogy: Imagine a picture frame shape workspace that you could drag items onto, like add an image of the sun and a tree and a bird, then arrange and possibly re-size them, then have some process take this created image and save it as some format that is a Vector based drawing, or I can probably convert it to vector from a GIF or JPG on the backend...
Sound Possible? Should I look at Flash or Flex ?
Programming Flex 2 by O'Reilly is good, and ActionScript 3.0 Cookbook and Essential ActionScript 3.0 are good as well (I wrote none of them :-).
Its taking some time to get used to Flex 2. But when you get past some of the logic issues (ie. parts of Flex 2/AS3 have a steep learning curve that is poorly supported by the Adobe documentation), its got a lot over Ajax (which also has a steep learning curve).
I wish Flash was supported in PDAs (I have a Treo 700p). I provide app interfaces for a number of PDA type devices, so I have to deal with some fairly brain-damaged Web Browsers. I also wish that there was some way to support Flash users that have a Wii (I belive that they are limited to Flash 7).
The programming Flex 2 by O'Reilly has a lot of information, but after I read it, I found I had no idea how to do a lot of things. While it talks about features, it often misses the context of why you need to use the features, or how they are invoked and used (the trace() function come to mind).
Whats missing anywhere is a set of 'how to' documents that explains logic flow for things. If you have come from another language, you are often forced to use a web browser and Google with some best guesses at what the syntax that describes you need to do, and hope that someone used similar verbage to describe something that is similar to what you are trying to do. That worked for me at first, but as I am adding more functionality to my Flex 2 apps, I'm finding that there are not many write ups with the information I need available. I'm not doing anything particularly hard or fancy, so I'm surprised at how hard working out minor things can be.
This Forum has been very useful; there are quite a number of things that are not obvious discussed here. The participants do help quite a lot.
I may not have a good perspective on this since I came from a Java background, but I can understand that the learning curve is greater when you're not coming from Java. That said, I don't think those who don't know Java "shouldn't touch Flex" -- you just need to know what you're getting into, and realize that there's going to be a greater learning curve. Some prototyping and pre-project training would have probably helped alot, too.
Adobe Labs has some great sample apps with code. There may be other sample code out there as well. Things always become more complex as an app gets bigger, but my guess is that at that stage some more generic object oriented architecture design principles come into play.
I have mixed feelings about Flex. My first day out with it I built incredible, interactive interfaces. View Stacks and States make things interactive very quickly. Actionscript isn't too bad, but the devil is in the details.
Custom Renderers is a 4 letter word. I can't believe that the folks at Adobe can't make them easier to work with. Sure they go in very easily, but passing data, etc gets to be a mess very quickly. I'm currently working on a project where I have to grids with custom renderers that pass that drag and drop both ways. What a pain. I would like to see custom renderers exist on the same "level" as the components that hold them.
Another area of concern is how the development environment is spreading out. There are a lot of beginning tutorials/projects that don't scratch the surface far enough. On the other end there are the rocket scientists that are doing amazing things that I can never see a need for. The middle ground is barren. I have seen very few projects/tutorials that go step by step. I have the Professional Flex 2 book. Item renderers have 4 pages and only 1/2 of 1 page is devoted to data handling within them. The rest is the methods of putting them in containers. The middle is gone. Seems like there are a lot of "leaps of faith" out there.
Don't get me wrong. I think that Flex is pretty awesome but coming from rapid application development, aka Coldfusion, to Flex has had it's issues. When projects begin to take as long as asp.net I think that we lose something.
I have seen very few projects/tutorials that go step by step
Mark Forsberg, have you visited peter ent's blog? I suggest you do :
now what I am about to say might make some angry but, I will say it anyways: the only tool I have used that literally worked was "vb6" back in 2001-2002 , overall there is no silverBullet and every framework development environment has its drawbacks vs advantages, but important part is which one weighs more, to me advantages in flex are way far overweighting its disadvantages. I agree that flex has unique development process, and somethings some obvious things are not that obvious, and from start it tends to tickle nerve or two, but thats just because compare to other development environments, flex requires little bit higher learning curve, kind of mix of Flash(with its frames, sprites and things) plus OOP, plus nice to know java, to master it very well once that step is passed things get lot more smoother and easier.
other thing is that I have noticed engineers tried to make flex as FLEXible as possible, and that unfortunately affects simplicity, to this digree API docs are your friend, and maybe rant or two on forum/mailing list, and don't be embraced to ask, or search stupid questions because in flex it does sometime look like a simple thing that does not work but it does have some serious reason that is not very easy to detect, I think this is the only biggest "drawback" here, but again I think that s because FLEXibility dose hurt simplicity.