JSF Vs Adobe Flex 2.0

JSF - A known framework, which can be integrate with AJAX too and best framework for RIA.

JSF can be plugged-in with Netbens, eclipse, Jdeveloper, etc.

JSF is Free

Flex - Yet to evolve.

Adobe Flex 2.0 is some thing like JSP tag libraries which requires Flash player to render the content. Adobe provides rich IDE to develop flex based applications. Flex IDE licensed and the Flex SDK is Free!.

I am not sure which is better for RIA. Since we can do what ever we want using JSF. Why do we need Adobe Flex.

[549 byte] By [cybervink2000a] at [2007-11-26 15:11:34]
# 1

I don't think you'll find many arguments here for adobe flex. =)

Personally, the fact that it is flash based is a huge disadvantage to it. Unless you're planning on doing a flashy web site appealing to a very small demographic, I wouldn't use anything flash based.

Don't get me wrong, flash is ok in certain situations. I've just found few uses for it in the business world. It's a heavy weight app, causes long download times, requires a browser plugin and can annoy users pretty easily.

JSF works off of browser technology. It doesn't require anything extra in the browser. It doesn't even need Javascript turned on! Of course, if you are using JSF with AJAX, then you would need Javascript. And, as you mentioned, JSF is completely free, has an active community, and has free IDE's for it.

CowKing

IamCowKinga at 2007-7-8 9:02:38 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 2
I like flash, but I don't know much about to give a good review. But you should also consider the developer base. It seems to me that Flash developers are hard to come by. It may be easier to replace a JSF developer vs. a Flash developer. But I may be wrong.
gs03anna at 2007-7-8 9:02:38 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 3

I like the Flash GUI, it looks pretty and glossy.

But, Flash based applications have a reputation for not being search engine friendly.

So if you are building a public site for the Internet, then search engines like Google or Yahoo cannot read flash content.

They can only read HTML, PDF, XML, Plain text and some other file formats. If you use JSPs , I know it translates everything to HTML, and search engines can read it.

But I haven't used JSF, don't know if JSF makes the page look like HTML when you hit the "View Source" button. I'm guessing that it probably does it.

On the other hand if you are building a forms based application then you don't have to worry about making it search engine friendly, because search engines don't show forms, they mostly show plain text content.

I don't think you can compare JSF with Adobe Flex and find too many similiarities. Also Flex applications may or may not communicate with Java apps.

Have come accorss Open Laszlo ? Open Laszlo is more comparable with Adobe Flex, but Laszlo is open source.

appy77a at 2007-7-8 9:02:38 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 4

CowKing,

I agree with your comments, As for developer perspective, It's very fast to develope an Flex based interface, also we can integrate those with POJO based applications. Easy to integrate with Struts Or Spring frameworks. I dont know what kind of applications can be fit for Flex. Still we have to come out of a long way.

Regards

Vinayagam

cybervink2000a at 2007-7-8 9:02:38 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 5
Yes, you are correct, Flex application interfaces are not search engine based. But we can integrate Flex interfaces with Java/.Net applications too.ThanksVinay
cybervink2000a at 2007-7-8 9:02:38 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 6
Openlaszlo looks nice, But still that requires FlashPlayer. Only thing is Openlaszlo is FREE and Opensource.
cybervink2000a at 2007-7-8 9:02:38 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 7

> JSF - A known framework, which can be integrate with

> AJAX too and best framework for RIA.

>

> JSF can be plugged-in with Netbens, eclipse,

> Jdeveloper, etc.

> JSF is Free

>

> Flex - Yet to evolve.

>

> Adobe Flex 2.0 is some thing like JSP tag libraries

> which requires Flash player to render the content.

> Adobe provides rich IDE to develop flex based

> applications. Flex IDE licensed and the Flex SDK is

> Free!.

>

> I am not sure which is better for RIA. Since we can

> do what ever we want using JSF. Why do we need Adobe

> Flex.

I have been using Flex for a couple of years (since 1.0) and there are a couple of distint advantages over pure html / javascript:

1. JSF and other RIA technologies depend on the browser rending and script engines to perform presentation solutions. Consequently, these technologies are exposed to the same security and compatibility issues of the browser.

Case-in-point: CSS is a simple mechanism for adding style (e.g. fonts, colors, spacing) to web document. Using Internet Explorer (IE) version 6.0 with CSS is problematic at best. IE tries to assume what to do, instead of following CSS instructions step by step. So, different versions of IE will show the same thing differently. In another example, when developing an AJAX application the developer will want to block any inputs while processing a request. Typically this is accomplished through the use of a 憇ubModal?approach (also know as the 慓lass Plane?technique). SubModal uses a semi-transparent div over the browser, blocking access to the content below while still providing visibility. However, Internet Explorer 6.0 has a bug that allows the drop down boxes to 憄oke?through the 慓lass Plane?giving the user access to change the value while the request is still in process. This adds additional burden to the developer and test teams to delivery web applications in a highly competitive market segment.

2. Flash offers the developer and end-user a much better platform to deliver RIA. The Flash plug-in provides comprehensive runtime environment. When Flex applications are loaded into a Flash Player, the just-in-time Flash compiler translates the cross-platform Flash bytecode into "machine code". Just like the JIT in Java jvm. This differs with today抯 current browser technologies where rending and script engines are executed at the bytecode level and compatibility issues are an on going concern at all levels of operation. (Oh by the way, the compiling bytecode into "machine code" only works if your coding in ActionScript 3.0 - which means you have to be running Flash 9.0 or greater)

