網頁

搜尋此網誌

2012年12月26日 星期三

Contributing to Eclipse 投入「蝕」

搞笑談軟工的「還少一本書:Contributing to eclipse: Principles, Patterns, and Plug-ins」這篇文章提到一本經典著作,聽了Teddy的話於是買一本回家供奉珍藏,以免之後發生絕版的情形而遺憾。

只要有心,人人都可以成為「蝕」神!

Erich Gamma and Kent Beck, Contributing to Eclipse: Principles, Patterns, and Plug-Ins, Massachusetts: Person Education, 2004.

這本書的作者是大名鼎鼎的Erich Gamma,他就是「物件導向設計模式」的作者之一,而他和 Kent Beck是JUnit的開發者和維護者。這本書主要是介紹eclipse貢獻開發的重要觀念和資訊,並且說明Eclipse的生態系,其中Eclipse有個重要觀念:就是每個使用eclipse的用戶都是潛在的程式開發人員。作者說這和Smalltalk的目標很像,授予用戶能夠使用Eclipse的經驗,而且提供用戶有更多權力的學習環境,進而不斷提升整個Eclipse的功能。

在Eclipse生態系中有6個角色:
  • Users:使用者,使用Eclipse的程式開發人員。
  • Configurers:配置者,根據自身的使用經驗設定Eclipse功能。
  • Extenders:擴展者,改變原本Eclipse的既有功能,讓Eclipse擴充做更多的事情。
  • Publishiers:發佈者,開發好用的擴充套件,提供給Eclipse的使用者。
  • Enablers:啟用者,提供擴充套件的擴充點讓更多開發人員擴充既有功能。
  • Committer:提交人,Eclipse是Open Source Project,由提交人組成的委員會管理。
這六個角色當中的5個層級構成貢獻循環(Contribution Circle),循環是Users→ Configurers→ Extenders→ Publishiers→ Enablers→ Users,注意到Enablers最後回到Users。整本書分成4個循環介紹如何貢獻Eclipse,從「Circle 0」到「Circle 3」,每個循環更進一步介紹貢獻開發的細節。

貢獻Eclipse之前,必須先了解eclipse的軟體架構,基本上Eclipse是採用外掛架構(plug-in architecture, 或稱插件架構),外掛架構由兩個部分組成:
  • 擴充點(extention points):提供外掛放置的地方(places-to-plug-things-in)
  • 擴充(extentions ):外掛的元件(things-plugged-in)
 Eclipse的架構由上至下分為三層:
  • Plug-in Development Environment (PDE):外掛開發環境,擴充JDT使Eclipse支援外掛的開發。
  • Java Development Tools (JDT):Java開發工具,讓Eclipse成為完整的Java整合開發環境。
  • Platform:定義通用性程式語言(common programming-language-neutral)的基礎架構
其中Platform的部分由兩大部分組成,各自包含不同元件:
  • 使用者介面部分(User Interface, UI)
    • Workbench(工作臺)
    • JFace
    • Standward Widget Toolkit, SWT
  • 核心部分(Core, UI-independent)
    • Workspace(工作區)
    • Runtime
有關使用者介面的資訊可以參考官方準則「Eclipse User Interface GuidelinesVersion 2.1」,裡面有更詳細的說明。在貢獻Eclipse時,務必先有上述的概念,並且認識相關術語,這樣閱讀開發文件能可以清楚了解。

###

沒有留言:

張貼留言

熱門文章