Ajax好書推薦:Ajax設計模式

雖然沒什麼能力、資格寫書評,不過分享、推薦一下我正在看的書總可以吧XD

其實Ajax Design Patterns一書已經出版將近半年了,而中文翻譯本則是最近才正式上市。(書商手腳滿快的,連我身在偏僻的政大,校內的書局都已經有翻譯本了。)要不是我生性懶惰,懶得看原文書,我可能早就已經買了原文書回來啃了,甚至是天天上Ajax Patterns網站加強內功;現在中文書出來了,每天晚上就當閒書看一下,說不定就因此多點想法、或是修正一下原本錯誤、原本不夠好的觀念。(即使是買回來擺著當工具書,有需要用到的時候才看也值得。)

我買Ajax設計模式一書的理由

Design Pattern對我而言最有價值的一點在於它整理了人們過去所遇到的問題,並且提出對應的解決方案,像我這種經常質疑自己程式寫法是否正確的人,Design Pattern無疑是一個非常好的參考工具。以Ajax Design Patterns來說,網站上(或說書上)提供了各式各樣的Pattern,對我這種還不是很懂Ajax的人,目前我所想得到的應用,幾乎書上都有了。

Ajax Design Patterns一書的特色之一是在每個Pattern的開頭敘述一段場景,描述某個程式設計師在開發過程所遭遇的問題,並且列出每個問題相關的細節,進而提出對應的解決方案以及網路上現有的網站應用,最後再提出相關的範例程式跟參考資料。Ajax設計模式一書中,每個Pattern都有下列各小標題:

    • 開發者故事
    • 問題(明確地點出開發者故事中所提到的問題)
    • 力量(針對上述問題設想的測)
    • 解法(具體提出解法)
    • 決策
    • 實例(以網路上現有的網站來說明該Pattern的具體應用)
    • 程式碼範例
    • 替代作法
    • 隱喻
    • 更多資訊
    • (此外,每個Pattern的開頭都有三個圈圈,圈圈的意義請見朱仲傑先生所寫的書評「Ajax的難題解答」)

對我而言,這樣的一本書不但架構清楚,而且可以讓我快速地吸收其中的概念,即使沒辦法馬上用到我正在開發的專案上,未來它也會成為一本非常有價值的工具書。(當然也包含了Ajax Patterns網站上持續在更新、增加的Patterns。)

 

書評