3. Between the months of January 2006 and June 2006, there where 38 Internet Explorer vulnerabilities reported.The Flash plug-in although has had it share of vulnerabilities, 10 since December 2002 to December of 2006. The fact there are fewer vulnerabilities, means the developers have to spend less time developing and testing security patches to their application.

4.Flex allows developers build binary libraries (swc) that are sharable across the enterprise at the client level. I don't need the server to pre-render anything for me....I simply have the library call the data into the binary library.

5. Flex provides a comprehensive set of data services managing data transfer and integrating with existing applications and infrastructure to reduce network traffic. - Ok, this is not free, and you will have to pay a pretty penny to use these services. However you can accomplish the follow from the client through Flex Data Services:

o RPC (Web Services, Http Service, and Remote Object)

o Data Management (Data Sync, Occasionally Disconnected Client, and Data Paging)

o Messaging Services (Collaboration, Publish/Subscribe, and Data Push).

6. Flex is a much better technology for someone who want's to build a "web application". You don't have to look any further than http://maps.yahoo.com or http://mark-shepherd.com/thesaurus

or http://www.alex-uhlmann.de/flash/adobe/blog/distortionEffects/effectCube to understand that your going to be coding for years trying to get the same functionality that is already build in libraries for you today!

So, still think you can do the same thing with JSF? - ;-)

-MD-

medefelicea at 2007-7-8 9:02:38 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 8
Good post!Thanks!
cybervink2000a at 2007-7-8 9:02:38 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 9

If you have a deeper look at JSF and AJAX you have these disadvantages in comparison to Flash-based presentations:

* Maintenance, because

- still not well integrated, missing architecture and design of a piece

- browser compatibility issues (CSS, JavaScript)

- number of languages and frameworks to have a look at

- still no mature implementations, missing documentation

* Presentation

- complex applications are very expensive with JSF/AJAX (although you can create word processors and the like, they are still toys)

- Flash allows to mimic a *real* desktop (the demand for this will arise the next years to get more user friendliness into the browser. We may start with widgets integrated in HTML-based implementations, first, and give up Request-Response pattern next, in the end we will create desktop application inside the browser)

- OpenLaszlo e.g. shows that the widgets are production ready, easy to use and more flexible than what JSF frameworks deliver today (I'm still looking for convincing Table and Tree components in JSF)

Although, I talk about Flash here, there's something more important behind all this. It becomes more and more clear that all this markup-based presentations stuff we work today with can't deliver what the users expect in the next years. Flash is the only runtime at the moment that can deliver a real desktop feeling. So, if we get nothing better the next years, Flash will displace all our markup. I estimate 5 to 10 year from now.

But, for developers who already work in XML and ECMAScript-compatible languages (like JavaScript) in the presentation layer today, the switch will not as time-consuming ;-).

BTW: There are already open developer tools for Flex/Apollo, like FlashDevelop. Have a look at http://osflash.org/. You can even get a a free Java-based video streaming server with Red5.

rainwebsa at 2007-7-8 9:02:38 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 10

I know one fact for sure about Flash is that Search Engine Bots can't read flash presentations.

This is the biggest reason why people build sites with HTML, CSS instead of Flash.

Ultimately it depends on the goals of your web application.

1) If your website is a media site with lots of textual content then build it with HTML + CSS

2) If you want to provide users with desk-top like experience then build it with JSF , Flex , Open Lazslo or whatever else.

3) Use a combination of everything HTML + CSS on some pages and Rich Internet on other pages.

No matter what technology you use, gain experience with it and it is easier to stick to one technology and build better products with it than swtich back and forth between technologies as the wind blows. Makes you a JOATMON .

appy77a at 2007-7-8 9:02:38 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 11

Great post, but Flex doesn't have the excellent architectural standards.

It always spawns a new session when you uses HTTPService object, then whats the meaning of tracking the same session. Also it doesn't have the streaming functionalities. Flex based pages takes a lot of time to get loading compare to JSF pages. Still have to think about security threats in Flash Playesrs.

cybervink2000a at 2007-7-8 9:02:38 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 12

> Great post, but Flex doesn't have the excellent architectural standards.

OK, can you please define "excellent architectural standards"?

JSF has a two phase "rendering" paradigm. JSF has to resolve their components on the server side to markup language and then ships the markup to the browser where it gets rendered to browser display items. Where as Flex compiles the components to a binary file and simply streams the binary to the client where it is rendered.There is no intermediate step to a markup language. Additionally, Flex employs the Cairngorm as a standard architectural framework.

> It always spawns a new session when you uses HTTPService object, >then whats the meaning of tracking the same session.

Set your httpSession with proxy="true"

>Also it doesn't have the streaming functionalities.

What do you mean? Flex streams audio or video!! Using Flex Remote Object services, you can stream objects between your server and client seamlessly. Can you replicate java VO/DTO objects using JSF in your client space?

>Flex based pages takes a lot of time to get loading compare to JSF >pages.

True, this is only at startup. This is a function of poor application design, rather fault of the technology. In fact, good Flex/Flash designs can load very quickly if the developer understands good packaging and sharable library usage.

> Still have to think about security threats in Flash Players.

Right, like the 10 Flash vulnerabilities that where exposed in 4 years vs. the 38 Internet Explorer vulnerabilities exposed 6 months.

Now with Sun's Java One announcement on JavaFX. It really puts into question the future of JSF doesn't it?

DynaZecka at 2007-7-8 9:02:38 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...