SpringSource Tool Suite 釋出
今年的 EclipseCon 是我們公司首次參加。我們舉辦了許多講座,都受到了熱烈歡迎,並且宣佈了針對 SpringSource Tool Suite 的 Beta 專案。總的來說,我們度過了非常愉快的時光,並從 Eclipse 社群獲得了關於 Spring Portfolio 專案,特別是我們在 Web 領域所做工作的許多反饋。我將在接下來的幾周內確保將所有反饋轉達給專案負責人。由於 EclipseCon 今天即將結束,我終於有時間坐下來寫寫我們在大會上推出的內容。
週一,我們在 BoF 會議上釋出了個人使用版 SpringSource Tool Suite (STS),並且我花費了大量時間與人們交流它帶來的額外價值。在這篇部落格中,我將更詳細地概述 SpringSource Tool Suite 的功能。首先,我聽到了很多次人們認為 SpringSource Tool Suite 的釋出意味著我們將停止改進和塑造 Spring IDE。請允許我澄清,情況絕非如此;事實上恰恰相反,看看 Spring IDE 的 JIRA 和 Subversion 倉庫就知道了。事實上,自從我一月份加入 SpringSource 以來,我在並行開發工具套件的同時,能夠增加花在 Spring IDE 上的時間。
SpringSource Tool Suite 的目標是為您提供在 Eclipse 平臺上使用 Spring Portfolio 進行企業開發的最先進開發工具——這聽起來像營銷術語,但這正是工具團隊的使命宣言。STS 無疑建立在成熟的 Spring IDE 之上,但它與 Eclipse Mylyn 緊密結合,並且已經擴充套件了這兩個開源工具,將企業級擴充套件帶入您的 IDE。為了提供最好的 Spring 工具,我們已經開始並持續向 Spring 核心框架和其他 Spring 專案新增工具相關的特性、鉤子和擴充套件點。
因此,有了這個工具套件,您終於可以獲得 Mylyn 面向任務的使用者介面(Task-Focused User Interface)在進行 Spring 開發方面的所有好處。在處理 Spring 應用程式藍圖時,您可以獲得上下文管理和聚焦。此外,我們將面向任務的 UI 方法提升到了一個新的水平,並引入了一項我們命名為面向任務的教程(Task-Focused Tutorials)的新技術。面向任務的教程擴充套件了 Eclipse Cheat Sheet 框架,併為教程的每個步驟添加了任務聚焦。透過面向任務的教程,使用者——無論是 Spring 新手,還是想學習特定功能或 Spring 專案的人——只需單擊一下即可匯入正在執行的示例應用程式,並開始探索該示例。每個教程步驟都會解釋教程的某個方面,並且只顯示與理解和探索該解釋相關的 Java 和 Spring 元素。
從上面的截圖可以看到在 Eclipse 中是如何呈現的。教程將 PetClinic 示例應用程式匯入到 Eclipse 工作區,並聚焦工作區,只顯示 @Autowired 註解及其如何應用於應用程式元件。右側是展開的步驟,解釋了何時以及為何應該使用 @Autowired 註解。在教程的最後,使用者只需點選一下即可在捆綁的 Tomcat 伺服器上啟動示例應用程式,該伺服器會自動安裝和配置。
我們認為這種介紹新功能和產品的方式是一種非常強大的方法,它讓人們可以輕鬆探索 Spring Portfolio。開發者入門所需的一切都恰好在其應在的位置:IDE 內部。當您下載個人使用版 Beta 時,您將立即獲得大約 20 個教程,這些教程均由專案負責人或直接與客戶合作的經驗豐富的顧問建立。最值得注意的是 Adrian Colyer 花時間建立了 7 個教程,介紹了 OSGi 概念、Equinox 和 Spring Dynamic Modules。如果您現在想搭上 OSGi 的列車,這些教程非常棒。該工具套件包含一個自動 OSGi Bundle 更新/重新整理機制,最終允許在應用程式上工作並基於 OSGi 執行時獲得即時重新部署語義(您用 EJB 嘗試過嗎?我試過)。
我想談論的下一個功能叫做執行時錯誤分析(Runtime Error Analysis):SpringSource Tool Suite 能夠透過分析 Java 堆疊跟蹤來提供解決執行時問題的資訊。為了實現這一點,我們建立了一個線上知識庫,該知識庫整合到套件中,並且可以在 Eclipse IDE 內部直接查詢。該知識庫對所有使用該工具的人開放,我們甚至鼓勵人們使用內建的富編輯功能貢獻自己的分析。請看下面的截圖。
使用這個工具套件,您不僅可以獲得分析執行時錯誤的支援,工具還會幫助您查詢常見陷阱和違反 Spring 最佳實踐的情況。特別是在處理 XML bean 定義檔案時,此功能非常方便,因為它會在 XML 編輯器內直接通知開發者檔案中可能需要修改的地方。例如,在某些情況下,該工具會檢測並推薦使用 bean 繼承。它還會推薦使用不斷改進的名稱空間元素,而不是傳統的 bean 定義方式。這裡有一個例子
那麼我們來看看我們有哪些功能
- Spring 開發工具
- Mylyn 的面向任務使用者介面(Task-Focused User Interface),適用於 Java、資源和 Spring 應用程式藍圖
- 面向任務的教程(Task-Focused Tutorials)
- 執行時錯誤分析(Runtime Error Analysis)
- 最佳實踐和架構評審工具
還有一些我沒有提及的功能。你看到這些功能列表中的主題了嗎?最後列出的三個功能為開發強大的基於 Spring 的應用程式提供了寶貴的幫助。在內部,我們開始使用一個比喻來形容這套功能:盒子裡的顧問(Consultant in a Box)。透過 SpringSource Tool Suite,我們希望讓您能夠獲得 SpringSource 的知識,就好像有位顧問坐在您旁邊一樣!
我鼓勵大家前往 Beta 註冊頁面 試用 Tool Suite。最後,我還要感謝所有已經提交反饋、問題和建議的人。一旦 EclipseCon 這忙碌的一週結束,我就會回覆大家。