| By Keith Brown | Article Rating: |
|
| January 1, 2002 12:00 AM EST | Reads: |
10,146 |
Happy New Year! I trust you had a good festive break...not drinking or eating too much. Who am I? Good question. My name is Keith Brown and I'm the new J2SE editor of Java Developer's Journal. As this is the first issue of the new year, our editor-in-chief felt it was the perfect time for me to kick off and bring my flavor of Java to you each month.
My professional history is varied, so the least said about that the better (only joking). I'm a seasoned developer with nearly ten years of software engineering behind me, five of them spent working with this beautiful language we call Java. I've been involved with Java at many levels, mainly at the client-side, as opposed to the trendier jet set who specialize at the server-side. When Alan first spoke to me regarding this role, I was excited about his vision for the magazine. Since it aligned with my own beliefs regarding software engineering, I felt I could take this role and do it justice.
As the newest member of the team, I would like to spend a little time discussing my own personal views on the state of the industry, and where we can work together to make sure we are suitably armed with the tools to implement solutions for the next wave of problems that are winging their way toward us.
Did you catch last month's Guest Editorial from Eric Shapiro? Eric managed to encapsulate the very mood of the J2SE movement. As he said, people are quick to automatically dismiss Java to the server-side, automatically reaching for infamous phrases such as EJB, JSP, and JMS. But Java is more than just server-side - look at our J2ME section if you have any doubts.
I'm here to help reinforce the case for Java outside of the server world. Swing has had a bad rep to deal with; in fact, the history of GUIs in Java isn't a pretty one. When Java first burst onto the scene we were stuck with AWT. When Windows and even X-Windows had all these fantastic APIs, Java developers were definitely at the bottom of the heap with AWT. But it has to be said that the efforts of developers to produce beautiful client-side applications were admirable considering the tools they had to work with.
There was hope. We were told of a GUI API that would allow us to get to the tools we needed to produce production-quality, client-side applications, a GUI that would offer the flexibility and speed of any native platform-specific tool, a GUI to finally bring Java to the masses. Wow - sounded too good to be true.
Sadly it was. What finally arrived was something that was definitely a far cry from the pipe dream we were all living in. To say Swing was a disappointment to some would be a bit of an understatement. The system was buggy, slow, and very inflexible to porting. Maybe it was rushed out the door too quickly and people expected too much from it initially. After all, the APIs it was competing against had been seasoned over many years with a huge amount of testing and development invested in them. Swing was finding its feet with a very demanding audience.
I think that's one of the reasons why Java's popularity grew so quickly at the server-side. Technologies such as servlets and then JSPs made it very easy to build front ends to applications that could be quickly and easily deployed to the masses without worrying about extra downloads - in other words, the very premise that Swing was hoping to solve, but never quite got there due to its size. Even today, if you surf to a page that has a Swing applet, the browser goes into a bit of a fit; if you're really unlucky, you'll have just incurred a 10MB download, worse case.
Swing has never managed to quite get there, but after a number of years in development, the time has come to start delivering on some of its promises.
Published January 1, 2002 Reads 10,146
Copyright © 2002 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Keith Brown
Keith Brown has been involved with Java for many years. When he’s not coding up client solutions for a European Java company, he can be found lurking in the corridors of conferences all around the world.
![]() |
eetsoop 01/13/02 08:01:00 PM EST | |||
There is nothing wrong with Swing. I was developing a cross-platform (PC/Mac) application for a client when JFC/Swing was released. It was infinitely better than AWT, but still had some "challenges". Java was not ready for "prime time" until the jdk 1.2 release, and Swing, along with the rest of the "core" went through many improvements in the early days. I remember living (and in some cases dying) through each of the jdk 1.1.x releases. Once the jdk 1.2 came along (that's "Java 2" to the marketing folks), Swing was bundled with the core API's and was performing well. Swing's (and Java's) bad reputation in the early days came from bad applets in a static HTML world. If you knew what you were doing you could develop some awesome desktop applications using Swing. But then the Internet took off, and so did Java server-side. Desktop apps (not just Swing-based) took a back seat. Swing has been improving all along and it works great right now. Don't sell it short or make any apologies. |
||||
![]() |
Louis 01/11/02 01:12:00 PM EST | |||
So what changed with Swing ??!! Your article doesn't answer the question in the previous comment. I always wondered, why AWT and Swing in the first place. Instead of Swing, why not have "JSPClient". That is jsp like environment that can run stand alone on the client browser. Without the need to have the client install a web-server that is jsp enabled. This way, the same applications can be deployed either stand alone or web based. |
||||
![]() |
Bob Wiley 01/10/02 10:08:00 AM EST | |||
So what has changed with swing that makes it more usable now? I used to believe in java on the client side but the it always seemed like a big tradeoff. With the introduction of Java Web Start I'm thinking of coming back to fold or going completely over to C#, but I still haven't decided yet. |
||||
![]() |
jyoti kumar 01/10/02 02:00:00 AM EST | |||
your article is good and vey infomatic |
||||
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- Industry Experts Discuss the State of Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Performance Tuning Essentials for Java
- Confessions of a Ulitzer Addict
- It's the Java vs. C++ Shootout Revisited!
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer Aid Campaign for the Typhoon Ondoy Victims
- Cloud Computing Can Revitalize Your Career as Software Developer
- A Brief History of Cloud Computing
- Oracle & Cloud Computing: Exclusive Q&A with SVP Richard Sarwal
- Kindle 2 vs Nook
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Why IBM’s Server Chief Got Busted
- Industry Experts Discuss the State of Cloud Computing
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Performance Tuning Essentials for Java
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- It's the Java vs. C++ Shootout Revisited!
- The End of IT 1.0 As We Know It Has Begun
- My Thoughts on Ulitzer
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- 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
- What's New in Eclipse?
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- i-Technology Predictions for 2007: Where's It All Headed?































