7 Replies Latest reply on Nov 22, 2009 6:42 AM by Trelieux Einagen

    Flex 3 vs. RichFaces 4

    Arbi Sookazian Master

      an objective analysis


      1) performance
      2) productivity (speed/ease of development)
      3) features
      4) support from vendors
      5) render kits (JSF only?)
      6) conversation support
      7) integration with Seam/JSF/Hibernate, etc.


      plz chime in...

        • 2. Re: Flex 3 vs. RichFaces 4
          Francisco Jose Peredo Noguez Master

          Arbi Sookazian wrote on Nov 14, 2009 01:06:


          an objective analysis

          1) performance


          Flex wins: AMF is a binary protocol, and Flash files are binaries: Faster downloads, faster remoting, also in Flex it is trivial to implement client side cache (anyone with very little knowledg of AScript programming can do it), for Richfaces, we might get the feature (but only if the super gurus decide to implement it, and even the, it could turn out that it is just not possible).



          2) productivity (speed/ease of development)


          Flex wins again. Creating reusable components in Flex is dead easy (and there is very advanced tooling available). Creating reusable components in JSF for Richfaces... well you tell me




          3) features


          Flex wins again, just try to do 3D animation with JSF... remember, Flex is Flash!



          4) support from vendors


          Only Adobe, here, JSF could win... but google a little, compare what is available for ASP.NET with what is available for JSF... the answer does not look good for JSF



          5) render kits (JSF only?)


          No way to compare... (Maybe if we were comparing JSF with OpenLazslo? And in that case, JSF does not win...)



          6) conversation support


          Who needs conversations in Flex? It is client side! (And just it the very remote case you need them GraniteDS gives you the support)



          7) integration with Seam/JSF/Hibernate, etc.


          Well, obviously Richfaces has the preference in Seam, they are both JBoss products.





          plz chime in...


          Overall, what makes Richfaces wins is that it runs over HTML/JScript, so,no need for plugins, but if you add something like ExtJs or Capucchino to the comparision...

          • 3. Re: Flex 3 vs. RichFaces 4
            Francisco Jose Peredo Noguez Master

            Of course, I would be super happy if the Richfaces 4 team makes me eat my words (but I think that is unlikely)

            • 4. Re: Flex 3 vs. RichFaces 4
              Trelieux Einagen Newbie

              Hello ,


              I find it interesting that when talking about client side prensentation technologies you compare Flex 3 with RichFaces 4 instead of something like Flex 3 with JavaFX.  Which I think would be more appropiate, but I think we both know why that this.  JavaFX has proven to be a big disappointment to many Java Developers, it seems to have no coherent purpose or even continuation on existing lineage of technologies (Swing or even plain old java syntax).  Instead they started from scratch on building a whole new scripting language (Yaa! Yet another language to master) which in my opinion is a horrificly thought out syntax that seems to have no relation to the Java syntax what so ever. At least Microsoft played it smart and knew EXACTLY  how and who to target with their silverlight technology and mxml like syntax when touting off their technology (Flex/Flash imitator).  Sun Microsystems as usual seems to have no clue as to how to enter a market trends or how to market or target JavaFX to.  Is it the Developers?  Well just by googling various java forums I see many Swing developers don't feel compelled to jump on JavaFX when they believe Swing is steady and is more familiar with their existing knowledge of Java (no funky JavaFX script syntax).


              Ok then, then JavaFX is targeted towards the Web Designer right?  Well from experience with other Web Designers, I believe Sun utterly dropped the ball if they were trying to target the photoshop, graphic designers audience.  Why you ask?  Well the JavaFX language itself is utterly alien and not-aesthentically pleasing to many graphicly oriented Web Designers.  For example when comparing an example JavaFX simple GUI window with a simple MXML Flex GUI window.  Most if not all Web Designers felt more comfortable with the MXML than they did with the JavaFX script, it was simply more intuitive to them, (aka, html-like).  So they could easily understand the flow and structure of what they were looking at without wracking their eyeballs and brains trying to decipher the code.  It was also extremely emberassing to see demos of JavaFX using using Adobe photoshop to create buttons and then insert them into a JavaFX application (Use the Gimp, man!). 


              Now if you haven't heard Adobe now has the Creative Suite which integrates Flash/Flex and Photoshop into one product where you can import/export elements or entire objects (Flash/Flex) between the respective componenets seamlessly.  They even have videos online which show this and I'd hate to say it, but it is very damn impressive.  Now why the heck would somebody comfortable with Photoshop wanna learn JavaFX to create semi-reliable applets that may or may not crash your browser.  When they can create untterly stunning Flash/Flex applications by leveraging their pre-existing Photoshop skils?  That is one question that too many people in the JavaFX camp have been afraid to answer.  Sun Microsystems for all intents and purposes shot themselves in the foot when they neglected their client side technologies (Swing, Java 3D) and now wishing they had invested more resources into them. 


              Despite my rant I still believe their is a viable Java based client side technology that EXISTS RIGHT NOW that will


              1.  Unite the Developer server side with the Graphics Front end designer,
              2.  Takes advantage of the Java Syntax and leverages your existing Java knowledge to build awesome real time Java RIAs. 
              3. Is Reliable
              4. Is Fast (less than 30 seconds startup max) 


              The best canidate which fulfills all of those requirements  is a Framework called Pivot


              Make sure you view the demos with a JRE of at least 1.5 People reported browser issues with JRE less than 1.5


              http://incubator.apache.org/pivot/


              I've tried the demos and I was stunned.  Unlike the JavaFX demos at the Sun website where 6/10 demos crashed my Firefox browser and took over 2 minutes to load.  The demos at the Pivot website took less than 15 seconds to load on my machine, did not crash my browser and the demos ran ultra-smooth.  The framework uses easy to understand markup for the applet front end while at the same time taking advantage of the power of Java for business logic and server side processing.  Take a look for yourself and come up with your own conclusions, but given a choice between JavaFx and Pivot, I'd choose Pivot.  I believe Pivot represents every thing JavaFX should have been if Sun had a better grasp on what they want to produce to compete with Microsoft and Adobe.  I hope there is enough support for the Apache Pivot project that Java Developers will start using Pivot for their Front end for RIAs instead of Defecting to Adobe Flash/Flex to build front end RIAs.  Why not take the chance to check it out?  I mean theres so much dissatisfaction right now with Java Client side tech to make it more mainstream I think the Java community in general is fortunate enough to have those guys at Pivot stand up and build something that can actually compete RIGHT NOW with the likes of Flash/Flex and Microsoft SilverLight/WPF without losing your sanity.

              • 5. Re: Flex 3 vs. RichFaces 4
                Trelieux Einagen Newbie
                **Despite my rant I still believe there is a viable Java based client side technology that EXISTS RIGHT NOW that will

                I meant to say "there is" instead of "their is", sorry typed the above post when I was very tired.
                • 6. Re: Flex 3 vs. RichFaces 4
                  Francisco Jose Peredo Noguez Master

                  Trelieux Einagen wrote on Nov 15, 2009 21:31:


                  Hello ,

                  I find it interesting that when talking about client side prensentation technologies you compare Flex 3 with RichFaces 4 instead of something like Flex 3 with JavaFX.  Which I think would be more appropiate, but I think we both know why that this.  JavaFX has proven to be a big disappointment to many Java Developers, it seems to have no coherent purpose or even continuation on existing lineage of technologies (Swing or even plain old java syntax).  Instead they started from scratch on building a whole new scripting language (Yaa! Yet another language to master) which in my opinion is a horrificly thought out syntax that seems to have no relation to the Java syntax what so ever. At least Microsoft played it smart and knew EXACTLY  how and who to target with their silverlight technology and mxml like syntax when touting off their technology (Flex/Flash imitator).  Sun Microsystems as usual seems to have no clue as to how to enter a market trends or how to market or target JavaFX to.  Is it the Developers?  Well just by googling various java forums I see many Swing developers don't feel compelled to jump on JavaFX when they believe Swing is steady and is more familiar with their existing knowledge of Java (no funky JavaFX script syntax).


                  JavaFX syntax is actually JavaScript, but with static typing.



                  Ok then, then JavaFX is targeted towards the Web Designer right?  Well from experience with other Web Designers, I believe Sun utterly dropped the ball if they were trying to target the photoshop, graphic designers audience.  Why you ask?  Well the JavaFX language itself is utterly alien and not-aesthentically pleasing to many graphicly oriented Web Designers.  For example when comparing an example JavaFX simple GUI window with a simple MXML Flex GUI window.  Most if not all Web Designers felt more comfortable with the MXML than they did with the JavaFX script, it was simply more intuitive to them, (aka, html-like).


                  Well, in fact, in Flex the languege is ActionScript, which is very similar to JavaFXScript. MXML is more like what HTML is for Javascript...so I guess something like JXML could be created to give JavaFX its tag language...


                  OTHOH i dont know you, but I feel tag languages are too redundat, why write:


                  <a href="www.something.com"><i>Go to Something</i></a>
                  



                  if you can write (IMO xml-like markup wastes a lot of space but does not improve readability that much):


                  {a:{href:'www.something.com',i:'Go to Something'}}
                  




                  So they could easily understand the flow and structure of what they were looking at without wracking their eyeballs and brains trying to decipher the code.  It was also extremely emberassing to see demos of JavaFX using using Adobe photoshop to create buttons and then insert them into a JavaFX application (Use the Gimp, man!). 


                  That they used Adobe photoshop was embarrasing, but using the Gimp would have been equally embarrasing: Both Adobe and Microsoft have advanced tooling for designers: Flash CS4 Professional and for Silverlight you can use Expression Studio. Where is the equivalent for JavaFX?. Designers are not developers, if you do not give them a nice app designed for them, they will ignore the fancy underlying technology.




                  The best canidate which fulfills all of those requirements  is a Framework called Pivot

                  Make sure you view the demos with a JRE of at least 1.5 People reported browser issues with JRE less than 1.5

                  http://incubator.apache.org/pivot/


                  Never heard of it, but I am going to take a close look... I wonder how hard can it be to integrate it with Weld.

                  • 7. Re: Flex 3 vs. RichFaces 4
                    Trelieux Einagen Newbie

                    JavaFX syntax is actually JavaScript, but with static typing.

                    A bit of a irony when years ago, you'd have a amateur programmer utterly confuse Javascript with Java to the annoyance of people who are very familiar with both  Java and Javascript.  Now it's become something of a hybridization where you have opensource projects trying to push javascript to the limits to become more like Java and now you have client side Java extension becoming a sibling to javascript somewhat.



                    OTHOH i dont know you, but I feel tag languages are too redundat, why write:



                    <a href="www.something.com"><i>Go to Something</i></a>





                    if you can write (IMO xml-like markup wastes a lot of space but does not improve readability that much):



                    {a:{href:'www.something.com',i:'Go to Something'}}
                    



                    The above reveals something quite interesting about your perspective on this.  A Web Designer would look at the first html and probally think Ok I'm not sure what the big issue is it's easy to understand and very clear to me! The Web Programmer would look at the second example and think  Yes very effiicent removes redundant markup and is very fast to type.  A developer is accustomed to both syntaxes, Most Web Graphic Designers are comfortable with the first html syntax, it's simply the way it is.  Most Web Graphic Designers would probally be not very pleased if they were forced to build hyperlinks with the syntax:


                    {a:{href:'www.something.com',i:'Go to Something'}}
                    



                    Most likely they'd probally raise quite a storm about it espcially when deadlines are fast approaching.  You can bet that tweaking that new exotic web template with the new syntax is probally going to fall in the developers lap (i.e. the Double Duty Phoenomenon).



                    That they used Adobe photoshop was embarrasing, but using the Gimp would have been equally embarrasing: Both Adobe and Microsoft have advanced tooling for designers: Flash CS4 Professional and for Silverlight you can use Expression Studio. Where is the equivalent for JavaFX?. Designers are not developers, if you do not give them a nice app designed for them, they will ignore the fancy underlying technology.

                    I could not agree more, that statement is indirectly related to my second statement about Web Designers using tools and syntax which they feel comfortable with.  It also reveals a overarching statement about the Technology itself and a glaring weakness(es).



                    Never heard of it, but I am going to take a close look... I wonder how hard can it be to integrate it with Weld.

                    I'm excited that your going to take a look at it.  I want other Java Developers  to not lock themselves in the anything but Java client side technology group.  It's gotten so desperate for some Java Developers that their using SilverLight technology as it seems to be able to get the Job done more efficently and with the least amount of pain (I paraphrased that statement from a Server Side comment posting with a topic on JavaFX).  Anyways I'd like to know your thoughts on the Pivot Framework.