Showing posts with label netbeans. Show all posts
Showing posts with label netbeans. Show all posts

The future of Oracle/Sun


Three days ago, the news came out that Oracle is buying Sun Microsystems. The Oracle-Sun deal came little more than two weeks after I.B.M. had ended its talks with Sun. This deal shocked many developer and bring a lot of questions and concerns. What is next? What will happen in the future? In this post, in my opinion, I will answer several controversial questions.

The future of Glassfish

To start with, many java developers believe that Glassfish AS is one of the products which is going to be killed by Oracle. However, Let thing about this again, I believe Oracle will use Glassfish to provide new level of products for small & medium-size companies. This new level will consist of MySQL, Glassfish, OpenESB… etc .They will definitely try to attack new level of customers, because current Oracle web stack solution is heavy, expensive and not affordable for mid-scale companies. Therefore, oracle will provide support and easy migration between the solutions.

Another thing I want to mention it, Glassfish is one the most well engineered, fast, and up to date application server available, So Oracle will certainly uses glassfish's code to improve Oracle AS' code.

Finally, Oracle will keep this path open for as long as it wants to attract paid customers and avoid customers making a switch in favor of the JBoss stack.

What about Netbeans IDE?

Will, NetBeans is not only an IDE but it is an RCP, I am sure that NetBeans will have a massive impact on the other oracle products, including JDeveloper. I believe NetBeans is going to provide support for ADF framework and JDeveloper will be killded in the future, just like Oracle forum and Oracle report, because NetBeans IDE has a huge and vibrant community which can not simply be ignored by Oracle.

On the other hand, NetBeans IDE is the core for all of Sun's products. It has connection will OpenSolaris, DTrace and ends with JavaFX development. Oracle can not simply ignores these connections and kill the IDE.

And finally, NetBeans used to be the first IDE which supported the latest specifications, Oracle will keep this opportunity and continue providing bleeding edge functionality both in the deployment and server-side front by pushing GlassFish development forward and also in continuing to support the development of the NetBeans IDE and platform.
 
What about Star/Openoffice?

As the second largest software company in the world, there is at least one thing that Oracle has NOT had yet that their primary competitor has and that is an office automation suite used by students, grandmas, and enterprises worldwide. The ability to have your name in front of millions of users is a powerful tool particularly when they can download it for free and run it on Windows, MacOS, Linux distros and Solaris. I think we know that Larry is not a great friend of Microsoft and this will give him one more thing to poke in their eye.

Finally, what is going to happen to JavaFX?

The upcoming land grab for rich internet applications (RIAs) will be a fierce competition between Microsoft, Adobe and Oracle with Sun's JavaFX. JavaFX provides an advanced tool with proven security and programming model to deploy RIAs on billions of devices over the network. Its open source status will ensure a broad developer acceptance and diverse contributions from industry, academia and government. In the fight for "eyeballs" JavaFX will provide Oracle with a significant competitive advantage in function as well as wide device support.
 

Introduction to RCP

According to Wikipedia, A Rich Client Platform is a software which combines many sub-softwares together. It is a platform which you can build new software on top of it. Instead of having to write a complete application from scratch. Building on existing platform means you will get many advantages, like:
  • Faster application development cycle and more integration.
  • Remove complexity and non-stander links between components.
  • Focus on business value-add.
  • Spend less time on testing face.
  • Combine existing modules with new application ( Help UI, Update Manager, Cheat Sheets, Intro,....etc).
Unfortunately, there are few implementation for this architecture and almost all of theme is written by using Java programming language. the most popular one is Eclipse Platfrom, which provides a very rich platform for end developers. anther example is Netbeans Platform, the opensource platform is a generic framework for Swing applications. The last not least is Spring Framework RCPs.

I believe many corporations like Microsoft already using this strategy with there nonpublic RCP. An example of that is MS Office applications, which are possibly built on top of the office platform.

What is the Difference between NetBeans Platform and Eclipse RCP?

The NetBeans Platform and Eclipse RCP are more similar than they are different. Both provide a framework for desktop application developers. In both cases, a large number of features are provided out of the box, from a docking framework, to an action system, to update facilities. However, there are some very significant differences that you need to be aware of when choosing between them:

  • UI Toolkit. When you use the NetBeans Platform, you will be programming with the official standard UI toolkit, which is Swing. Eclipse RCP, on the other hand, makes use of SWT instead. There are many advantages in using Swing instead of SWT. For example, there are thousands of 3rd party libraries available in Swing, which means that they are very easy to integrate into NetBeans Platform applications. SWT does not have that kind of wideranging support and therefore you will have far less 3rd party libraries to choose from. An example is in the area of UI testing: while Swing has Jemmy and similar tools, there are no great equivalents for SWT. In addition, SWT requires that native libraries be included with the end product, for each platform to which you deploy.

    Thanks to Swing's look & feel support, you can completely customize the appearance of your application, so that it is totally unique and doesn't resemble any other application on the NetBeans Platform.

  • Build system. A feature specific to the NetBeans Platform is the fact that its build system is based on Ant. Ant is a standard, non-vendor specific build tool. As a result, you are not locked into NetBeans IDE but can, instead, use the command line to build your NetBeans Platform applications. In fact, you can build NetBeans Platform applications out of the box with Ant, and also fairly easily with Maven.
  • Module system. Eclipse RCP makes use of the de facto standard module system, which is OSGi. The NetBeans Platform, on the other hand, uses the standard Java approach to modularity, relying on an extension to the JDK 6 ServiceLoader class for intermodular communication. At the same time, work is in progress for supporting OSGi as well, as can be read here.
  • UI Design. The award winning Matisse GUI Builder is a standard part of NetBeans IDE. You can use it when prototyping and designing your applications on top of the NetBeans Platform. Its drag-and-drop capabilities and point-and-click features make this an ideal environment for UI design. Many NetBeans Platform users have cited this feature, together with the support for Swing, as their main reasons for choosing the NetBeans Platform. Eclipse RCP has a similar tool, based on the Matisse GUI Builder, although it is not free.
  • NetBeans Platform in the JDK. Since JDK 6 Update 7, the JARs that make up the NetBeans Platform are part of the JDK. The JARs need to be there because Java VisualVM, the new JDK tool, is created on top of the NetBeans Platform. When building your application on top of the NetBeans Platform, this fact can be useful, both for development and delivery purposes.
  • Free Training. The NetBeans team offers free NetBeans Platform trainings to universities, colleges, and schools, as well as non-commercial institutions in general. (Write to users@edu.netbeans.org if you are interested.) A customized version of this course is available to companies, at a standard price via Sun Learning Services. Eclipse RCP does not offer free trainings of this kind.

Further Reading