May 7, 2007 9:01 PM PDT

Sun tries again with consumer-flavored Java

Sun Microsystems on Tuesday plans to introduce a friendlier way to write Java applications for consumer devices, an attempt to derive more profit from Java and stake a greater claim in the next generation of Web applications.

At the JavaOne conference in San Francisco, Sun's executive vice president of software Rich Green, is expected to unveil JavaFX Script, a simpler scripting language for writing applications on Java-equipped desktop PCs and handheld devices.

To address compatibility problems with mobile phones, Green is scheduled to detail JavaFX Mobile, a package aimed at mobile-handset makers designed to make Java applications more portable across mobile phones.

Sun executives also plan to release the last portions of Java it said it would open-source and outline the governance model for open-source projects around Java.

With JavaFX Script, Sun is trying to revive the use of Java on small devices, like set-top boxes, and in PC Web browsers, which the language was originally designed to do in the 1990s.

"This is Java for consumers, for individuals--not just enterprises, not just corporate. But experiences people at an individual level want to experience will be powered by Java," said Green. "The scripting language we are releasing will dramatically enhance the number of people who can create content for this platform."

JavaFX Script is a scripting language that's designed to be more productive and easier than Java, but also closely integrated with it. Developers can use JavaFX Script and write applications that run on Java-equipped PCs or mobile phones.

Rich Green
Rich Green

With it, Sun intends to broaden the audience of people writing Java-compatible applications and capitalize on growing interest in so-called rich Internet applications, or Web-connected programs with an interactive user interface.

In the process, Sun intends to "attack" the notion that it is being outpaced in the field of rich Internet applications, Green said. Microsoft, Adobe and a handful of smaller firms have been more prominent in discussions over these interactive, Net-connected applications than Java vendors, said RedMonk analyst Stephen O'Grady.

Sun intends to release the source code of JavaFX Script and to let other companies create Web authoring tools using it. Sun, too, intends to create scripting tools for content authoring, Green said.

Java's sweet spot?
As Web developers create more sophisticated online applications, from media distribution sites to desktop-style programs, the rich Internet application area has become one of the hottest in software development.

Ajax-style programming, a technique that often relies on the scripting language JavaScript, has become popular for creating the user interface for many Web sites, such as mapping services or Web 2.0 social-networking applications.

Adobe Systems is investing heavily in its Flash Player, which is widely used for media-rich user interface development, and in its associated Flex development tool.

Microsoft made a forceful entrance into the rich Internet application field last week with the beta release of its Silverlight browser plug-in and suite of development tools. In addition, a handful of smaller companies, including Laszlo Systems and Nexaweb, specialize in programs for creating these rich Internet applications.

Java has a rich "ecosystem" of products and vendors but its use for front-end design has been stymied by compatibility and performance problems, said Richard Monson-Haefel, an analyst at the Burton Group.

"It should be the sweet spot for Java. It's kind of tragic that Sun screwed up so badly with the applet performance and browser incompatibility in the late 1990s," he said. "JavaFX Script has an opportunity to redeem themselves."

Click here to Play

Video: Sun launches new scripting language
At the JavaOne conference in San Francisco, Sun's executive vice president of software Rich Green, demos JavaFX Script.

There are already 5 million programmers who work with Java Platform, Standard Edition (Java SE) for building Java programs on desktops, according to Sun. A shrinked-down version of Java, called Java Platform, Mobile Edition (Java ME), is already installed on 2 billion phones worldwide, said Green.

Yet despite its broad reach on consumer devices, Java has made an equally large mark on server software makers, where Java-based back-end software has generated billions of dollars for IBM, Oracle, BEA Systems, Sun and others.

With JavaFX Script and JavaFX Mobile, Sun and other Java licensees will have a much more attractive offering for rich Internet applications, Monson-Haefel said.

Scripting, or dynamic, languages have become more popular for mainstream application development, particularly on the Web in the past two years. Many Web site builders or corporate developers have chosen scripting languages as a lightweight alternative to Java or Microsoft's .Net.

The advantage Java-connected scripting language has over others, such as Ruby, PHP or Python, is that Java programmers can easily transfer their skills and knowledge. Moving from Java to another language like JavaScript, which is often used for Ajax applications, "is like moving to another foreign land," Monson-Haefel said.

Applications written with JavaFX Script can run on the Java Runtime Environment, software that's installed on millions of PCs and regularly updated. Like Adobe's Apollo, developers can use the same tools to write Web browser-based applications or cross-platform desktop applications, Green said.

The JavaFX Mobile is technology that Sun gained through the acquisition of the intellectual property assets of SavaJe, a start-up that created software for writing uniform applications on Java phones.

Although installed widely, differences in Java ME implementations cause compatibility problems. The JavaFX Mobile software, aimed at operators and phone handset makers, will smooth over those differences and provide a set of phone applications for common tasks, Green said.

"This is the realization of Java SE spanning all consumer devices and fulfilling the mantra of 'write once, run anywhere,'" Green said. "We really had to take a step back and take a fresh view of how to achieve this broad access to the platform for developers."

RedMonk's O'Grady said the introduction of a Java-linked scripting language won't necessarily cause people to switch from Ruby, Python or PHP. Rather, JavaFX Script will appeal mostly to people who already work with Java.

"It's going to be very, very difficult if you're going to try to lure people from technology that is already working for them," he said. "None (of these technologies) goes away. The question is how do they get along better and how do you bring strength of the respective platforms to others?"

See more CNET content tagged:
Java, Sun Microsystems Inc., scripting language, Java application, development tool

