The Artima Developer Community
Sponsored Link

Weblogs Forum
Hybridizing Java

129 replies on 9 pages. Most recent reply: Mar 18, 2011 4:41 PM by David Benson

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 129 replies on 9 pages [ « | 1 2 3 4 5 6 7 8 9 | » ]
Karl Guertin

Posts: 4
Nickname: grayrest
Registered: Jan, 2005

Re: Hybridizing Java Posted: Feb 1, 2007 3:26 PM
Reply to this message Reply
Advertisement
Do you mean that one could/can make a standalone desktop application with UI in Flex and the Business logic in -say- Ruby ? Is it already possible ? Do you refer to Apollo ?

Desktop apps in Flex would look like web apps. You make your app and push WebBrick (or whatever is currently in vogue) to the desktop. Double click starts up the server and opens a browser window pointed to the localhost server.

As for the whole "it should be in Java" thing, why do Java people insist on everything being in Java?

Mark Nuttall

Posts: 13
Nickname: mnutty
Registered: Jan, 2007

Re: Hybridizing Java Posted: Feb 1, 2007 3:43 PM
Reply to this message Reply
> As for the whole "it should be in Java" thing, why do Java
> people insist on everything being in Java?
Otherwise they wouldn't be "Java" people?

Why do people think that just because someone thinks it should be done in Java that they are a "Java person"?

James Ward

Posts: 42
Nickname: jlward4th
Registered: Jun, 2006

Re: Pricing and Licensing Posted: Feb 1, 2007 3:49 PM
Reply to this message Reply
> From my understanding by looking at the flex site if you
> are ISV then you have to pay licensing fees for using flex
> even if it is just the SDK without Data Services. So
> hypothetically if I am Application Service Provider (ASP)
> making available a Basecamp (37 Signals) type application
> that uses flex then I need to pay licensing fees. Is that
> correct? Below is the quote from the flex page...

There are very few instances where someone needs to redistribute the Flex SDK. Anything you build with the SDK is not under any license restrictions. Just like the stuff you create with the JDK.

Dick Ford

Posts: 149
Nickname: roybatty
Registered: Sep, 2003

Re: Hybridizing Java Posted: Feb 1, 2007 3:51 PM
Reply to this message Reply
As for the whole "it should be in Java" thing, why do Java people insist on everything being in Java?

I'm not a "Java person". Frankly, I can barely tolerate the language, but there are obvious advantages to having a Java to Flash compiler. Foremost is that people don't have to learn Actionscript. No matter how much of a similar hybrid of Java and Javascript is, Actionscript is still a different language. A lot of people already know Javascript, so ActionScript is just another nuanced language that they would have to pick up - no matter how easy it is to learn (which I know it is).

But when you compare it to WPF/E, where you can use almost any .NET language, and also just Javascript and XAML markup, then the disadvantages really come into light.

James Ward

Posts: 42
Nickname: jlward4th
Registered: Jun, 2006

Re: Hybridizing Java Posted: Feb 1, 2007 4:05 PM
Reply to this message Reply
> But when you compare it to WPF/E, where you can use almost
> any .NET language, and also just Javascript and XAML markup,
> then the disadvantages really come into light.

I don't see how Flex is at a disadvantage to WPF/E in this respect. With nearly all of my Flex applications I write Java for the back-end, ActionScript (which is an implementation of the same standard as JavaScript), and MXML. I think if you tried Flex you would be surprised how short the learning curve is. For me it was much shorter than WPF/E because I don't know .Net. With Flex you can use whatever you want on the back-end. I've used Java, PHP, Ruby, and Python. The best way to check out the Flex programming model is to take the Test Drive:
http://www.adobe.com/go/flextestdrive

After you walk though some of that I'd be very interested in hearing what you think.

-James

Joe Goldthwaite

Posts: 6
Nickname: jgold
Registered: Jan, 2006

