Eclipse Plugin Development - a Bird’s Eye View

Eclipse plugin development A bird’s eye viewdefined by you. This feature provides a better
 Â Â Â Â Â Â Â Â By Debadatta Mishra,approach to achieve the specific task. Just as a
 Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â traveler moves from one compartment to
Introductionanother for his/her suitability, a user can switch
Eclipse platform made a new era in the history ofbetween various perspectives.
java development. It provided a new and broader View:-
horizon and new dimension to the developers forA view presupposes a visual component inside the
easy, swift and economic development. Besides itperspective and inside the workbench. In a
fosters the sprit of enthusiastic learning for thecommon man term it is the room inside your
developers.railway compartment. In a view you can place
In the true sense of the term Eclipse is anyour components according to your suitability. A
integrated application of several core projects builtview can be of different type for example outline
inside it. Eclipse provides core and genericview, property view, work-in progress view , tree
framework and services upon which you canstructure view etc. Each view should be created
accomplish your java development and you canto achieve the generic goal of your application.
build your own eclipse like custom or customizedEditor:-
applications. Besides it provides several tools whichAn editor is an area for editing. In a common man
make ease for rapid application development.term, I can say that it is the seat or its related
Besides I can say that it is such a platform orstuffs in a railway compartment where you can
environment where you can plug your applicationpush and pop your article. As you define your
as plugin and play with your application. However itsitting area to place beverages bottle, you can
contains so many features that beggarcreate an area to push your luggage and specific
descriptions. You can find all the features fromarea to place your laptops, similarly an editor can
the eclipse site or you can go to help menu ofbe created to write a functionally structured email
your eclipse editor which provides detailedspecific to your application and requirements or
descriptions. It is only because of its pluggableeditor may be defined to write an .XML file, plain
features, it has gained momentum in the industry.text file or a document editor. The basic purpose
Many industries adopt it as a standard and theis to edit the text contents. An editor may be
better approach for the development. Eclipsecommon to one or more perspectives.
plugin framework has brought a revolutionaryWorkspace:-
change in the look and feel and provides mostA workspace is the central repository of data
exciting graphical approach as compared tofiles for an application. The workspace contains
traditional swing applications. This framework hasuser data and some internal configuration files.
proved its worth for the current changes in theBasically the workspace contains the directories
development and testing. In the field of top notchand files related to your application project. This
competition, we envisage several changes in theworkspace is created automatically when the
field of development and testing in the industry.workbench gets started. In case of plugin
Now a days the platform of development hasdevelopment, the creation of workspace is
been changed radically in the industries. Nowcustomized.
client's requirements have become much more 
matured and strict. Many clients are reluctant toToolbar:-
expose their existing functionality and legacyA toolbar is a horizontal bar visible just beneath
systems to the industry. They want newthe workbench menu bar. It is similar to that of
applications which should be pluggable for theirMicrosoft MS Word. The basic purpose of this
existing systems. They want better UI approachtoolbar is to provide quick view of the items.
and more intelligent works in their applications. 
Besides, organisations want rapid cost effectiveWizard:-
development. That is why many organisations areA wizard is a typical dialog box which provides a
laying down several approaches in the hiringset of sequential execution and provides guidance
processes. So it is up to you how you can copeto the user. If you are developing an application as
with the current technologies and organisationala plugin under eclipse, you can create your own
policies. I have a suggestion to all of you thatwizard. More specifically the wizard page is just
please leave the habit of spoon feeding. Therelike a UI of a software installer.
was a time when every organisations provide 
training to the new and novice developers. NowWidget:-
this trend has been changed dramatically and hasIn eclipse platform each UI control can be
come to a limited aspect in the industry. I requestconsidered as widget. Each widget is defined for a
you to realize your subject of your learning ratherspecific task and functionality. So eclipse underlying
than understanding it. Try to make self learning atframework or API is called as standard widget
your home (the best place for your development)toolkit (SWT).
and be a smart developer and help the 
development community with your new ideas andSWT:-
thoughts.It stands for Standard Widget Toolkit but not
             In this article I will presentStandard Window Toolkit. It is an API which
some glimpse of eclipse concepts which areprovides basic apis and native implementations
specific to plugin development. I will make youspecific to your underlying OS.
familiar with very few commonly used terms in 
eclipse plugin development. From the veryJFace:-
inception the novice developers may find it difficultIt is a middle level UI framework which provides
to get started with plugin development, but it isflexibility to create complex UI and it works with
true that once you get accustomed to the codingSWT.
style for plugin development, you may be  
enthusiastic and you can develop anything to            I hope that you have enjoyed
satisfy the aesthetic desire of your clients andthis article. Please refer to my next article where
mangers . I am not going to give you theI will provide one basic example to make your
complete overview, architecture and details ofhands on plugin development.
eclipse plugin development. I will provide an 
approach so that you can make self learning atCaution
your home. The following terms and jargons are My article is only meant for learning and it does
used in course plugin development. It is difficult tonot bear any commercial significance .I request
provide all the terms, I will provide you the termsyou not to integrate in your actual development
in brief and I will update accordingly.of the organization. I want tohelp the freshers,
 Workbench:-novice developers or those who are new this
A workbench is a visible environment whichplugin development environment. In the yester
contains several user interface manifestations. Inyears I have realized several problems relating to
a very layman term we can say that workbenchdevelopment in the organizations. The reasons of
is the view or a typical window when yourproblems may be infinite; however I do not want
application gets started. It is just like a railwayto discuss this. However we have to be smart
track where you can build your vehicles to runand try to cope with the current environment. I
over it. More specifically a workbench compriseswill provide you some ways of solutions to the
the following major UI components. Thecommonly occurring problems relating to plugin
components are "perspectives","views" anddevelopment. In my forthcoming articles I may
"editor". You can also reiterate that it the UIprovide various source codes which are only for
portion of the eclipse. It simply provides a broaderyour understanding. Please do not attach, copy or
infrastructure for your plugins for swift andintegrate the code in your applications. In case of
economic development.any problems I will not be held accountable.
 Perspectives:- 
A perspective encapsulates several views andQuestion to audience
editors inside the workbench window. In a layman I hope that you may have gone through and
term it is the railway compartment/s which ofenjoyed my small article. Please provide me your
which has several views. Since railwaymost valuable feedback so that I will realize it.
compartments are of different type likeThe last but not the least I leave a small question
airconditioned, non-airconditioned or deluxe type,to you for which you can send me in email id .
similarly perspectives may be of different type 
specific to your functionality. For example toIs eclipse platform independent?
make web-service interaction, it may be a 
webservice perspective, for databaseConclusion
perspective, it may be your DBPerspective. One Please provide me your valuable feedback at . If
or more perspectives can be built based uponyou find any error or errata, please report to me
your requirements and functionality. Besides itas soon as possible. In my next article, I will help
provides the initial layout of your views andyou how to create a dialog box and you can
decorations. Please remember that yourplace your UI components safely.
perspective should achieve the core functionality