Sun Debuts JavaFX As Alternative To AJAX
r7 writes "Internetnews is reporting on Sun's introduction of JavaFX at JavaOne today. Looks like a combination Applet, Flash, Javascript, and AJAX with a friendly programming interface. Does this really spell the end of AJAX? I sincerely hope so. Nothing built on Javascript will ever achieve the security, cross-platform reliability, and programmatic friendliness that Web 2.0 needs. Proprietary solutions and vendor lock-in are also dead ends. JavaFX has the potential to satisfy this opportunity even better than did Java over a decade ago. Along with AJAX, let's hope JavaFX also puts paid to Microsoft's viral Active-X and JScript, and, more importantly, that it really is a web scripting language that developers can grok."
Applets, and Java in general, are notorious for long startup times.
It has been found that people give a web site about 2 seconds to respond before they determine it is not going to load and surf away.
How we know is more important than what we know.
Dammit, I'll get a good one someday.
We figured out a long time ago that it's easier to elect seven judges than to elect 132 legislators.
So we're moving away from a de-facto standard that is already implemented with free software, towards the proprietary Adobe Flash platform and the vendor lock-in that it implies?
Did it occur to you that you're sounding exactly like the hype you're decrying?
AJAX is a stupid name developed for the ole' hype machine (mostly to sell conferences and books, methinks) but the basic web technologies behind it are NOT THAT BAD. To use the example from the article, am I "tearing [my] hair out over as [I] attempt to get the JavaScript working in both Internet Explorer and Firefox?" Actually? No, I'm not. And I just implemented a Comet library in both Javascript and Actionscript. About the most frustrating thing was the fact that Opera ignored the cache-disable commands when using XML.load in Flash. So I build a solution into the library. And if you think that's fun, wait until I detect Server Side Events in Opera and use XMLSockets in Actionscript!
*shrug*
Oh, and I had to dynamically patch Safari and Opera to add support for the toSource function. Easy as for(var i in object) pie.
The problem with most "AJAX coders" is that they still think of Javascript as that cutesy language they used to do scrolling statusbar text with. But it simply isn't that bad. In fact, Javacript is a full-up, Object Oriented (or at least, OOP capable) langauge that fits the lightweight needs of the web browser perfectly. Java is a 600 pound gorilla that's better for designing heavyweight applications that are secure, robust, fast, and feature complete. The two target very different markets.
As for JavaFX, there is (if you'll excuse the expression) "nothing to see here". It's just a Silverlight competitor. Which makes it just as questionable as the product against which it's competing. If you really want a replacement for XMLHttpRequest, use XMLSocket instead,
Javascript + Nintendo DSi = DSiCade
"Proprietary solutions and vendor lock-in are also dead ends"
.NET because you have a stick up your ass is a little silly.
Or... not.
Using Java solutions over
I'm not usually one to point this sort of thing out, but what amazing astroturf. I can almost hear the marketing person coming over to an engineer's desk saying "Help me add a geek word to this so it rings true." ... "Grock, eh? How do you spell that?"
OTOH Java is really known to be a very "heavy" and slow technology... Leave politics aside, Open Source or not Open Source, let the best player win. I hope is not Java anyway.
It's time to realise that Abble's products are the biggest abomination these days. Just say NO to the dumb iAbble way!!
That would be great, but in reality, when people invest enough money into something and there is ubiquitous support for it, it tend to stick and migration to something new drags on forever.
And there is so much big corporate inter politics involved with each side rallying their alternatives that it looks like we are stuck with the lowest common denominator, that beeing for the moment javascript.
http://www.intellipool.se/ - Intellipool Network Monitor
This begs the question, will anything built on Java achieve the security, cross-platform reliability, and programmatic friendliness that Web 2.0 "needs"? It is well-known that Java is a "write once, debug everywhere" solution. If it is running on the server side, It also begs the question, does it need all that? What does Java provide that other languages don't? It looks like it has a client-side component. FTFA, "One of the knocks on AJAX applications, aside from browser compatibility, is that it requires a large amount of JavaScript to be sent over the wire; that script could have something malicious embedded in it. JavaFX eliminates that need by using the locally installed Java SE files." Well well well, FUD FUD FUD. Yes, it could have something malicious embedded in it. And there could be something malicious in your Java code, too. Make a point, please?
Also, I'm interested in having this assertion backed up somehow. Javascript is an excellent language even if some implementations are somewhat lacking. In general the use of cross-platform toolkits seems to be accelerating Web 2.0 development for many people. Is it really true that you can't do the job with Javascript?
I'd just like to leave with this C&P and short commentary:
"This really is write once and run anywhere," he said, reiterating a 12-year-old slogan for Java. The long-range plan is to make it so applications can be written to run on all platforms." Yes, that was Java's long-range plan as well. Note that so far, it has not succeeded.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Also from the site: Like all of Java, JavaFX Script will be available via the GPL license.
The google web toolkit (which google doesn't even use, but whatever) already lets you program in java, which is converted to javascript. This makes it a whole lot simpler (and accessible) than requiring javascript, java, and flash. Even if you think it's a dumb idea or impractical, it's worth browsing the svn repository to see how it's accomplished.
Do you even lift?
These aren't the 'roids you're looking for.
Umm....?? eehh....so its a combination of Applet, flash, JAVASCRIPT and AJAX....then you say Nothing built on Javascript is worth its 2 cents in materials. You sir, give me brain worms.
Yesterday I installed firefox on a new machine. I went to a website which required Flash 9. Since I didn't have this plugin, I simply clicked on "Install plugin" or whatever and within seconds(!) I had flash installed and could watch the page without any other hassles. No braindead installer, no ridicously long loading times, just slick and smooth, THIS is what Sun needs to accomplish: A no-pain, mind-numbing simple and unobstrusive way to install a minimal, blazing fast VM on the client. The rest is just icing on the cake.
First of all there is nothing at all hard about cross platform ajax programming, those hurdles have
already been overcome. However it is over 10 years since java and applets where introduced and they
are still slow as mud, I highly doubt any success in market penetration.
Got Code?
Bad phrasing on the part of the submitter and/or editors: according to the article, JavaFX isn't a "combination Applet, Flash, Javascript, and AJAX" in the technological sense, but in the sense of the kinds of features it provides. It's actually an extension to Java.
Anyway, there is one drawback it's going to have as compared to AJAX: It will require end-users to install something. As it is now, AJAX will run (to some extent) in MSIE, Firefox, Opera, Safari, and a number of browsers with similar rendering engines. Even if it gets built in to the standard JRE, that still requires people to install Java, putting it more on par with Flash (though at this point a lot of people do have Java installed).
So, how long before Sun convinces Apple to include JavaFX in their version of the JRE? Last I looked you couldn't just download a JRE for MacOS X.
If this is what's been known as F3, then the guy who wrote it has been posting some pretty impressive demos for a while now.
Since when was AJAX frustrating, as TFA claims? People invented such wonderful libraries as prototypejs for a reason.
..an old one, I am always glad I never bothered to learn the original technology in the first place. In a few years, when something comes along to replace JavaFX, I'll be glad I didn't waste any time learning JavaFX.
"Does this really spell the end of AJAX? I sincerely hope so. Nothing built on Javascript will ever achieve the security, cross-platform reliability, and programmatic friendliness that Web 2.0 needs."
Use Dojo or a similar framework, or Rails has it built in to the back end programming, which is even better(again using a mature framework).
And security? "JavaFX will also trigger desktop integration of over-the-wire applications with Java" desktop apps from? Yeah, high security results have always been achieved there. That's why I give activex unlimited control on my computer.
The goal is to make it so people never have to see code," said Gosling.
Sounds like even more code will be sent "over the wire." And I'm so glad for disconnected use, my broadband takes forever to dial in... oh, wait, no, nevermind. Had a 90's flashback there.
Although I'm glad for the Java ME stuff, I'd love to see better web pages for the mobile market, and they don't have to be flat like we did before all this fun stuff happened(I don't call it web2.0, although you can if you like).
It really sounds like it's DOA. Talking about "disconnected." "Imagine running gmail in a disconnected state" well it already does that, runs just fine, the data is on one end of the disconnected pipe and you can't see it until you're connected again. How do you have a remote database and a disconnected web app unless you download the database. And even then you wouldn't get new mail as it comes in.
A demo of JavaFX (embedded in Java WebStart--yuck) can be found at http://blogs.sun.com/chrisoliver/ . Seeing as flash comes up instantly in browsers, even if it takes some time to download code, etc, and that web pages with ajax also render near instantly, I don't see how JavaFX is really going to appeal to end users. The JVM plugin still takes time to load on all browsers and platforms and is quite big. And on almost all browsers and platforms I've ever used, tends to lock up the browser for 10-20 seconds at a time. Further how will JavaFX integrate with HTML? Javascript?
.NET don't have these problems, mainly because flash is a fraction of the size of the entire JVM adn runtime, and .NET is always loaded and ready to go on windows.
.NET (mono notwithstanding). I really want to like Java, I really do.
Flash and
Anyway, given the current state of Java technology in the browser, I don't see this as being any different from WebStart, which everyone loves to hate because it is so clunky.
I dislike the idea of Silverlight entirely, particularly anything that relies on
The reason everybody uses ajax instead of Flash or Java applet remoting is because ajax works out of the box on all browsers.
If you're going to require people to download and install the jvm to run your app in their browser, you might as well just write a thin client app in java.
Why didn't they do that back in the mid to late 90's when Java was purely on the client side? Alot of people were doing the AWT thing, but were disappointed with the limited widget set and screwy event model. Then Swing came out, but it was huge and slow. In the meantime Flash became the de facto in-browser rich client. I sure hope JavaFX succeeds. I hate that stupid Adobe movie timeline thing. What a dinky way to program.
The mobile version appears to be tied to Savaje's commercially unsuccessful operating system.
Despite having massive deployment of J2ME, it has always struck me that Sun's strategy to capitalize on that fact have been hampered by complexity -- for once not of the platform, but of the business model, which is tied up with phone manufacturers and mobile wireless providers. Basically, as a serious app developer, you probably have to partner with a wireless company.
So now we have this interesting "mobile" technology. But you won't be able to buy it, you'll have to find a wireless vendor that supports it.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
I am not a web developer, but despite having said that, i can assure you that this is >90% hype.
"You know all that AJAX code you've been writing and tearing your hair out over as you attempt to get the JavaScript working in both Internet Explorer and Firefox?"
no, i don't. i really don't. not anymore.
"offers interactivity, animation and programming"
so its not AJAX, its Flash/Silverlight/etc. and as regards Gosling's comment (possibly taken out of context?),
"Most scripting languages are oriented at banging out Web pages. This is oriented around interfaces that are highly animated,"
are we talking server-side or client side? with full DOM level 1 support there isn't that much guess work involved in designing controls/widgets/etc, and anyone working in this field already has a browser compatibility layer (my own has shrunken considerably over the last 5-6 years). frankly the only issue i have is when to download the code, all in one go, or as needed.
in short, while there is definitely a need for standard cross-platform browser support for such technology, i would be surprised if this was the answer. and as far as flash goes, when was the last time you gave the remote to the TV? i would be happy if i never saw another 'flash only' site that was nothing more than some corporate portal.
last but not least, there wasn't any mention of the _license_.
...vividly encapsulates that post-Watergate/pre-punk/coked-up moment when you could trust no one, least of all yourself.
"Nothing built on Javascript will ever achieve the security, cross-platform reliability, and programmatic friendliness that Web 2.0 needs."
Just because you don't understand xml and javascript doesn't mean that nobody does.
AJAX has given web-pages a new breath of life. Things like google-maps, netflix, etc. have definitely done things I wouldn't have thought possible before. And packages like RoR have managed to find ways to automatically generate most of the AJAX you need.
.. a small increment without actually fixing any of the big issues.
I don't claim to be an AJAX expert, but it seems really good for the simple things you need to do. You can find 10 libraries now that give you collapsable boxes, drag-n-drop, etc. But it gets much more complicated if you want to do something not covered with these libraries.
The big problem being that put very simply: HTML was not designed for full-fledged interfaces. Compare against a beautiful library like Cocoa, and it falls very very short. Which is fine. It's great for what it does.
Java is many ways was supposed to fix this problem. A method to create interfaces that can be spread through web pages. But issues besides just speed have been a problem with Java. AWT was not great for making interfaces, and Swing isn't (IMHO) much better. I haven't tried SWT, but even Eclipse, its flagship, suffers from all types of interface issues (compare it against an IDE like XCode).
I'm trying very hard not to be an Apple fanboi. I've used PCs for most of my life, and Linux for a good enough time (> 10 years). But I've seen enough interface libraries now (GTK+, KDE, Windows API, Javascript hacks, various ones using SDL, etc.) that I've seen both highlights and major downfalls from the different design paradigms used.
One of the largest design issues I've seen comes from at the end of the day from the language itself. Part of A large part of Cocoa's beauty derives from Objective-C. It does things that c++ wouldn't dream of doing for speed reasons. Both Gtk+ and KDE try to replicate features already in Objective-C, but because they are non-native, they don't/can't do it as well. Which is not to say Objective-C is the end-all be-all language -- it's just great for interfaces.
It's also something that from my personal experience Java can't do. So it's hard for me to imagine how using Java to make an interface for web pages will be a great advancement (again, I'm leaving speed issues alone -- this is a purely design argument). And maybe it will be better than AJAX, but that's not a great advancement
I happen to like JSP. It does a lot of things nicely and the built in try, catch structure rocks. There is also a heck of a lot of good awesome code out there for jsp/servlets that does for free what windows will charge an arm and a leg for. iText does barcoding pretty good and manipulates/generates pdfs on the fly to boot.
I for one welcome our new JavaFX overlords
Agreed. How it interacts with HTML and JavaScript are going to be very important. AJAX fits nicely in there, and really is nothing new except the techniques. The HTML is still indexable, and the ad and tracking javascript is still there. With this, that may not all be true.
Speak for yourself. I personally love Webstart technology. It's a beautiful solution to installing/launching applications in a cross-platform way. You just click, and it loads. No guarantees about the quality of content the developers package on the side, though.
Javascript + Nintendo DSi = DSiCade
You know, the one thing I absolutely HATED about AJAX was how there was no delay when I loaded a page. For many moons, I have longed for the five second delay that a Java applet on a webpage incurs. I knew I was in for an interactive, highly responsive, good-looking user experience when my browser stumbled momentarily, as it loads the slim, petite Java runtime into the browser. It gave me plenty of time to prepare myself for the life-changing experience that ONLY an applet could deliver!
But now, I can be happy once again. Thank you Sun! And with a hip name to go along with it, as well! JavaFX! I wonder if it is compatible with WinFX? Or how about ActiveX?
Gawd, I'm so sick of everyone re-inventing the wheel. Just pick one dammit and improve it over time.
When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
> I don't see this as being any different from WebStart,
> which everyone loves to hate because it is so clunky.
JWS is pretty sweet for internal apps, though. I wrote a Swing client for a J2EE app for an internal group and folks were quite happy with the easy updates. They'd suggest a change and half an hour later I'd come buy their office, ask them to restart the app, and the new version would get downloaded and Bob's your uncle. Pretty sweet.
The JavaFX code looks pretty nice, and here's the original press release (got it from thenewsroom).
The Army reading list
Show me an example of this working!!!
AXAJ - hundreds of sites delivering real value.
JavaFX - I spent 10 minutes and could not find a single example. Come on, even if it was a standard Applet + JavaScript it would be more than nothing at all. Show me how it works, give me a realworld example and I may take a look at it sometime.
"Proprietary solutions and vendor lock-in are also dead ends."
So you acknowledge the presence of product solutions for ajax exist yet disqualify the possibility of using them because they are "dead ends"?
there are no issues with javascript. cross site security simply demands you be resilient and durable and know when to fail user operations when they're asking for "funky" stuff, but that security was mandated at some level by traffic sniffing and packet generating long ago.
as for cross platform reliability, what other standard library would you propose?
the wonder of javascript is that things can be hacked to work cross site. greasemonkey provides an interface back into the web application and permits users to medal on their own. eventually cross site atom reading will allow sites to mix web content dynamically. 3rd party sites running their own js on your page is not a problem, authors that use shite namespacing techniques are. javascript is the only standard platform available that comes with a display layer. it will kick javas lily bitch ass.
Java is the dead end of all dead ends, the furtherest logical business case extension of c++. The fact taht there will never be anything after Java, to me, indicates is stasis decay and dead end. In this I agree very much with Alan Kay and his theories of languages.
marketter, fan boy, or run of the mill overly excited moron. you ought be fisked.
That pretty much destroys his argument. At least Flash has the decency to be less than 30MB to install.
Sun open-sourced Java. They've supported OpenOffice for years. They've opened Solaris (somewhat). Now they propose to slay yet another bete noire for Linux desktop users like myself: Flash. I have not forgotten that Linux was a second-class platform for Adobe/Macromedia until only recently. I know that I still can't run a 64-bit desktop without pissing around with 32-bit chroots 'cause eventually one of my kids is going to want to play a Flash craplet.
I also know that if Flash was open-source, we would've had 64-bit support ages ago, and that Linux would've been excellently well-supported from the get-go.
I applaud Sun for giving us a potential alternative under the GPL.
"Because it runs on the client and is not dependent on code sent over the wire, it also means applications written in AJAX, such as Google Apps, can be used offline."
So JavaFX Script is just a client-side UI library? That's not AJAX. That's DHTML.
Too bad they didn't fix the real problem: Javascript. I would rather see Java as a first class language in the browser to replace Javascript entirely. Instead of writing Java GUI applications to target Swing or AWT you would be able to write them to target the browser DOM directly. And you'd have compile time checking. The DOM+CSS model is a pretty nice for documents. Of course that would require all browsers to have compliant DOM implementations (maybe that's the holdup). But JavaFX sounds more like Flash.
I'm so sick of companies thinking they'll somehow become relevant because they put reminders of their products in every nook and cranny on my system. Sun, like all other half-wit companies, feels the need to put useless tray icons in there to brand the user's computer. You'd think after the Internet's collective hate of RealPlayer they would have learned that the systray is not for advertising. Besides, people don't care what Java is, they want to look at what is on the page. But no, they have to sit there in the tray, completely useless. And lets not discuss needing to run a program 24/7 that monitors for updates to Java, or installing a control panel.
Sorry Java, you're not nearly as important as you think you are. QuickTime commits the same set of sins, which is why I swear by QuickTime Alternative, it is a bit less annoying.
JavaFX is meant to compete with Adobe's Flex+Apollo and Microsoft's SilverLight. As such these kind of RIAs compete with AJAX, but indirectly. These techs can operate offline and each has some kind of multi-device support. That being said, it does seem unlikely that people will choose Flex, Silverlight, or JavaFX over AJAX for a web-only application. Then again, imagine if you could use all of your Google apps offline. Once your throw in the desktop, AJAX has little answer. If it's easy to achieve desktop/web app transparency, then maybe AJAX becomes a poor option. Big if though.
Security - Javascript is NOT designed to secure a web app, security needs to happen on the server side, out of necessity!
Cross-platform - I would argue that Javascript / ECMAScript, having been standardized and distributed with all major browsers for years, is arguably the MOST supported cross-platform programming language in the world. If a computer has a browser made in the last 5 years, it supports standardized ECMAScript. And what PC doesn't have a browser?
The only incompatibilities I run into on a frequent basis are getting my scripts to create results that look the same across all browsers, and that's not Javascript's fault, it's CSS and browser support of CSS! If you have problems with the [i]functionality[/i] of Javascript, then you're probably not writing according to the well established standards, or worse yet, throwing together snippets of Javascript from all over the web like so many amatuers that give the language a bad rep.
So you would use Sun's solution, rather than the well established internationally standardized ECMAScript?
Programmatic friendlyness - Joel says it all here Personally, I've programmed in dozens of languages, and few are as flexible and enjoyable as Javascript
Javascript used to have the same status that Java applets and Flash still do, used predominantly for play things, small self-contained segments of the browser where you want to do something different. Javascript has risen above that. The world is finally realizing Javascript can be an integral part of an entire website, and that the website as a whole can be enhanced by Javascript and it's tight integration with other web standards.
This article sounds like an attempt to rehype Java applets, which frankly, have not seen the advancement and acceptance that Javascript has over the years.
But this hyped-up Slashdot story got me going. I hate publicity disguised as news stories... And it just asked for a car analogy.
As an aside, I have made a comment already on such a hyped-up post and it was also a car analogy. Figures.
Okay, I'm kidding about 'run Linux'. I really want to know: How do you make it work on Linux? I thought at first it was because Java wasn't set up for my browser (Firefox 2) and it wasn't. So I got that running and verified it works on the newest Java 6u1.
But JavaFX tries to download and asks me what I want to run it with. Running it with Firefox just asks me again what I want to do. It's supposed to work inside the browser, right? Because if they are trying to replace flash with something that doesn't run in a webpage, that's idiotic.
"If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
now ? I must have missed it.
Read radical news here
A JavaFX developer forum is getting started.
I think this is a great idea for a technology. JavaScript will never let me use native UI widgets or threads. It will always be interpreted and slow, unlike Java bytecode which runs at nearly-native speeds. Pages with JS scattered through them will never be able to verified as being correct. There is no compile phase for a JS / AJAX page, so all bugs are runtime bugs, and we all know, you can't get rid of runtime bugs in a loosely typed language like JS+HTML.
Moving the work into applets is the right place. They have a proper multi-threaded approach to building GUIs. They work. The problem is that, before JavaFX, there wasn't a good way to integrate an applet into a web interface. For example, let's say I want to use an HTML text editor applet on my page. There would be an HTML submit button. There is no clean way to have that submit button submit the contents of the applet with the HTML form. I realize there are some hacks to do that, but it should be a non-hacking process.
The other cool thing about today's open source Java announcement is it might help with the slow start-up times of applets. If the JVM could be made into a library which is dynamically linked in to the browser when the browser starts, there would be no startup time for creating a new JVM process, because everything would run in the browser process. Now this will be easier for the Firefox developers to do.
Anyway, I think this is cool and is a good way to revive the potential of applets.
By the way, I'm certain I'm going to get lots of flames from people who don't know what threads are, how they are relevant to GUIs, what runtime errors are, what loose typing is and why it's a problem, why compiling code before running it is good, etc. I welcome all such ignorant flames but will not respond to them.
JavaFX appears to be a (hopefully last) desperate attempt at relevance beyond the enterprise in-house app. My guess is it will fail. Anything that needs a non-captive audience to install and maintain a JRE, especially if it includes enabling Java in the browser, doesn't have much of a future.
On the other hand, it's a very nice new tool. It should do well in the enterprise app space already occupied by Java.
I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
Summary: 'Blah, Blah, AJax is crap here comes JavaX Will it finally free us from the threat of eternal slavery in an Ajax ruled world?'
grok -> synthetic, geek-wanna-be term for 'to understand'
---
I looked at the official JavaFX pages and it's the most buzz-word ridden and content free 3 paragraphs and pseudo FAQ I've seen in a long time. Which is kind of a suprise since it's from Sun who usually keep that thing to a standard minimum.
Here's what I make of it:
RIAs are a current big thing. Ajax, Flash, Laszlo, Flex, Curl, Apollo, XUL and whatnot are involved in a huge technology mayhem over who's gonna rule the new additional client side layer that promises to end all x-plattform problems. Just in time for us to move on the the next set of problems (wether we display out stuff on a thumbnail-screen, an immersive VR cybergoggle enviroment or on something of the 10 bazillion variations inbetween).
JavaFX is most certainly *not* aimed at Ajax. I don't think Sun cares to much abot Ajax. After all, the more Ajax you've got, the more servers you need. Which is what Sun can only hope for.
It is, of course, aimed at the thing to which Java has been the only true potential competitor for 10 years now and the next big market area that Java really has a chance in: Flash.
Flash is the most widespread end-user plattform in existance (OK, JME aside, but that doesn't count since cellphones can be considered outside of the computer game for now, and to me it looks barely turing complete). The next most widespread client-plattform to Flash is Java.
The attempts Java up to now has made into the Flash area are factually non-existant. Suns JMF (Java Media Framework - yes there is such a thing) and JMF Video Demos from 2002 are a joke compared to Flash, and mm developement in Java also is factually non-existant. Java thrived in an area it initially wasn't intended for at all: The server side. Sun was happy with that and felt fine selling servers for good money and being able to offer the relative performance hog called Java on top of them for a safe and flexible way to buld heavyweight server apps. Yet Flash client programming, even though ActionScript has become a full blow all-frills PL just like Java, hasn't really picked up that much in the RIA app market as it could have. Due to the image Flash has with most people, due to them slowpoking around with the complete Flash VM redo (which they only recently finished) and due to a base of implementers that have given Flash a bad reputation since the emergance of Ajax and working CSS. Still Flash is the only RIA plattform of today that can deliver.
Now computers are getting smaller and faster and clientside Java isn't that sluggish anymore. Java is GPLd, servers are probably running so-so and now, finally, Sun probably has noticed that they can get serious with true Flash competing RIAs. You can pave the road with supposed RIA kits and generators - one with the most hot air in buzzwords and no real project to prove itself in being Eclipse RIA. IBM flapping their wings can't go unnoticed by Sun, they're still a little pissed about that 'eclipse' joke I presume.
Yet in the end it all boils down to one thing: Do you have a widespread tried, true, tested and trustworthy virtuall machine that runs everywhere. Only Flash and Java have that. Adobe just OSSd their Flex generator, nullifying a big advantage of Laszlo. Good for them. Allthoug I personally am still giving Laszlo the underdog-bonus whenever applicable. But Sun GPLd Java aswell, a move which Adobe basically just followed suit. And if Sun finally manages to get serious with Java RIAs and multimedia - then Adobemedia *finally* has a real competitor in the Flash area. MS Silversomething was a small hickup, squished 10 days later when Adobe anounced Flex open sourcing last month. But Sun now announcing this JavaFX thing, despite being not much more than a buzzword ridden press release, should have all Flash RIA developers pointing their ears. At least it officially puts Sun i
We suffer more in our imagination than in reality. - Seneca
involve a contest for a suit of armor, a jealous rage, murder, and suicide?
Could be worse, they could have decided not to settle for the name of second best and named it "Achilles."
LedgerSMB: Open source Accounting/ERP
"You bring me requirements, and I'll show you the magic that modern web technology can perform."
How about security?
Gosh, the silence is deafening.
JavaFX looks like it requires the entire Java platform and is oriented towards building widget-style user interfaces. In addition, there are worrisome statements about it offering "desktop integration". Those all sound absolutely scary to me.
I think DOM+Javascript is actually a good thing. It has enabled things like Greasemonkey, screen scraping, and hypertext often leads to easier-to-use applications than widgets.
The new version of Javascript should run like a charm with its JIT, and it looks like a nice language. I really don't want to go back to Java applets.
For those who actually want to know about JavaFX instead of saying - Java is slow or applets suck or even worse, JavaScript is insecure or something else irrelevant...
Here is the project FAQ
It is going to be some kind of open source and going to be developed for both desktops and mobile phones as well as for the Blu-Ray and HD-DVD stuff which already has Java built-in to the standards.
Also from what I understand it is build off of a project called F3 and work from a recent purchase by Sun called savaje that makes Java software for cell phones. So it's uniting a lot of efforts that have been in the works. To say that this is just a rehash of applets of the '90s is fairly naive.
My god, is Joel that surprised that it has first class functions?
Copyright infringement is "piracy" in the same way DRM is "consumer rape"
Each modern OS has a way to do graphics, fonts, widgets, etc. Why the Java group insists on shunning these in favor of kinda-sorta-look-alikes is beyond me. The code is there. Just call it. See Eclipse for an example of how to do this.
On a related note, if you want a profoundly cool, stable, robust, distributed, declarative language, how about http://www.erlang.org/?
Unless they can somehow get it installed in all popular browsers, this will fail. AJAX succeeds mostly because IE, Firefox and Opera all support it out of the box, and have for years.
The cake is a pie
Javascript has risen above that. The world is finally realizing Javascript can be an integral part of an entire website, and that the website as a whole can be enhanced by Javascript and it's tight integration with other web standards.
JavaScript is/was not really the bottleneck. The bigger problem is inconsistent and buggy DOM and/or underlying GUI models between vendors.
Actually, the GUI engine should be languague neutral if possible, or at least to the extent possible. I don't see people trying very hard to make a language-neutral GUI engine/interface. 90% of most GUI setup is or can be attribute-driven anyhow. A behavioral interface on top of something that is mostly declarative is usually ugly IMO. We just need event hooks (on-click, on-key-press, etc.)
Table-ized A.I.
Perhaps we should bypass existing browsers and create a form browser that is geared toward business forms instead of e-brochures that HTML-based browsers are designed around. Retrofitting biz forms on top of an e-brochure system has proven a failure multiple times. We need to create the "Mosaic" of Forms to kick off the industry. Perhaps it can be written in TCL-TK, or C-based TK libraries. (Maybe prototyped in TCL but shipped in C or compiled C exe's). Make the protocol as declarative as possible (perhaps XML) so that actual scripting can be either server-side and/or kept to a minimum on the client. For example, field templates or reg-ex's can be used for most of the field validation.
By starting over we can avoid Microsoft's heavy hand.
Table-ized A.I.
Their tutorial on this page https://openjfx.dev.java.net/Getting_Started_With_ JavaFX.html is based on Netbeans. No thanks. If Sun is serious about this technology becoming popular, they'll make an eclipse tutorial. I don't want to drink the Koolaid and abandon Eclipse, which I use for everything. I would like to run a simple tutorial with Eclipse. I suspect that a lot of people won't even bother with JavaFX if they can't just stuff it into another Eclipse project to try it out.
Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
Having totally botched deployment of the "applet" thing with Java (to be fair, Microsoft sabotaged that in IE), Sun is trying again. As if anybody cared.
JavaScript isn't really that bad. There are about a half dozen known serious problems with JavaScript and browser support for it, and they're getting fixed. The Tamarin just-in-time compiler is in test, and the speed problem will soon be solved.
Most of the real trouble comes from the CSS div/float/clear model of layout, which just isn't enough to insure that everything ends up in a reasonable place. Not having a grid model was too restrictive. Manipulating "div" items dynamically tends to result in brittle web page designs that break easily. To get around that, you almost have to code up a layout engine in Javascript, which is silly. So there's something of a move back to table based layout, a plethora of frameworks to paper over the troubles with the "div" model, and meanwhile the CSS theorists take their model back to the shop for rework.
So I'm assuming this is the same thing as F3 that Chris Oliver has been working on and posting to his blog for sometime? The syntax looks the same.
Maybe you're confusing C with Fortran.
Java is a statically typed language, has only just recently implemented generics in any form and suffers from stupidities like not having its basic types (eg int) be objects.
Javascript has a logical implementation of OO based on prototyping, allowing for "duck typing" (if it looks like a duck...).
It's a functional language, allowing for closures and other very useful programming structures. Once you've understood them and used them, you won't go back and you'll feel like you're programming in a straightjacket in any language that doesn't support them.
It suffers from browser limitations with incompatibilities in the DOM model (something that applies to any language that runs in the browser) and Microsoft's inability to implement CSS correctly. The other limitation is being single threaded within the browser, which can cause problems with XMLHttpRequests and other background tasks.
These limitations could be fixed, and there are libraries that provide cross-browser compatibility and workarounds transparently (eg prototype).
Java and C# are the "toy" languages, with their hand-holding of programmers. OO is a useful paradigm, but static typing leads to bloat and incomprehensible templating efforts. But they have the library/IDE support that Javascript doesn't.
Vendors don't like Javascript because it doesn't "lock in" programmers to their server-side implementations. If you want to see what can be done with Javascript when it does have full library support and isn't "sandboxed", then look at Firefox. Most of the UI is Javascript driven.
The one thing that's missing out of all this new stuff is being able to touch hardware. Give programmers the tools to get an image from a scanner/webcam/digicam, get audio from the mic, set paper size and print without user interaction(printing from a third party app like acrobat counts), send/receive commands through a serial port, send commands to a physics card, etc. When the app first runs, ask the user which of the pieces of hardware they want the app to be able to communicate with. Remember and never bug again unless the app asks to reconfirm.
I'd love to migrate a ton of my old apps to the web but am restricted by the fact that half of them need to touch hardware to do their job. I already migrated our primary accounts receivable software over but the first complaint by users was the multiple clicks just to print(click print on website, pdf sent to client, client clicks print in acrobat, acrobat brings up print dialog, user clicks ok, user closes pdf). What about our software that runs CNC machines that need to communicate through the serial port? What about our document management system that needs access to the scanner?
Give us a conduit that _isn't_ active-x and isn't a local app.
An article about a possible alternative to JavaScript and all the 1337 scripters out there that have learned to insert 3 lines of JavaScript in their HTML pages are out there defending JavaScript...
.js when they should, Google in GWT went all the way to append randomness at the name of every .js file you modify (myeleet.js becomes myeleet8a334f15.js etc.). I smiled when I saw that they did this in GWT for after hours of scratching my hairs over browsers caching bugs I decided doing so was the only way to stay sane. Sure, your way of developing in JavaScript may prevent you from such atrocities... But not mine (and, yup, I do tend to do constant cross-browser testing). This is not a problem on my part... And Googlers agree with me.
Anybody saying that JavaScript is a great language and that it's a joy to program in JavaScript is suffering from some serious mental illness. JavaScript, for all practical purposes, lives inside a browser. And it's fugly to work with all the buggy exotic implementations available. The state of affair is actually so bad that there are countless articles comparing the various JavaScript "libraries" that simplifies things like, you know, doing an XmlHttpRequest.
Re-read this ten times if you think JavaScript is any good.
It is that bad. Doing a simple XmlHttpRequest is not trivial. It is doable, but not trivial at all. There are lots of documented hacks and varying browser behaviors regarding, say, how asynchronous event responses coming out of order are handled (hint: specs are silent on this and it's different from browser to browser). Or how to prevent IE6 from caching XmlHttpReq even though you set all your cache related infos correctly!? (this one is a known IE6 bug and the fix is trivial... But when you don't know it's a known bug you may scratch your hair for quite some time). I don't say it's complicated to solve but simply that these are problems you shouldn't have to solve in the first place. The fact that XmlHttpReq is a fugly JS hack may not be entirely unrelated to the fact that it was an addition to JavaScript made by MS.
Wanna talk about ugly memory leaks and the one true correct way to make sure your objects gets garbage collected? Welcome to fugly hackland.
Wanna talk about trivial JavaScript scripts (as in "three lines of code") making the system swap like mad then eventually killing the browser? (yup, as of may 2007)
Caching bugs in particular are really messy, which makes developing JavaScript apps challenging. This is not JavaScript's fault here however, but the various buggy browser implementations. How Google solved the problem? Radically: seen that some browser do not refresh
So JavaScript / ECMAScript "the whole ecosystem" is crappy and buggy... And yet a great many people with a straight face will insist that it's dynamic-typing nature and first class functions and OOness make JavaScript the "one true language" that we should use for everything. To me it makes JavaScript a monstrosity, a huge mess. I appreciate a lot of programming language and JavaScript simply ain't one of them.
To all the JavaScript lovers out there: I'm sorry but you can't simply say that JavaScript is a great languages while ignoring that when programmer say "JavaScript" it usually means having to work with all the different (always buggy) implementations. Moreover I don't buy the fact that "somehow a functional language + somehow an OO language (*) + dynamic typing" makes a great language.
To me it's a bastardized monstrosity.
Thanks a lot to all those working on gigantic frameworks allowing the others to do simple things like sending an asynchronous request and dealing with the answer... You know, like one should expect a language to do easily, without having to rely on countless hack.
But please, please... Stop saying that JavaScript is anywhere near good.
I won't start
Honestly, if a simple calculator app can't even be properly cross-platform, what chance do we have?
ps: This would not be an issue in Flash!
I disabled Java in my browser long ago. I got tired of my computer locking up for 10-15 seconds while Java loaded up. Plus the only time my anti-virus did find something it was from Java. I remember Applets were cool when they finally launched, but Flash and JavaScript have done everything they could do, and what they couldnt replace PHP and some library have pretty much covered.
Not just first class functions, but first class functions within a mainstream language that can be dynamically and retroactively assigned as methods to all instances of a "class" as easily as:
Comon, your inner nerd has GOT to be squee'ing
(nt)
First, Java still doesn't have 64-bit applet support. I can run just about everything except browser plugins in a 64-bit Java.
Second, you don't need a 32-bit chroot. There are at least two alternatives. One: 32-bit browser with multilib. In Gentoo, you just emerge firefox-bin -- haven't tried in Ubuntu, because I like method two: nspluginwrapper. 32-bit plugin, 64-bit browser.
I don't hate the idea of this done right, but to me, this done right would either involve re-inventing the entire Internet (rather than patching things together), or simply using existing standards: Embedded mpeg for video (playable with Windows Media Player, QuickTime, mplayer, whatever, all of which come standard everywhere), SVG for vector graphics, and JavaScript for the logic. If you don't like HTML+SVG, you could use Gecko/XUL, although I'll hate you because it won't work in Konqueror/Safari or Opera. (Firefox is getting bloated now -- remember when it was the answer to Mozilla's bloat?)
This just seems ugly, hackish, and unoriginal.
Don't thank God, thank a doctor!
Thank You!!
I was just about to say all those things until I read your comment. JavaScript is actually quite nice once you actually learn it beyond using alert.
Check out http://javascript.crockford.com/javascript.html for info on why JavaScript is so misunderstood.
as in GPL2...
Can Flash do that?
---- You know how some doctors have the Messiah complex - they need to save the world? You've got the "Rubik's" complex
Hellooooo everyone, the issue is not that historically the JVM takes forever to load or that Flash can be annoying. The key trend is that AJAX/Html are hitting a limit, which leads to all this recent energy about Flash/Flex as a better way to construct rich UIs, witness Microsoft's Silverlight.
... well gee it seems historically this has led the winning vendor treat us all like crap. That's a real bummer when you have this expensive time investment in your website, but it's locked in to some vendor's intellectual property. The only other open rich alternative -- SVG + Javascript -- appears a bit dead.
... that would be awesome. Even if the technology is just ok, the openness would make it worthwhile. Just think ... it could work properly on Linux and phones and what have you. This is very much like what happened with HTML originally. Just an ok spec, but the openness catalyzed all sorts of growth and competition.
Now both Flash and Silverlight are totally proprietary. That's a huge problem. If one of them were to "win" and get a zillion developers
So what's neat about this announcement, is that it's a Flash workalike that's OPEN SOURCE. If it were to "win"
Another way this could work out is that it bluffs Adobe into opening up Flash, which I figure would be just as good an outcome. The key is to not be stuck developing your expensive web app, but with some vendor controlling the underlying technology.
Well, if they do a decent job at this, in the next version, once they have the bugs out, they could strongarm the mozilla organization into including it in the firefox download. They could muscle them by, for instance, paying them.
That would go a long way toward maiking this idea fly.
Internetnews is reporting on Sun's introduction of JavaFX at JavaOne today. Looks like a combination Applet, Flash, Javascript, and AJAX with a friendly programming interface. Does this really spell the end of AJAX?
.NET), best dev tools (Visual Studio), uses existing .NET experience.
Please don't insult our intelligence. So far it doesn't look like it spells the end of anything, except tha fact Sun hasn't learned anything yet about doing business in that area.
Flash had success early on basically because it was very small, very fast, and had the top tools on the market (the Flash IDE). Truth is, that sometimes the classical sentence reverses, and we're as good as the tools we use.
These tools, and early on Flash almost didn't have overlap with the things people used HTML/JS for. So there was a set of distinct reasons where you wanna go Flash and that's it.
Do you imagine JoeCartoons.com if the guy had to code his toons in Eclipse? All the inspiring experimental and artsy sites, "experience" movie and games sites.
Silverlight has its distinct feature in better video experience, and a great runtime that supports theoretically any language on the planet as long as you write the compiler for it (and the existing subset if quite impressive already).
Granted, it's not quite distinct, as the Flash products have evolved tremendously in the meantime.
So, Adobe:
Has open source language machine (that will be part of Firefox 3), Flash CS3 for creative minds / animators / experimentators. It has Illustrator CS3 and Photoshop CS3 integration for designers and illustrators. It has Flex for developers (which is going to be opensource within a few months). It has tight workflow integration with its audio/video toolsets for delivering great video on the web.
Early market killer feature: animation and rich expressiveness (current killer feature, widespread use and packs lots of useful features in a light runtime).
Flash has 98% installed base.
Microsoft:
Has open sourced the DLR, and there's an open source implementation of the CLR in Mono. It has Microsoft Expression Studio for creative minds / animators / experimentators, and illutrators/designers. It has Visual Studio for developers (which has a free version as Visual Studio Express). It has tight integration with Windows Media and a cheap way to stream high quality videos over the internet with a small investment.
Early market killer feature: easy to deploy HQ video, hot runtime (CLR of
Silverlight has the support of major companies in the field, and Microsoft is expected to utilize its windows monopoly (Windows Updates) and throw a lot of marketing money to quickly increase its installed plugin base.
Sun:
Has open sourced their engine and have a myriad of development tools that overlap each other in terms of where they sit in the market. Nothing for animation, designers, illustrators, experiementators. Basically designers are left out in the cold.
No partner announcements, and if JavaFX requires the full JRE it means a slow and clunky experience. If it's a new plugin means 0% market coverage and no money to burn for marketing and partnerships to improve on that. No easy to use integrated video toolsets, no light cross-platform, skinnable components that provide functional and rich experience.
And no trust that Sun can have success after too many failed attempts in the area.
Early market killer features: ??? ("kinda better than JS" ?)
What on Earth is Sun trying to accomplish?
Proprietary solutions and vendor lock-in are also dead ends.
I'm not so sure. A couple tiny startups called Adobe and Microsoft seem to be doing pretty well with that strategy.
Wait time is hard because most of us are now using broadband of some type but there are always a few people still using dial-up or something in-between, such as connecting over the cell phone network. I generally try to keep the first load time down by turning on compression in my web server, sometime running Javascript & CSS through whitespace/comment strippers, and delaying as much of my Javascript and CSS from downloading until after the page has finished loading as possible. After that, I try to keep things low by supporting caching of my CSS, JS, and images and keeping my HTML reasonably clean and simple. Still you'll always have trade-offs between download speed and functionality.
I don't know that we need a replacement for HTML/JS/CSS so much as we need an upgrade. Javascript Behaviors should be part of the JS standard and not require the downloading of an extra 50Kb of code. Common libraries should be enabled to cache in the browser and be used with multiple websites more easily. All browsers should support sending Javascript and CSS compressed. Stuff like that.
I can't say I've experienced any flakiness with GMail, Google Maps, and other major AJAX apps I've used. Certainly no more than I've exprienced with Flash or Java apps or even a lot of desktop apps. The flakiness usually comes with poorly designed and tested stuff on smaller sites. I usually test my stuff in Firefox, Opera, Safari, IE6, and IE7 and sometimes it can be a pain to get everything working but I'd say 90% of my problems come from IE. This is an IE problem and not a problem with HTML/JS/CSS. Poorly designed and tested code will always be a problem with any language.
My code is typically pretty clean on the backend. The HTML, Javascript, and CSS is largely kept untangled and is easy to work with. I do wish this process would be made easier but again it's an incremental upgrade that is needed more than a total replacement. Communication with a backend server isn't overly complex or tangled either. The biggest issue is to not inline code your Javascript and CSS into your HTML and to make an effort to make sure important features will work without CSS or JS.
Generated code like ASP.NET and other tools produce can be useful but is as much trouble as not for some projects and really limits your ability to think outside the box. I think it's to early in the 'web 2.0' to be trying to solidify a standard of what we can and can't do.
Java, Flash, ActiveX, etc have all kind of sucked due to thir bulk, security issues, installation needs, inappropiate design for rapid application dev, etc. I have used all of them sometimes, when needed, but don't feel they are the right direction to go. JavaFX, to me, sounds like more of the same - gee whiz features with the core issues poorly thought out and worked out. Is JavaFX going to be based on Java? That alone is enough to keep me from using it from most projects. Java syntax is not appropiate for RAD and often web development has to be able to respond quickly to new needs, found bugs, etc.
I wouldn't mind a new scripting language if it would solve these problems, not create new problems, and would work with all current major browsers (Firefox, Safari, Opera, and IE) without using plug-ins or similar bad ideas. I'd probably suggest modifying Python to have built-in DOM support and to allow assigning scripting to HTML/XML using CSS-like behaviors. Possibly making XUL + friends into a real standard across browsers. I'd also vote for forcing SVG and Canvas support in all current browsers as well as adding some built-in audio/video capabilities to the browsers. OBJECT and EMBED are a broken concept and plug-ins suck.
Just making IE follow the actual standards for Javascript + DOM implementation would be a huge step forward in making developer's lifes easier. They have no excuse not to since the implementations used by Firefox and Safari are freely usable.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
Two words: Java Kernel
0 6/09/index.html
http://weblogs.java.net/blog/enicholas/archive/20
This is *the* technology that will bring Java to the desktop. The community should let Sun know if they value this technology and now that the JDK is open-source you can help make it a reality!
Um, I might be if I had never used Python, but I have, so I'm not. In Python, you don't have to waste time defining all that junk. It's all already built in.
a = [1, 2, 3]
for item in a: print item
squared_sum = sum(item*item for item in a)
f = lambda x: (x*x + x - 3)%2
list_of_f_ed_things = [f(item) for item in a]
Seriously, this stuff doesn't need to be hard.
JAJAX?
Consider yourself spoken to.
Java 140MB vs Silverlight 4MB hmm tough joice
No, we're moving from one language full of odd but well understood little quirks that's only used for browser-side programming, to a new language full of unknown odd little quirks that's only used for browser-side programming.
.<set name=to/> .<refresh/> .<change_name to=newname/>/> />
/>
Why do we have to keep learning new languages for such special purposes? Think about it: the contemporary programmer, to build a unified web app, has to learn:
1. Java (for server side functional programming),
2. JSP (for server side templating),
3. JDBC (to connect to the database),
4. SQL (to deal with the database),
5. HTML (to display content),
6. CSS (to style content), and
7. Javascript (to make content dynamic)
JavaFX is just going to replace one of those 7 things the programmer has to know with a different one.
I've been doing most of my work lately in Water. It lets me program in a uniform, server-side language and it takes care of the browser-side interactivity for me. Let's say, I want to make an AJAX enabled web application in which there is an object class for a person, and I want to use AJAX to be able to change their name. And, I want all person objects to have a blue background. Here's the *complete* application in Water:
<class biz.person name="John Doe"=string style=<style background-color=color.of.blue/> >
<method change_name to=req=string>
</method>
<method htm_inst>
<span>
Name:
<input type="text" id="newname" value=.name/>
<input type="button" value="Change" onclick=.<h2o
</span>
</method>
</class>
There we go. It's MVC (the model is the class contract in the first line, the view is method htm_inst, the controller is method change_name), it handles all the scripting for me, and I only have to write the server side code in *one* language. (Yes, it looks like I put HTML in there. I didn't. I put water objects that *look* like HTML in there.) So, then I make an instance, like this:
biz.<person name="Jane Doe"/>
Then I instantiate a web server:
<server root=wob port=8080/>
Then I actually open a browser to view the object:
<open_browser_window "http://localhost:8080/biz/person/of/0.htm"/>
Poof, done. If i want to persist the data I can:
<file "logical://user/my_data.cxs"/>.<set content=biz.person.of.0/>
and if I want to retrieve it I can:
<execute source=<file "logical://user/my_data.cxs"/>.content
Now, why should I want to learn seven different technologies/languages to build a web app when I could use one? (The fact that I already know and use those 7 languages/technologies is beside the point.)
I've seen the demos, and, besides the point that it takes some time to load the application *after* it asks me to download or open de jnlp file, AND then I have to answer to a question of whether I trust "Java Sun whatever" and I am superüber-shure to execute the application, the resulting application is not URL or web friendly.
e sla.jnlp" page and then click on the Performance tab and then click on the "Performance specs" subtab, instead of just givnig him the direct "http://download.java.net/general/openjfx/demos/te stla/perf_specs.html" URL...
Take as an example the Testla motors website, what if I wanted my father to see the Perfomance Specifications for the Tesla Roadster? I will have to tell him to go to the "http://download.java.net/general/openjfx/demos/t
That is something I have always hated about plugin-based web pages be it active-x, flash, Java or whatnot,.
Ubuntu is an African word meaning 'I can't configure Debian'
So please tell me where you're getting these figures from.
0 6/09/java_browser_ed.html
There is also the matter of Java Kernel being developed for Java7 which reduces the size even further: http://weblogs.java.net/blog/enicholas/archive/20
suffers from stupidities like not having its basic types (eg int) be objects.
What crack are you smoking? All java primitives have Object versions.
Objects are heavy. Primitives are fast. If you want an integer object, you use Integer instead of int. Or Char instead of char. Or Boolean instead of boolean. Etc. You have the choice with Java to pick the right tool for the job. If you don't need any of the object's methods and just want to do some fast arithmetic, use the primitives, otherwise use the object. Pretty friggin' simple. They're even named the same so you won't get confused.
This is Java Fundamentals 101, and you failed.
Let's face it, you just want believe that C# is Java clone but you really can't back it up. So you're pissed because I presented some counter-evidence.
It is has once already failed as an applet technology.
The real question is,
What has changed since then, that will make it a success now?
Otherwise wont we see the same outcome?
Essentially still have same user base, unless they've all been
trained in the virtues of the Java VM.
The only reason anyone in their right mind would use javascript today is because it is the only option. Personally, I'm hoping JavaFX has something more like Python's syntax i.e, easily understood by someone who does not owe their employment to the understanding of it.
There are many, many professionals that enjoy JavaScript, that are in their right minds. Your hope for the end of AJAX will not happen for many years.
-Stu
Much as I'd like to dislike them, you just gotta give it up for Microsoft providing IronPython/IronRuby support in SilverLight. So, instead of providing JRuby/Jython/Groovy APIs for their new technology, Sun decides to create a new frakkin' scripting language? Think this innovation might be DOA...
The security problem is that users end up disabling javascript, because allowing it is too insecure.
Programmatic friendlyness - Joel says it all here Personally, I've programmed in dozens of languages, and few are as flexible and enjoyable as Javascript
I enjoy writing python a lot more, and can do everything Joel talks about and more; I heard there was a mozilla project to add support for client-side python, but don't know what became of it. In any case, programming language will always be a matter of personal preference and the specific problem being solved, which makes a system which runs some standardised bytecode form which multiple languages can be compiled to - be that Java, .net, parrot or something else - far superior to one restricted to a single language, however good that language is.
I am trolling
You know .. about 2 years ago when I was still and colleague, me and a friend started to develop a web site that had a back end that used Java+PHP and JavaScript.
It's was really basic, my friend did this HTML editor(Java applet) and let's say somebody wanted to use a image we would query or do X procedure and the PHP script would return it in XML and wallaaaa JavaFX.
Sounds cool, can't wait to try some stuff around.
RUPERT! I TOLD YOU TO WATCH THE BAGS! You were looking at the boys again, WEREN'T YOU.
I quote:
"You know all that AJAX code you've been writing and tearing your hair out over as you attempt to get the JavaScript working in both Internet Explorer and Firefox? Yeah, that AJAX code"
No one I know working with Javascript struggles too much with cross-platform functionality nowadays, since they all use one of the many excellent libs that do all that work for you. Just try them out: Dojo, Mochikit, YUI, Rico, Protoype, etc, etc). Of course you still have to test and make sure it work, but then again, you always have to do that.
if (!signature) { throw std::runtime_error("No sig!"); }
>> Does this really spell the end of AJAX? I sincerely hope so. Me too!
There's no problem, just no value. Loading time is just dead time whether you're talking about Java or Flash.
WHY when I see Slashdot pages 1 to x at the top of a topic, and I click on page 2, I get page ONE ALL OVER AGAIN?
And sometimes page 3 and beyond behave the same way? At some point, I start getting new pages with new responses, but it's incredibly annoying to have to click on two or three pages to get PAST page one!
Are my settings fucked up, is it Firefox, what the hell is it? This happens on Windows, Linux, anything! Is this a known bug in Slash or what?
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
My point isn't that you have to define new methods
My point is that you can dynamically add new methods to core classes
Javascript 1.6 has built-in Array.forEach
This is simpler Javascript code, but doesn't demonstrate the features I was trying to demonstrate
no comment.
That article is misleading. It has nothing to do with AJAX,
a nguage.html
s t-impressions-suns-javafx-platform-for-rich-applic ation-development.html/ sun_javafx.cfm
and nothing to do with the Web.
It's basically JavaFX Script, a language for defining GUI's.
https://openjfx.dev.java.net/JavaFX_Programming_L
These are better articles:
http://arstechnica.com/news.ars/post/20070509-fir
http://weblogs.macromedia.com/jd/archives/2007/05
-- Mike
I didn't say that. I just said you don't have to use a chroot.
Also: It's for more than just the browser. In fact, most of us consider multilib to be a good thing. It means we can run all kinds of 32-bit apps, even open source ones (wine).
I actually thought it was a clever hack, but that's irrelevant. I am not saying that Flash is better. I'm actually saying that Java is only really marginally better -- notice how, despite being open source, there still isn't a 64-bit Java plugin.,/p>
So rather than try to find out the reason, you're suddently going to assume that Java is our best bet?
Why???
I don't, as a matter of fact. But I also think that among the open technologies we have, Java is just about the worst one we could use.
Don't thank God, thank a doctor!
How does Sun (or anyone) even begin to believe that a solution that requires applications be written in Java will displace AJAX techniques which can be code with any language? Only the true Java-faithful will swallow that line.
That's a pretty big obstacle to overcome.
function z(a,b) {
var x = a + b;
var y = a - b;
return sq(x) / sq (y);
}
function sq(n) {return n * n;}
function main() {
return z(5, 10);
{~:~}+nt9
}