22 comments

Join the conversation!
Add your comment
Maybe Java could be a bit more curvey friendly.
Yea curvey vision.
You know that Visual system Nigeria/Dila lama etc... would design given enough strong economics.
Posted by wildchild_plasma_gyro (296 comments )
Reply Link Flag
Still waiting...
...for write once, run anywhere.

After years of suffering through performance and resource issues, specific JVM requirements leading to application incompatibilities, a continuing dearth of development tools that do little more that try to keep up with MS's IDE, I have given up hope.

Now, they want to add even more versions?! That will have their own specific requirements and overhead?!

I go back to, what ever happened to write once run anywhere?
Posted by adlyb1 (123 comments )
Reply Link Flag
Try Python instead
<a href="http://www.python.org/">Python</a> is used by NASA, Google, Yahoo, and many other big name companies over Java. Python byte code can run under any Python interpreter with the same version number as the one it was compiled under.
Posted by Orion Blastar (590 comments )
Link Flag
Scalability.
We may actually be getting close to mobile device scalability. As hand held internet devices get even more popular, web developers need a tool like this to write one application to run on multiple devices.

Will we get browser support, will it be a plug-in?
Posted by lewissalem (167 comments )
Reply Link Flag
PHP , easier, write once run anywhere
I am a java certified programmer and it blows my mind when I see programmers wasting so much time with java when the same thing can be done is PHP. PHP is flexible and extremely easy to code. The only reason to keep java complexity is job security.
PHP has the backing of IBM, Oracle, Zend and many others. Java is a terrible language that was never design for the web (JSP and Servlets anyone??). Everyone agrees that Java development takes longer but they keep using it. Talk about self punishment.
Posted by yacahuma (530 comments )
Reply Link Flag
PHP / Java
You COMPLETELY miss the point.

This is Java on the client, not the server. You can't run php apps on the client. This is about developing rich applications that are VERY difficult or impossible to do with javascript (ajax) and server-side code.
Posted by waltsjc (19 comments )
Link Flag
php is a disgrace
It is simple, flexible and inherently unsecure. It is made worse by its simplicity, people who have no business programming use it and cause all sorts of vulnerabilities.

I would say that certifications should be required to program, especially network apps, but I have seen to many people with certifications who are very clueless, especially Sun certifications, not that I am implying anything about you of course.

I agree with you about Servlets and JSP, it is beyond awful, but PHP is not the answer. Ruby on Rails is a better solution.
Posted by MSSlayer (1074 comments )
Link Flag
Java or PHP
I have written a few Web apps in Java and also written in PHP several object oriented frameworks with more than 300 application developed using them. I admit that PHP is a quickie language but it is the second worst language I have used so far Perl having position one.

Yes, you can develop good stuff using PHP but I have to read, correct and rewrite code written by nonprofessionals that say PHP is a lovely tool. Yes it is - if you are a professional. For a layman it is a horrible weapon that makes them think that they can create complex appliations.

After five years of real object oriented PHP and true Model-View-Controller architecture I am getting fed up with this toy language. Java is so much superior in every respect, including prototyping - provided you are a programmer and not a hobbyist.

Yes, there are PHP monsters like SugarCRM has such bad performance that it cannot be run in a normal web server. Tested, tuned and rejected, been there. On the other hand there are some very good object oriented PHP frameworks like Smarty which most PHP Talebans however know nothing about but keep on creating their horrible mixtures of bad code inside HTML and vice versa.

As for some other comments: How on earth can PHP or Python add something to the client side where the new concept by Sun has been directed. There are no browsers with PHP or Python / Ruby etc. support. We are mostly limited to Javascript (or ECMAScript actually), Flash and in most cases a Java virtual machine.

As for other uses of Java: Eclipse is getting more and more footprint at the development end. Zend, Borland and IBM are moving their deveopment platforms to Eclipse. What is Eclipse written in? Java.
Posted by veekoo (1 comment )
Link Flag
I choose Python over Java
because <a href="http://www.python.org/">Python</a> has better math support and also has a virtual machine that can run anywhere. Even older platforms that Java does not support. Like the Amiga platform, or the old Classic MacOS platform.
Posted by Orion Blastar (590 comments )
Reply Link Flag
Agree
Python is a terrific language, once you get used to the indenting over use of }.

I love how it handles integer overflows(not only a mathematical issue, but a security issue) by just giving you more memory, much like a resizable array. Java ignores the problem entirely, with no real mechanism to even be able to detect an integer overflow.

However, can python be embedded in a browser like Applets or JavaScript?
Posted by MSSlayer (1074 comments )
Link Flag
AJAX/Flash in front; PHP in back
Subject says it all. The Java API makers got an "A" from the computer science professors. Java sits well with consulting firms and corporations: the former want to bill hours; the latter don't want anything finished lest they be expected to support it. Offshore programmers seem to love it.

But "real" programmers -- people who create software that others actually use -- have moved on to other technologies that may not be as elegant but work a whole lot better.
Posted by michaelo1966 (159 comments )
Reply Link Flag
Didn't they just come out w/ a scripting language called Groovy?
Didn't they just add Ruby compatibility to Java? Didn't they just come out w/ a scripting language for Java called Goovy? Why are they making a new one?
Posted by Logomachist (4 comments )
Reply Link Flag
 

Join the conversation

Add your comment

The posting of advertisements, profanity, or personal attacks is prohibited. Click here to review our Terms of Use.

What's Hot

Discussions

Shared

RSS Feeds

Add headlines from CNET News to your homepage or feedreader.