至於專業書評的部份,有興趣的人可以到iThome Online網站參考朱仲傑先生所寫的書評「Ajax的難題解答」以下摘錄一下該篇書評所提到的幾個重點:

  • 本書作者Michael Mahemoff在2004年底開始在他的部落格裡開始發表Ajax相關文章,他會找尋程式設計師在開發Ajax相關應用上所遇到的問題,並替這些問題整理出最佳的解決方案
  • Michael Mahemoff在2005年5月成立了AjaxPatterns.org網站,將整理好的Pattern放在網站上讓網友查詢參考
  • 而本書即2006年作者將網站上的70個Patterns集結起來的成果。
  • Ajax Patterns網站上將所有的Ajax Design Patterns分成四大類:
    (可參考http://ajaxpatterns.org/Patterns
    • Foundational Technology Patterns
    • Programming Patterns
    • Functionality and Usability Patters
    • Development Practices

其他的部份,就請到iThome網站上參考吧!
http://www.ithome.com.tw/itadm/article.php?c=39767

Ajax Design Patterns

Ajax設計模式
作者:Michael Mahemoff
譯者:楊仁和
出版社:歐萊禮
出版日期:2006 年 12 月 15 日
語言別:繁體中文

What’s Ajax?

Ajax是2005/2/18由Adaptive Path的Jesse James Garrett提出的「名詞」,在此特別強調是因為相關技術早就被廣泛應用了,但是一直到Garrett提出Ajax一詞之後才以Asynchronous JavaScript and XML的技術應用及概念來統稱整個相關的架構。

Reference

Free Ajax Ringtone Maker線上剪接音樂鈴聲

昨天逛Ajaxian.com看到的Free Ajax Ringtone Maker,可以讓使用者上傳音樂之後,直接在線上剪接音樂,省去平時在電腦上想要剪接音樂卻還要安裝剪接軟體的麻煩。(而且通常都不會是正版的)

Free web ringtone maker的網址是http://rtmaker.cellsea.com/

 
目前主要提供四種方式讓使用者上傳音樂:

  1. 直接從使用者的電腦上傳(顯然上傳的速度不是很快Orz)
  2. 輸入音樂網址上傳
  3. 給網頁的網址,程式會自動抓該網頁的音樂
  4. 用Google搜尋音樂(不過顯然我寫這篇文章的時候,搜尋功能是爛掉的XD)

 上傳的過程應該是AJAX寫成的Progress Bar
 

傳一首歌的時間這麼久,我應該要收回剛剛說的「省去安裝軟體的麻煩」,而且印象中這應該不是第一個線上剪接音樂的網站了吧Orz明明就已經有線上剪接影片的網頁了。

不過總是個概念、也是個技術,尤其如果網路頻寬足夠的情況下,一些簡單的動作未來透過網路應該都可以完成,晚點再來介紹個線上版的Photoshop,那可是今天HEMiDEMi很紅的書籤之一喔XD

等到此時我已經受不了了,可能是我家網路太慢,或許學術網路會好一點,我隨便丟了一首放在學校主機上的音樂,以URL的方式上傳,沒想到居然Timeout,大概是跟我無緣吧Orz

有興趣的,可以自行前往XDhttp://rtmaker.cellsea.com/

Prototype Window Class

 

Prototype Window Class:http://prototype-window.xilinus.com/

昨天亂逛到的一個AJAX Framework,主要訴求是希望讓Web開發者透過Prototype Window Class便可以輕鬆地在網頁上產生各式各樣的視窗(Window or Windows)。

比較吸引我的是Prototype Window Class的文件很完整,使用起來應該不會有太大困難,再加上Sample網頁有幾個範例很吸引我,像是登入視窗的特效,很簡單就可以做出類似HEMiDEMi或是Netvibes的登入效果,對我這種懶人而言,不需要多研究什麼東西就可以完成一件事情是多麼美好的事情!
(稍微翻譯一下它的首頁好了orz,沒什麼技術能力可以充實內容,只好靠英文字典了XD)

Overview

根據Prototype Window Class首頁的說法,它是以Prototype為基礎開發出來的,同時是「inspired by the powerful script.aclou.us」(這個說法很酷,之前有聽到script.aclou.us是Driven and Inspired by Ruby on Rails,這麼推演的話,RoR真的是非常偉大!),目前已經在Safari, Camino, Firefox以及IE6等瀏覽器上測試過。

Features特色

  • Prototype Window Class所產生的code都是 Valid HTML/XHTML
  • 可調整大小的視窗
  • 支援最大化、最小化視窗(Maximize/Minimize)
  • Modal dialogs(看不懂,大概就是可以產生「確認、取消」之類的對話視窗)
  • 各種視覺效果
  • 可更換Skin

How to Use使用方式

首先在網頁上插入以下程式碼,最後一行是Themes的設定,要更換視窗風格只要修改此行即可:

[js]




[/js] 

接下來是進行宣告視窗的動作:

[js]
win = new Window('window_id', {className: "mac_os_x", title: "Sample", width:200, height:150});
win.getContent().innerHTML = "

Hello world !!

"; win.setDestroyOnClose(); win.showCenter(); [/js]

如果在官網上,程式碼下面就有Test it可以馬上看到效果,在此放張截圖:

Calc 5:3D Calculator Online

Calc 5:http://www.calc5.com/

線上3D繪圖網站,直接輸入各式各樣的方程式就可以求解並繪圖,非常強大,從簡單的三角函數到複雜的多項式、微積分,或是二維繪圖、3D製圖都可以。(以前修作業研究Operations Research常常要畫簡單的平面座標,當時要是知道這網站就方便了!)

此外,Calc 5還支援Zoom In/Out或是平移的動作,很酷!