|
July 2006
July 31, 2006
NetBeans, BlueJ, and the Mac
NetBeans continues to grow as an excellent Java development environment. New releases, guidelines, and vendor integration allow you to do more with less.
With the release of NetBeans 5.5, Beta 2, Sun has gotten closer to eliminating some of the Java SE and EE version confusion that I wrote about in a previous blog entry. Version 5.5 adds support for Java EE 5 and Sun Java System Application Server PE 9, supports JAX-WS 2.0 and EJB 3.0, and makes it easier to build Ajax-enabled web applications.
NetBeans BlueJ Edition
Sun has been working to enable BlueJ, the Java learning environment from the University of Kent, to integrate with NetBeans. NetBeans 5.0, BlueJ Edition, is aimed at beginning programmers and Java developers, with special interfaces that make it easier to learn object-oriented programming. By integrating BlueJ with NetBeans, beginning Java developers will find it easier to go from beginner to pro, using the same sets of tools they learned with. NetBeans 5.0 BlueJ Edition is available for Windows, Linux, Solaris, and Mac OS X.
Max OS X Java GUI Development
NetBeans 5.0 and the user interface builder, Matisse, allow you to build cross-platform Java UI applications (i.e. Swing) quickly and easily. But what about on the Mac? The NetBeans team has worked to ensure that the latest releases (both 5.0 and 5.5) run properly on the Mac. Still, building a Java application that looks and feels right on a Mac can be a bit challenging. However, Apple has released a set of user interface design guidelines to help ensure that your Java GUI applications behave properly on the latest Macs. All of the guidelines are sound ones in general, whether or not you plan to build your application to run a Mac.
Posted by Eric Bruno at 07:59 AM Permalink
|
July 21, 2006
Java and Windows
I’ve recently taken interest in the latest Macs, and OS X, as a potential development environment.
My first paying job as a software developer involved writing Windows applications in both C and C++. I did this for years, working with the Windows 3.1 SDK, then Win32, COM, and a little COM+. But when I discovered Java, I fell in love with the power and freedom it gave me. I found that I was more productive, I could solve a wider range of problems with it, and I could support more of my customers’ platforms.
However, I have to be honest; I still prefer Windows XP as a Java development platform over Linux as an alternate platform. I find my hyper-threading Pentium 4 running Windows XP to be a very fast, friendly, and stable environment for my development and writing efforts. Keep in mind, though, for production Java deployments, I always insist on Solaris or Linux servers.
Nevertheless, I’ve recently taken interest in the latest Macs, and OS X, as a potential development environment. There are things that I don’t like about Windows, and I’ve been thinking more and more about getting a Mac. I’ve been wondering what it must be like to use a Mac for Java development. Will I be able to run my favorite Java IDE, or application server, without any hurdles? What is the performance like? Will I be able to play freecell or solitaire when I’m feeling lazy?
Then I read an interesting article on theserverside.com about a Java developer who benchmarked a Java quicksort application on various platforms. He benchmarked a MacBook, a MacBook Pro, a G5 Mac Server, an iMac, an AMD-based Linux box, a Dell Inspiron running Windows XP, and a MacBook Pro running Windows XP. Wouldn’t you know that, overall, the MacBook Pro running Windows XP edged out the other platforms, including the very same MacBook Pro running the latest OS X.
Interesting. Maybe my comfort with Windows and my desire to purchase a Mac can be combined into to one killer Java development platform. What’s your opinion when it comes to Java development? Which development platform do you prefer: Windows, Linux, or Mac? Use the link at then end of this blog to reply, and tell me about your experience.
Posted by Eric Bruno at 04:27 AM Permalink
|
July 19, 2006
The XTT Framework
XTT is a framework from InsiTech to build web-enabled applications with rich user interfaces in Java.
Using Java Swing and Java Web Start, XTT allows you to build thin, dynamic, Ajax-like applications that can be launched from a browser. With its framework and plug-ins for both Eclipse and NetBeans, XTT promises a quick return on investment (ROI) from your development and prototyping efforts. Because XTT is a Java framework both on the client and the server (where it integrates with J2EE application servers), you get a rich user experience but retain platform independence.
XTT based applications offer the following features to the end user:
• Internet style deployment
• Stand Alone (offline) capability
• Drag and drop functionality
• Streaming of data in the background
• True rich controls (tabbed panes, trees, tree-tables, calendars, spinners, sliders, progress bars, filters, etc.) - not HTML approximations
• Sorting and filtering of data directly on the client
• Multiple windows open at the same time in normal or MDI mode
• Master-detail functionality and transitions between visual forms.
• Input validation and error handling (can be done with client or server side code)
• Full internationalization of labels, numbers, currency, dates, etc.
• Keyboard enabled forms navigation (function keys)
I tried it out and it seems to work well. To see it for yourself, run the stock trader demo available on InsiTech’s web site.
Posted by Eric Bruno at 09:58 AM Permalink
|
July 17, 2006
Java IDE Confusion
Lately, I’m a little confused regarding the numerous Java IDE offerings from Sun. Should I use Java Studio Creator, Java Studio Enterprise, NetBeans 5.0, or NetBeans 5.5?
NetBeans 5.5 is beta so maybe that one is easy to eliminate. Not so fast! If you want to work with the latest Sun Java Application Server, which is at version 9 and is included as part of Java EE 5 (the latest enterprise Java offering), you’ll get the best integration from NetBeans 5.5. This forces Java developers who use NetBeans to make a tough decision: Use NetBeans 5.0 and an older version of Java EE, or use a beta (and potentially troublesome) version of NetBeans 5.5 to get the latest Java EE support?
Let’s turn to Java Studio Enterprise, which is based on NetBeans 5.0, and supports the Sun Java Application Server v8.2. Once again, this is not the latest version of the application server that comes with Java EE 5. Therefore, if you want to use Java Studio Enterprise for its integrated development, collaboration, and deployment tools with the latest version of enterprise Java, it appears that you’ll have to wait.
Java Studio Creator is an excellent tool to use when working on web-based application UIs that use JSP, JSF, and Ajax. It, too, installs the Sun Java Application Server, but it installs version 8.2 – again, not the latest that comes with the Java EE 5 offering. Besides that, it’s built on NetBeans 4.1, which itself is a full version behind the latest.
The mix of versions of NetBeans and the Sun Java Application Server that gets installed with each of Sun’s Java IDE platforms seems a little confusing to me. Maybe it just doesn’t matter, so long as you can develop your application and deploy it to your own application server later on? It seems to me, however, that having a consistent set of tools and deployment options is critical to avoid confusion within the Java community. Although, Sun has announced plans to combine some of the tools into a unified offering, will it be too late when it finally happens? Based on your own experiences, what would you like to see Sun do with its Java development tools? You can post your opinion as a reply to this blog via the link below.
yGuard Your Code
yGuard v2.0, a Java code obfuscation tool, was released on July 14. yGuard is a free Java bytecode obfuscator and shrinker that improves your software deployment by prohibiting unwanted access to your source code and drastically shrinking the processed Jar files. Highly configurable and accessible as an Ant task, yGuard is XML-driven, and can even be used to generate software patches. Read more about yGuard, or download the latest code, at http://www.yworks.com/en/products_yguard_about.htm.
Posted by Eric Bruno at 09:26 AM Permalink
|
July 13, 2006
Java Web Start for Application Deployment
Sure, Java makes it easy to develop great applications (such as cool games) for the desktop. But a big problem awaits you out in the real world of deployment.
The big problem Java application developers face when they release their applications is determining if the right version of Java is installed. It may not be installed at all. Thankfully, Sun has thought of this, and has provided a solution: Java Web Start. The Java Web Start software provides a flexible and robust deployment solution for Java applications, and is based on the Java Network Launching Protocol and API.
Java Web Start works with any browser and Web server, and will automatically download and install the correct version of the Java Runtime Environment (JRE), and other Java APIs, on the user’s desktop before downloading your application. Additionally, Java Web Start ensures that each application runs in its own JVM, sandboxing and protecting it from other Java and non-Java applications.
To use Java Web Start, you must include an ActiveX control on the web page where users can download your application. The ActiveX control launches Java Web Start, which takes control from there. For non-IE browsers, the same thing can be accomplished via some clever JavaScript. The end result is that Java Web Start will work consistently across IE and non-IE browsers on various platforms such as Windows, Linux, Solaris, and Mac OS.
For more information on the Java Web Start, along with examples on how to use it with your application, go to http://java.sun.com/products/javawebstart/overview.html.
For more information on the Java Web Start ActiveX control (for IE) and JavaScript (for non-IE browsers), go to http://java.sun.com/developer/technicalArticles/JavaLP/javawebstart/AutoInstall.html.
Posted by Eric Bruno at 08:17 AM Permalink
|
July 10, 2006
Before I get into what’s new with Java, I have a quick question for you.
First, let me say that Google is a great tool for finding information. I use it and Yahoo! all the time to learn, research, explore, and so on. But if Google (and other applicable search sites) are so great, why have so many people, including myself, begun to use Wikipedia.org as their starting point for information retrieval?
I know why I use it: it provides a nice landing page of information when I do a search--a predictable, useful, safe, landing page. I don’t get a list of results for my request, as I do with Google, where I have to decide further which one to click on, and which ones to just plain avoid. Instead, I get one commonly formatted result with lots of information on the subject at hand; including pictures (most of the time), links to other web sites for further reading, and links to related Wikipedia entries. Take a look at the Wikipedia entry for Java, for example. It’s a great starting point for anyone who wants to begin learning about Java.
Furthermore, the breadth of topics covered, and the depth of information is pretty good. Yes, I know that the entries are susceptible to error and even vandalism. But there’s no guarantee that the first result you click on from a Google search is going to yield accurate information, either.
Again, I love Google and Yahoo! and I use them both countless times every day. However, it’s ironic that after Google changed the way the world uses the Web, an encyclopedia (or at least the 21st century version of one) can still be the best starting point for learning in many cases. If you agree or disagree with this observation, please post your opinion at the bottom of this blog entry, or email me (eric@ericbruno.com).
Apache Derby 10.1.3.1
Derby is an open-source relational database available from Apache. (Also see "Java, SQL, Cloudscape, and Derby" by Ken North.) It’s also the basis for Java DB, which is the database that Sun delivers as part of Java EE 5. Apache Derby version 10.1.3.1 was recently released with the following changes:
- Critical fixes for Network Client when used with a transaction manager (XA)
- A critical data integrity fix when running with IBM J2RE 1.5.0 SR2.
- Improved Network Server stability and reliability
- Improved memory usage for the Network Client
- Improved query performance for UNION queries and subqueries
- Better handling of text encoding on systems with non-ASCII native encoding
- More reliable behavior of scrollable insensitive result sets
- Updated documentation
- A new distribution that includes line number information, lib-debug, has been added to assist in filing and tracking down Derby issues
- Many important fixes to correct issues with data integrity, correct memory leaks and address other product defects
Derby 10.1.3.1 can be downloaded at:
http://db.apache.org/derby/releases/release-10.1.3.1.cgi
Solaris Enterprise System
Sun offers an alternative to doing Java development on Windows and even Linux with the Solaris Enterprise System. With it, you get Solaris 10 (with DTrace for advanced debugging), Sun Java Enterprise System (with everything you need to host and manage your Java software), and integrated development tools (NetBeans, Sun Java Studio Creator, Sun Java Studio Enterprise, and Sun Studio for C++ and Fortran). Actually, you get more than a Java development environment as it comes with the latest GNU GCC tools for C++, Perl, and Python also. Read more at http://www.sun.com/software/solaris/.
The Curn Command-line RSS Reader
The Curn project, a Java-based command line (non-GUI) RSS reader, released version 3.0 (http://www.clapper.org/software/announcements/java/curn/v30.html) on July 7th. Curn employs techniques to minimize network bandwidth usage. One of the enhancements in this version is the addition of a plug-in API, allowing the development and deployment of plug-in components to intercept Curn's processing at various stages.
Posted by Eric Bruno at 02:31 AM Permalink
|
|
November 2007
| Sun |
Mon |
Tue |
Wed |
Thu |
Fri |
Sat |
| |
|
|
|
1 |
2 |
3 |
| 4 |
5 |
6 |
7 |
8 |
9 |
10 |
| 11 |
12 |
13 |
14 |
15 |
16 |
17 |
| 18 |
19 |
20 |
21 |
22 |
23 |
24 |
| 25 |
26 |
27 |
28 |
29 |
30 |
|
|