iPhone知名第三方框架Three20簡介

Three20是由Facebook所發展的一套iPhone框架,最初的目的單純是為了建構Facebook的iPhone版應用程式,後來便將整套framework開放原始碼提供給廣大的iPhone開發者使用。
評論
評論

Three20 是由 Facebook 所發展的一套 iPhone 框架,最初的目的是為了建構 Facebook 的 iPhone 版應用程式,後來便將 framework 開放原始碼提供給廣大的 iPhone 開發者使用。

使用 Three20 的軟體

雖然一般各位在使用 iPhone 軟體的經驗中,對於 Three20 的存在沒有特別的印象,但是事實上 Three20 出現在相當多的應用軟體中,像是 Facebook、Flickr 的官方軟體或是最近剛被 Twitter 收購的 TweetieGowalla 的官方軟體,都是使用 Three20 的作品。

Three20

或許會有人好奇為什麼這套框架要取名作為 Three20 呢?那是因為 iPhone 的螢幕解析度為 320×480,所以就取名叫做 Three20 了。

誠如序文中提過,Three20 是一個開放原始碼的框架,任何的開發者都可以自由的使用。而秉持著開放原始碼的精神,許多開發者也有貢獻一些程式碼回饋,像是 Tweetie 的下拉後重新讀取便是一例。

Three20 所提供的功能

而究竟 Three20 提供了哪些好用的功能、如此的吸引開發者呢?

像是在 UI 上面,Three20 提供了類似 iPhone 內建的相簿瀏覽介面:
兩種不同的訊息發佈介面,前者適合撰寫長篇訊息:
後者適合微網誌等的狀態更新:
此外也有一些通用的介面元素:
或是製作漂亮的按鈕:
及等待畫面:

除了在 UI 上提供了眾多方便、漂亮的介面之外,這些 UI 元件的使用上也比 Cocoa Touch 本身所提供的 API 容易不少。

而在底層的方面也提供了開發者許多方便的工具,像是:

  • HTTP Request Cache -- 將原本的 HTTP 呼叫加入快取等功能
  • XML/JSON Parser -- 簡易的 JSON/XML Parser
  • URL-based Navigation -- 類似 Web Framework 般使用 URL 作為程式中的 Controller 切換
  • Internet-aware Table Data Source -- 表格中的資料來源可以容易的變成網路上的資料

透過 Three20 提供的這些方便好用的 API,將無疑的可以替開發者節省下大量時間。

Three20 入門方式

雖然 Three20 是一個很方便的 Framework,透過這套框架我們可以快速的搭建出許多複雜的功能,然而由於 Three20 的開發資源幾乎都投注在框架本身的改版上,因此 API 文件可以算是相當的缺乏,對於剛接觸 Three20 的開發者可能會感到相當的困擾。

所幸的是,Three20 的文件標頭檔 (headers) 註解相當齊全,對於每個類別的 Property、Methods 都有很詳細的註解,故開發者可以透過閱讀這些註解學習這些 API。

而且當你 下載 Three20 的同時,你也會得到許多範例程式,像是 TTCatlog 這個包含大多數 Three20 UI 元件的展示程式以及 TTTwitter 和 TTFacebook 這兩個分別搜尋 Twitter 和 Facebook 上的 Three20 相關內容的範例。

結論

筆者在今年參加了 Google Summer of Code 這個由 Google 贊助的暑期開放原始碼活動,讓學生們能夠實際參與開放原始碼開發的工作。而我所作的專案便是替 Three20 增加 iPad 的支援。

在接下來的幾個禮拜中,筆者將陸續撰寫 Three20 相關的文章,希望能夠帶領各位讀者深入淺出 Three20 這個框架,還請各位讀者拭目以待。