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.
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
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.
..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 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
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
Really, Sun is pulling a fast one, JavaFX competes with Flash and Silverlight, a graphical environment for devices, with web browsers as a bonus. Security concerns and downloadable plugins are just a smokescreen to make the product look bigger than it is. Compete against Ajax for the browser? Noway, but it is an attractive solution for hand held devices.
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
"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.
"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
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
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.
Since when was AJAX frustrating, as TFA claims? People invented such wonderful libraries as prototypejs for a reason.
I've still yet to see a good open-source AJAX edit-grid (spreadsheet-like) widget and collapsable tree widget. They've all sucked in various ways.
Table-ized A.I.
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.
I'm no expert, but I've heard tell that security is a process, not a product.
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
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!
I'm no expert, but I've heard tell that security is a process, not a product.
You're arguing out of the dictionary. A product is a product of a process. If the product is insecure we call a spade a spade; we don't say that Windows for example is "neither secure nor insecure but a product of an insecure process". We can't prove that any product is secure, but we can easily prove that one is insecure. All you need is one vulnerability. And in the case of software, the product itself starts a process, which may be as secure or insecure as the larger development process that created it, so your argument is especially unfortunate even at the dictionary level.
you are only as secure as your underlying toolset. If you use a bloated framework so that you can do neat widgets, you increase the probability that any one component is insecure or unstable. JSON in AJAX and a couple other things are worrying existing developers. Most people are using SOME sort of AJAX framework that uses at least some of these faulty techniques (because they are mostly hacks).
-Michael
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.
Interesting post about the difficulties of the developing for the web. However, you keep giving examples why javascript suck where in reality all the examples you gave are about the API and not the language itself.
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!
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!"); }
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
}