| Eclipse plugin development A bird’s eye view | | | | defined 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 |
| Introduction | | | | another for his/her suitability, a user can switch |
| Eclipse platform made a new era in the history of | | | | between various perspectives. |
| java development. It provided a new and broader | | | | Â View:- |
| horizon and new dimension to the developers for | | | | A view presupposes a visual component inside the |
| easy, swift and economic development. Besides it | | | | perspective and inside the workbench. In a |
| fosters the sprit of enthusiastic learning for the | | | | common 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 an | | | | your components according to your suitability. A |
| integrated application of several core projects built | | | | view can be of different type for example outline |
| inside it. Eclipse provides core and generic | | | | view, property view, work-in progress view , tree |
| framework and services upon which you can | | | | structure view etc. Each view should be created |
| accomplish your java development and you can | | | | to achieve the generic goal of your application. |
| build your own eclipse like custom or customized | | | | Editor:- |
| applications. Besides it provides several tools which | | | | An 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 or | | | | stuffs in a railway compartment where you can |
| environment where you can plug your application | | | | push and pop your article. As you define your |
| as plugin and play with your application. However it | | | | sitting area to place beverages bottle, you can |
| contains so many features that beggar | | | | create an area to push your luggage and specific |
| descriptions. You can find all the features from | | | | area to place your laptops, similarly an editor can |
| the eclipse site or you can go to help menu of | | | | be created to write a functionally structured email |
| your eclipse editor which provides detailed | | | | specific to your application and requirements or |
| descriptions. It is only because of its pluggable | | | | editor 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 the | | | | is to edit the text contents. An editor may be |
| better approach for the development. Eclipse | | | | common to one or more perspectives. |
| plugin framework has brought a revolutionary | | | | Workspace:- |
| change in the look and feel and provides most | | | | A workspace is the central repository of data |
| exciting graphical approach as compared to | | | | files for an application. The workspace contains |
| traditional swing applications. This framework has | | | | user data and some internal configuration files. |
| proved its worth for the current changes in the | | | | Basically the workspace contains the directories |
| development and testing. In the field of top notch | | | | and files related to your application project. This |
| competition, we envisage several changes in the | | | | workspace 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 has | | | | development, the creation of workspace is |
| been changed radically in the industries. Now | | | | customized. |
| client's requirements have become much more | | | | Â |
| matured and strict. Many clients are reluctant to | | | | Toolbar:- |
| expose their existing functionality and legacy | | | | A toolbar is a horizontal bar visible just beneath |
| systems to the industry. They want new | | | | the workbench menu bar. It is similar to that of |
| applications which should be pluggable for their | | | | Microsoft MS Word. The basic purpose of this |
| existing systems. They want better UI approach | | | | toolbar is to provide quick view of the items. |
| and more intelligent works in their applications. | | | | Â |
| Besides, organisations want rapid cost effective | | | | Wizard:- |
| development. That is why many organisations are | | | | A wizard is a typical dialog box which provides a |
| laying down several approaches in the hiring | | | | set of sequential execution and provides guidance |
| processes. So it is up to you how you can cope | | | | to the user. If you are developing an application as |
| with the current technologies and organisational | | | | a plugin under eclipse, you can create your own |
| policies. I have a suggestion to all of you that | | | | wizard. More specifically the wizard page is just |
| please leave the habit of spoon feeding. There | | | | like a UI of a software installer. |
| was a time when every organisations provide | | | | Â |
| training to the new and novice developers. Now | | | | Widget:- |
| this trend has been changed dramatically and has | | | | In eclipse platform each UI control can be |
| come to a limited aspect in the industry. I request | | | | considered as widget. Each widget is defined for a |
| you to realize your subject of your learning rather | | | | specific task and functionality. So eclipse underlying |
| than understanding it. Try to make self learning at | | | | framework 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 and | | | | SWT:- |
| thoughts. | | | | It stands for Standard Widget Toolkit but not |
| Â Â Â Â Â Â Â Â Â Â Â Â In this article I will present | | | | Standard Window Toolkit. It is an API which |
| some glimpse of eclipse concepts which are | | | | provides basic apis and native implementations |
| specific to plugin development. I will make you | | | | specific to your underlying OS. |
| familiar with very few commonly used terms in | | | | Â |
| eclipse plugin development. From the very | | | | JFace:- |
| inception the novice developers may find it difficult | | | | It is a middle level UI framework which provides |
| to get started with plugin development, but it is | | | | flexibility to create complex UI and it works with |
| true that once you get accustomed to the coding | | | | SWT. |
| 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 and | | | | this article. Please refer to my next article where |
| mangers . I am not going to give you the | | | | IÂ will provide one basic example to make your |
| complete overview, architecture and details of | | | | hands on plugin development. |
| eclipse plugin development. I will provide an | | | | Â |
| approach so that you can make self learning at | | | | Caution |
| 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 to | | | | not bear any commercial significance .I request |
| provide all the terms, I will provide you the terms | | | | you 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 which | | | | plugin development environment. In the yester |
| contains several user interface manifestations. In | | | | years I have realized several problems relating to |
| a very layman term we can say that workbench | | | | development in the organizations. The reasons of |
| is the view or a typical window when your | | | | problems may be infinite; however I do not want |
| application gets started. It is just like a railway | | | | to discuss this. However we have to be smart |
| track where you can build your vehicles to run | | | | and try to cope with the current environment. I |
| over it. More specifically a workbench comprises | | | | will provide you some ways of solutions to the |
| the following major UI components. The | | | | commonly occurring problems relating to plugin |
| components are "perspectives","views" and | | | | development. In my forthcoming articles I may |
| "editor". You can also reiterate that it the UI | | | | provide various source codes which are only for |
| portion of the eclipse. It simply provides a broader | | | | your understanding. Please do not attach, copy or |
| infrastructure for your plugins for swift and | | | | integrate the code in your applications. In case of |
| economic development. | | | | any problems I will not be held accountable. |
| Â Perspectives:- | | | | Â |
| A perspective encapsulates several views and | | | | Question 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 of | | | | enjoyed my small article. Please provide me your |
| which has several views. Since railway | | | | most valuable feedback so that I will realize it. |
| compartments are of different type like | | | | The 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 to | | | | Is eclipse platform independent? |
| make web-service interaction, it may be a | | | | Â |
| webservice perspective, for database | | | | Conclusion |
| perspective, it may be your DBPerspective. One | | | | Â Please provide me your valuable feedback at . If |
| or more perspectives can be built based upon | | | | you find any error or errata, please report to me |
| your requirements and functionality. Besides it | | | | as soon as possible. In my next article, I will help |
| provides the initial layout of your views and | | | | you how to create a dialog box and you can |
| decorations. Please remember that your | | | | place your UI components safely. |
| perspective should achieve the core functionality | | | | |