Re: Hybridizing Java Posted: Feb 1, 2007 4:06 PM
Reply to this message Reply
Well you convinced me so I tried to download the Flex SDK. I couldn't do it. Clicking on the download button causes it to wait for a number of minutes then just show a status of "Done". I've tried it with IE, Firefox and Safari on Windows 2000, XP, and OS X all with the same result.

I can only figure it has something to do with my company's firewall but since I haven't had this problem on any other web sites, I'll have to blame Adobe. They must be doing something non-standard with their download routines.

The download problem and the comment about Flex being proprietary convinced me to stick with Ajax. Actually, I've never liked Adobe as a company. They've always seemed arrogant to me. If I want to develop for an arrogant company, I'd still be working with Visual Studio.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Hybridizing Java Posted: Feb 1, 2007 6:01 PM
Reply to this message Reply
> As for the whole "it should be in Java" thing, why do Java
> people insist on everything being in Java?

Well, the theory for doing everything in one language is that it's harder to train and maintain a staff of developers when you have an array of languages. While I can see this point, I think the cost of trying to 'driving screws with a hammer' is greater than the advantage of having less tools to know how to use. I think it's better to be choosy and only take on tools once you are sure they add enough value. This generally requires using the tool on a trial basis for non-trivial work.

Fabrizio Giudici

Posts: 14
Nickname: fgiudici
Registered: Jan, 2007

Re: Hybridizing Java Posted: Feb 1, 2007 6:06 PM
Reply to this message Reply
It's funny to see that most of these technology discussions ends up in something like "I hate Adobe/Apple/Microsoft/Sun/IBM/Acme/whatever" ;-)

Let's relax...

Dick Ford

Posts: 149
Nickname: roybatty
Registered: Sep, 2003

Re: Hybridizing Java Posted: Feb 1, 2007 11:04 PM
Reply to this message Reply
> I don't see how Flex is at a disadvantage to WPF/E in this
> respect. With nearly all of my Flex applications I write
> Java for the back-end, ActionScript (which is an
> implementation of the same standard as JavaScript), and
> MXML.


Flex is at a disadvantage because there are less options in development. With WPF/e it's about any .NET language + XAML (or not) or XAML + Javascript.


I think if you tried Flex you would be surprised
> how short the learning curve is. For me it was much
> shorter than WPF/E because I don't know .Net.

James maybe you should give full disclosure that you work for Adobe. The point is not that you can't easily learn ActionScript. The point is that it's another language that is only applicable for Flash.


With Flex
> you can use whatever you want on the back-end. I've used
> Java, PHP, Ruby, and Python. The best way to check out
> the Flex programming model is to take the Test Drive:
> http://www.adobe.com/go/flextestdrive
>

I can use anything that will give me access to a socket for WPF/e. We're talking about the client.


> After you walk though some of that I'd be very interested
> in hearing what you think.
>
> -James

Downloaded the eclipse alpha a while back and was very impressed. I'm not talking about myself. I'm talking about all those Java developers that would be attracted if it was a Java subjset instead of ActionScript.

James Ward

Posts: 42
Nickname: jlward4th
Registered: Jun, 2006

Re: Hybridizing Java Posted: Feb 2, 2007 12:11 AM
Reply to this message Reply
> James maybe you should give full disclosure that you work
> for Adobe. The point is not that you can't easily learn
> ActionScript. The point is that it's another language that
> is only applicable for Flash.

I work for Adobe. ActionScript isn't another language. It's ECMAScript. Same standard as JavaScript. Just a newer version of the standard than what you currently have in your browser. I've actually even taken large blocks (hundreds of lines) of JS, copy & pasted it into Flex, and had it work fine. Although since the Flex DOM is different than the Browser DOM, somethings will not be portable in this way (in my case the code was very portable since it didn't use the Browser DOM). But the DOM is not the language.

I have wondered myself how hard it would be to do a GWT type thing for Flex. Done best it would re-use the Swing API instead of coming up with another GUI API (like GWT). Write Swing -> custom compile -> output Flex. Could be interesting.

