WebObjects/概述
此華夏公益教科書的內容已過時,現已移至http://wiki.objectstyle.org/confluence/display/WO/Home。
WebObjects 是 Apple 的一組工具和麵向物件的框架,用於建立和部署可擴充套件的、可重用的 Web 和客戶端-伺服器應用程式,用於網際網路和內部網。WebObjects 支援基於標準的 Web 服務的開發、部署和擴充套件,無需編寫低階 SOAP、XML 或 WSDL 程式碼。工具使您可以從現有資料資產中無程式碼生成、配置和測試應用程式。
據 Apple 稱,“WebObjects 使您能夠快速開發可在網際網路上分發的健壯應用程式”(http://developer.apple.com)。如果你問我,這聽起來有點像“營銷說辭”,並沒有真正告訴你太多。維基百科對 WebObjects 的定義要全面得多,其中部分指出,WebObjects 是“一系列用於開發和部署 Web 應用程式和 Web 服務的工具和框架”(我的重點 - http://en.wikipedia.org/wiki/WebObjects)。對我來說,這是一個更好的定義,因為它清楚地表明 WebObjects 既是一組工具(軟體應用程式),也是框架(程式設計庫),您可以使用它們來開發和部署 Web 應用程式。
WebObjects 包含許多應用程式,您可以使用它們來開發應用程式的介面,編寫底層應用程式邏輯和對將用於儲存資料的資料庫進行建模。它還包含許多您可以呼叫的程式設計庫,這樣您就不必處理與開發 Web 應用程式相關的許多平凡任務。
另一種定義 WebObjects 的方式是,它是為 iTunes 音樂商店提供支援的技術(http://www.apple.com/itunes/)。
因為您的時間最好花在考慮與您的應用程式相關的事項上(而不是每次都處理相同的通用資料訪問程式碼)。
讓您與眾不同的是您的想法以及您對客戶或使用者需求的瞭解。當您編寫 Web 應用程式時,是因為您有一個很棒的新想法,或者是因為您發現可以透過新應用程式來滿足需求。因此,您的時間最好花在編寫與應用程式目的直接相關的程式碼上。為什麼您必須花時間(重新)編寫相同型別的例行程式碼,這些程式碼已經必須為每個其他 Web 應用程式編寫?
對我來說,WebObjects 的妙處在於它讓我能夠專注於應用程式中獨特的部分,而不是要求我編寫大量重複的程式碼。
對 WebObjects 的批評之一是,沒有太多資源可供人們學習如何使用 WebObjects。雖然我不確定我是否同意這種評估,但可用的高質量材料越多越好。此華夏公益教科書旨在為 WebObjects 新手和想要了解更多的人提供更多資源。
在開始開發您的第一個 WebObjects 應用程式之前,瞭解一下您將要使用的程式設計庫是值得的。當您開發 WebObjects 應用程式時,您將編寫 Java 程式碼並使用 WebObjects 框架。本書假設您熟悉 Java,並向您介紹 WebObjects 框架。在開發最基本的 WebObjects 應用程式時使用的基本框架在Foundation部分中進行了介紹,而用於與資料庫互動的強大框架在Enterprise Object Framework (EOF)部分中進行了介紹。雖然 WebObjects 帶有一組非常豐富的程式設計庫,但您可以使用許多開源庫來開發應用程式。本書在Project WONDER部分介紹了這樣一個庫。
WebObjects 允許您建立基於 HTML 的 Web 應用程式(參見Web 應用程式部分),基於 SOAP 的 Web 服務(參見Web 服務部分)和客戶端-伺服器應用程式(參見Java 客戶端)。
一旦您開始熟悉 WebObjects,您可能想探索開發 WebObjects 應用程式的不同方法。Apple 提供了一套工具,您可以使用它們來開發應用程式,XCode、WebObjects Builder、EOModeler。這些工具在開發工具部分中有詳細介紹,該部分還介紹了您可能感興趣的其他工具。
如果您來到這裡是因為您想更多地瞭解 WebObjects 的歷史並更詳細地瞭解底層概念 - 按照順序閱讀本書的其餘部分。隨著您逐步完成各章,您將對 WebObjects 有深入的瞭解。
另一方面,如果您來到這裡是因為您剛剛在 Mac OS X 附帶的 Developer Tools 安裝程式的可選附件部分中注意到了這個奇怪的“WebObjects 東西”,並且您渴望開始開發您的第一個應用程式,您可能想跳轉到Web 應用程式部分。