| By Yakov Fain | Article Rating: |
|
| August 10, 2010 10:42 PM EDT | Reads: |
6,005 |
Fifteen years ago there was no iPhone and Android. Web browsers were hot. Netscape market share was over 90% - they didn't have competition.The situation changed when Microsoft has introduces Internet Explorer (me too, me too). Back in 1998, there was an infamous law suite between Microsoft and Sun Microsystems – the former started quietly introducing their own class libraries to Java breaking the write-once-run-anywhere idea of Sun that back then seemed to be achievable. Sun won that $10B law suite. But as the saying goes, they won the battle but lost the war.
Angry Microsoft refused to include upgrades to JVM that came with Internet Explorer, which seriously hurt applets popularity – the end user couldn’t just open a Web page to see the applet that required, say 1.3 version of JVM. They’d need to first download the proper version of JVM, and only then the applets that were written with the assumption that JVM 1.3 was available would work. The process of downloading the right JVM Plug-in was a multi-step process, and a truck driver from Alabama wouldn’t be able to go through it.
Update. Two days after I published this blog, the news broke that Oracle decided to sue Google for the "wrong use" of Java on Android platform. Does Larry Ellison have short memories? Sun literally killed Java on the desktop because of that old law suit with Microsoft. In the worst case scenario, if Oracle will win this law suit, Google may do the same thing as Apple did on the iOS and ban Java from this very promising Android platform. Given the fact that five years from now large portion of the applications will consist of a mobile device communicating with the cloud, Java will be seriously damaged. Imagine how many top-notch developers can be added to Java and JavaFX engineering teams at Oracle if the money spent on lawyers would be saved? Oracle, please stop!
High penetration of the required runtime environment and the ease of its upgrade are the crucial moments for any Web-based technology. Adobe Flash Player shines in this area today (sorry, Steve). Flash Player is also a virtual machine with a small memory footprint (1.5Mb), and its installation takes under 20 seconds after one button click. For years, the size of the JVM Plug-in was about 16Mb and install was complicated for a non-programmer, and (the rumor has it) – it’s a lot smaller now.
This situation has changed after the release of Java 6 update 10, which includes so called next-generation Java Plug-in. Now applets don’t run in the JVM packaged with the Web browser, but run in a separate JVM launched by the Java Plug-in. The applet still appears in the Web browser’s window, but now it doesn’t depend on the goodwill of the browser vendor to include the latest Plug-in. You can read more about this Java Plug-in at https://jdk6.dev.java.net/plugin2.
The other major change introduced in the next-generation Java Plug-In is ability to launch Java applets directly from JNLP (Java Network Launch Protocol) files, which in the previous releases were used only in Java Web Start technology that allowed local deployment of the applications over the network. As of Java 10.6.10 you can use the JNLP meta descriptors to launch applets too. JNLP support is described in details at http://www.oracle.com/technetwork/java/javase/index-142562.html.
Earlier versions of HTML standard included the tag <applet> to incorporate Java applets into HTML page. But as of HTML 4.01 this tag has been deprecated and you should use the tags <object> for users who like Internet Explorer or <embed> for other Web browsers. But Oracle, the company behind Java, recommends using <applet> for Web pages accessed through the Internet and <object> or <embed> for intranet-based Web sites. The main reason being that Web browser vendors are infamous for being inconsistent of implementing HTML standards, and it’s safer to use tried and true <applet> tag to get predictable look and feel of the Web pages that host Java applets. But intranet is a more controlled environment. You can read about the differences of embedding applets with these tags at http://download.oracle.com/javase/6/docs/technotes/guides/plugin/developer_guide/using_tags.html. When young and old kids (sorry Steve) tell that HTML 5 will change the world, it's funny.
The deployment options for applets have been extended as of release of Java 6 update 10. To learn all the options of applet deployment in depth, refer to the Oracle document titled “Java Rich Internet Applications Deployment Advice” available at http://download.oracle.com/javase/6/docs/technotes/guides/jweb/deployment_advice.html.
What’s the next step in applet’s evolution? You’ll be creating UI for the Web-based applications with a relatively new language called JavaFX. In a month, I'll be trying to attend every JavaFX technical session at JavaOne conference to see if it'll become a real competition to Adobe Flex and Microsoft Silverlight. By the way, anyone heard any noise about Apple not letting JVM on the iPhone? Neither did I. Do you know why?
If you're not into Java applets, consider attending our Third Annual Enterprise Flex Symposium in New York City. It’s a small event where attendees and presenters will talk turkey about Adobe Flex.
Read the original blog entry...
Published August 10, 2010 Reads 6,005
Copyright © 2010 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Yakov Fain
Yakov Fain is a Managing Director of Farata Systems, consulting, training and product company. He has authored several Java books, dozens of technical articles. SYS-CON Books released his latest co-authored book , Rich Internet Applications with Adobe Flex and Java: Secrets of the Masters in Spring 2007. Sun Microsystems has nominated and awarded Yakov with the title Java Champion. He leads the Princeton Java Users Group. He is an Adobe Certified Flex Instructor. Yakov co-athored the O'Reilly book "Enterprise Application Development with Flex". He twits at twitter.com/yfain.
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Book Review: Sams Teach Yourself Java in 24 Hours
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?
















