Eclipse 平臺入門
作者:David Gallardo 來自:IBM
本文為您提供關于 Eclipse 平臺的概述,包括其起源和體系結構。本文首先簡要討論 Eclipse 的開放源代碼性質及其對多種編程語言的支持,然后通過一個簡單的程序例子展示 java 開發環境。本文還將考查以插件擴展形式可用的一些軟件開發工具,并展示一個用于 UML 建模的插件擴展。
Eclipse 是什么?
Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括 Java 開發工具(Java Development Tools,JDT)。
雖然大多數用戶很樂于將 Eclipse 當作 Java IDE 來使用,但 Eclipse 的目標不僅限于此。Eclipse 還包括插件開發環境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展 Eclipse 的軟件開發人員,因為它答應他們構建與 Eclipse 環境無縫集成的工具。由于 Eclipse 中的每樣東西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統一的集成開發環境而言,所有工具開發人員都具有同等的發揮場所。
這種平等和一致性并不僅限于 Java 開發工具。盡管 Eclipse 是使用 Java 語言開發的,但它的用途并不限于 Java 語言;例如,支持諸如 C/C++、COBOL 和 Eiffel 等編程語言的插件已經可用,或預計會推出。Eclipse 框架還可用來作為與軟件開發無關的其他應用程序類型的基礎,比如內容治理系統。
基于 Eclipse 的應用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它構成了 IBM Java 開發工具系列的基礎。例如,WebSphere Studio application Developer 添加了對 jsp、servlet、EJB、xml、Web 服務和數據庫訪問的支持。
Eclipse 是開放源代碼的軟件
開放源代碼軟件是這樣一種軟件,它們在發布時附帶了旨在確保將某些權利授予用戶的許可證。當然,最明顯的權利就是源代碼必須可用,以便用戶能自由地修改和再分發該軟件。這種用戶權利的保護是通過一種稱為 copyleft 的策略來完成的:軟件許可證主張版權保護,除非明確授予用戶這樣的權利,否則用戶不得分發該軟件。copyleft 還要求同一許可證涵蓋任何被再分發的軟件。這實際上倒置了版權的目的——使用版權來授予用戶權利,而不是為軟件的開發者保留版權——copyleft 經常被描述為“保留所有版權”。
曾經四處蔓延的對開放源代碼軟件的許多懼怕、擔憂和疑慮,都與某些 copyleft 許可證的所謂“病毒”性質有關——假如使用開放源代碼軟件作為您開發的程序的一部分,您將失去自己的知識產權,因為該許可證將“傳染”您開發的專有部分。換句話說,該許可證可能要求與開放源代碼軟件一起打包的所有軟件,都必須在相同的許可證之下發布。雖然這對最聞名的 copyleft 許可證(即 GNU 通用公共許可證,例如 linux 就是在該許可證之下發布的)來說可能是事實,當時還有其他許可證在商業化和社區考慮之間提供了較好的平衡。
開放源代碼計劃(Open Software Initiative)是一家非營利機構,它明確定義了開放源代碼的含義及滿足其標準的認證許可證。Eclipse 是在 OSI 認可的通用公共許可證(CPL)1.0 版之下被授予許可證的,CPL“旨在促進程序的商業化使用……”(欲獲得指向通用公共許可證 1.0 版完整文本的鏈接,請參閱本文稍后的 參考資料)。
為 Eclipse 創建插件或將 Eclipse 用作軟件開發應用程序基礎的開發人員,需要發布他們在 CPL 下使用或修改的任何 Eclipse 代碼,但是他們可以自由決定自己添加的代碼的許可證授予方式。與出自 Eclipse 的軟件一起打包的專有代碼不需要作為開放源代碼來授予許可證,該源代碼也不需要提供給用戶。
盡管大多數開發人員不會使用 Eclipse 來開發插件,或創建基于 Eclipse 的新產品,但是 Eclipse 的開放源代碼性質所意味的,并不只是它使得 Eclipse 免費可用(盡管便于商業化的許可證意味著插件可能要花錢)。開放源代碼鼓勵創新,并激勵開發人員(甚至是商業開發人員)為公共開放源代碼庫貢獻代碼。對此存在許多原因,不過最本質的原因或許是為這個項目作貢獻的開發人員越多,這個項目就會變得對每個人都越寶貴。隨著這個項目變得更加有用,更多的開發人員將會使用它,并圍繞它形成一個社區,就像那些圍繞 Apache 和 Linux 形成的社區一樣。
新聞熱點
疑難解答