Karl Guertin

Posts: 4
Nickname: grayrest
Registered: Jan, 2005

Re: Hybridizing Java Posted: Feb 2, 2007 12:25 AM
Reply to this message Reply
Why do people think that just because someone thinks it should be done in Java that they are a "Java person"?

The .Net people want it on the CLR and everybody else wants it in their own favorite language or in C so they can have bindings. Nobody outside the Java people wants something in Java because then it's in a walled garden with the closely guarded gates of XML and Unix pipes providing the only way in and out*. Sure Jython, JRuby and Scala (Groovy, the jvm based scheme implementations, etc) are cool, but bringing them into the argument undermines the concept of nothing-but-Java, which is what I'm sniping at.

Well, the theory for doing everything in one language is that it's harder to train and maintain a staff of developers when you have an array of languages.

I acknowledge that the market is larger for Java programmers and it's an easier sell to management. I've spent enough time working for a consultant to appreciate those very real benefits.

On the other hand, one language is not the best at everything**. I favor using the right tool for the right job, and I would personally vote against hiring someone who isn't willing to learn a new language when that is clearly the best (well, only) tool for the job. When that language is one that's been my co-primary language since 2002.***

Conversely, I view one language shops with suspicion because in my experience they tend to treat programmers as interchangeable code-producing units while I believe programmers should be considered craftsmen. I spent 6 months with no money eating ramen while I turned down Java and .Net jobs, but I managed to find a job I love. It's mixed C++, Java, Python, and Perl and I'm the worst programmer in my group. :]

* I'd love to be proved wrong about this assertion, if you know of Python (not Jython) bindings to a Java library, please link them.

** I confess that I can't think of a task where Java modulo business case and specific software library support IS the best tool for the job, but I'm a dedicated web programmer so I'm in good company (1) there.

(1) http://www.cmswire.com/cms/industry-news/php-vs-java-vs-ruby-000887.php

*** JavaScript and ActionScript are the same language with different standard libraries. I started hacking js on the various Mozilla front ends in 2002.

Dick Ford

Posts: 149
Nickname: roybatty
Registered: Sep, 2003

Re: Hybridizing Java Posted: Feb 2, 2007 5:46 AM
Reply to this message Reply
> ActionScript isn't another language.
> It's ECMAScript. Same standard as JavaScript. Just a
> a newer version of the standard than what you currently
> have in your browser.

Being the same "standard" is not the same as being the same language.


> I have wondered myself how hard it would be to do a GWT
> type thing for Flex. Done best it would re-use the Swing
> API instead of coming up with another GUI API (like GWT).
> Write Swing -> custom compile -> output Flex. Could be
> e interesting.

IMO, it's a no-brainer.

Frank Silbermann

Posts: 40
Nickname: fsilber
Registered: Mar, 2006

Re: Hybridizing Java Posted: Feb 2, 2007 8:27 AM
Reply to this message Reply
> As for the whole "it should be in Java" thing, why do Java
> people insist on everything being in Java?

It would be nice if everything is in one Object Oriented lanaguage. It doesn't have to be Java (as long as you have equivalent libraries). It should be all in one language to give you refactoring flexibility to move or duplicate functionality between the client and server tier.

It should all be done in an object oriented language so you can factor out redundancy wherever it occurs. This is where I question Bruce's preference for resource files generated by the GUI builder rather than code. Yes, it's possible to break the GUI builder by certain modifications to the code. But if the GUI is not built in code (whether generated or written), it will be difficult to refactor to remove redundancy when you start recognizing repeating patterns of GUI component assembly.

ram swamy

Posts: 1
Nickname: rsr
Registered: Feb, 2007

Re: Hybridizing Java Posted: Feb 2, 2007 9:25 AM
Reply to this message Reply
"OpenLaszlo was especially attractive before the Flex compiler and framework became free. However, the OpenLaszlo group has decided that they will accommodate the lowest common denominator technologies by targeting DHTML combined with Flash, and this incorporates the limitations of DHTML. The reason Flex is compelling to me is that it allows me to take advantage of things I can’t do in the normal browser and those things produce the same results, everywhere. On top of this, Flex is magnitudes faster than OpenLaszlo because it takes advantage of the JIT compiler in Flash 9. Since Flex is now free, there’s no reason not to go to the source"

I too like Flex2 and have given a primer on that in my website at "http://in.geocities.com/rsramsam/flex2.htm"

But, OpenLaszlo is said to target mobile devices and so gains more importance.

Charlie Arehart

Posts: 3
Nickname: carehart
Registered: Feb, 2007

Re: Hybridizing Java Posted: Feb 2, 2007 11:22 AM
Reply to this message Reply
As one who's worked with Flex and OpenLaszlo off and on for a couple of years (as well as done some Ajax work here at the end of my 10 years of web app development), I'm really glad to see Bruce lay out this argument. Of course, like most such debates in our industry, there aren't entirely clear conclusions yet so we will all have to work to evolve our understanding to decide most effectively.

That said, I'd like to respond to a couple of early comments. I've only read about half of them so far, but these three reflected some concerns that it seems ought to be addressed.

To Dave Webb who wrote, "Will Flex Data Services be easily supported on Java based servers?" The answer is yes. FDS is a J2EE web app.

To Les Stroud who raised grave concerns from his "tainted" previous experience building Flash apps, while admitting that "Flex may have changed all this", I can report that indeed it has. Like so many technologies, Flex will have a bit of a hurdle overcoming old notions about the Flash IDE as well as the results it used to create (the sad "skip intro" era).

Anyway, Les, the old style of Flash development (movieclips, timelines, and indeed the whole graphics designer interface) is gone, for those using Flex. Flex is instead entirely XML-driven. Yet for those preferring a GUI, there is the optional FlexBuilder, which serves both soft- and hard-core coders, with both drag and drop simplicity as well as powerful code editing for MXML, ActionScript, and CSS. And since it's Eclipse-based, it can also of course be extended to support coding in whatever server-side language you may be using.

And to Mark Nuttall, who wrote, "I just don't get this. I have a Web Started Swing app. ... I think the real problem is that people are not familiar with Swing and with all the things possible with Java." This is kind of funny. Are you putting Bruce in that camp of folks "not familiar with all things possible with Java"? :-) We don't know each other, so I mean no offense if "of course you do", but it just surprises me if you're arguing that the blog entry's author is of that camp. Bruce is a legend to many in the Java world.

Just to inject some levity (again, no offense to Mark), but this sounded like that current Geico caveman commercials, where he's being interviewed by the talk show host who says, "Tone aside, historically, you guys have struggled to adapt”, to which he retorts, "Right, walking upright, discovering fire, inventing the wheel, creating the foundation of civilization—You’re right. Good point. Sorry we couldn’t get that to you sooner.”

Of course, the point there is that the caveman is smarter than the interviewer thinks, and it just made me think of how Bruce might reply.

Now, I certainly don't mean to classify Bruce as a caveman! :-) Far from it. And while he does I think represent a significant contingent in the Java camp, I'm also not referring to them or any of those outside the Flex camp currently as cavemen.

But taking the allegory in a different direction, it does seem that there's an evolution taking place regarding rich web apps.

In this article, Bruce has served as something of a paleontologist, evaluating the progression of events through time have changed the ecosystem of web app development. As with all such evaluations, there's certainly some guesswork as to how it has and will all work out, but he's certainly made a compelling case for Flex, against which a now-wider circle of theorists can debate. I applaud him for that.

Flat View: This topic has 129 replies on 9 pages [ « | 1  2  3  4  5  6  7  8  9 | » ]
Topic: Scala 2.8.0 + Lift 2.1 + IntelliJ: First Step(s) Previous Topic   Next Topic Topic: Security Debt


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us