Rails RJS Templates 再探

如果看了上一篇,以為有了RJS就不用學不用寫 Javascript 跟 Prototype.js,那就錯了… :p

RJS 你可能會以為是 Ruby JavaScript,Ruby 要統一 JavaScript 了。不過其實是 Remote JavaScript 的意思,顧名思義它主要用於 Ajax Request 的遠端回應。不需要用 Ajax 的地方還是應該乖乖用 Javascript 來寫(你要透過RJS繞一圈來做也沒什麼辦不到啦~) 在rhtml中就寫好Javascript,除了直接寫  Javascript code 之外,也可以用 update_page 和 update_page_tag 來生成Javascript code(感謝contagious補充修正)。一來是效率時效考量,二來也讓RJS保持乾淨。所以還是要會 Javascript跟Prototype才能正確運用RJS的方便性。嗯,還在努力學習中… 真是太神妙了… Orz 

承上一篇的範例,最簡單的例子就是載入畫面,這玩意當然不需要再發 Ajax Request了。 閱讀全文〈Rails RJS Templates 再探〉

Microsoft IE7 正式發布

Update(2006/12/1): 繁體中文版出了。 

ie7

歷經20個月,發了5個bata及1個release candidate版本之後,終於到了正式發布了,IEBlog上 Bill 都來 congratulate 一下。IE7的CSS有重大改善,增加好用的 Tabs 功能、RSS Feeds 及搜尋框,以及種種安全性加強。

Internet Explorer 7: 下載

台灣微軟也做好下載頁面了,不過我點中文版還是連到英文去,多語系版本還要再等一陣子。相信在過不久微軟就會用自動更新來硬塞給你…. XDXD

網頁設計又要大攪動了,現在除了要檢查 IE6跟Firefox,IE7也要加進來考慮了。有很多網站用IE6可以看,但是IE7會有問題,像是蕃薯藤新聞,會發生選單疊到內文的現象。台灣企銀的網路銀行連登入都不行(為什麼銀行的HTML都寫的很爛?)。雖然會有一些陣痛跟麻煩,但是我覺得是很好的進展啊。

接下來是 Firefox 2.0 …

Rails RJS Templates 初體驗

RJS templates 是 Rails 1.1 中的一種新 template,它的開發者 Sam Stephenson 也是 Prototype.js 的作者。不像一般 template 產生 HTML 或 XML,RJS templates 產生 Javascript (based on prototype) code 傳給瀏覽器執行,你可以在 template 中一次修改頁面多個地方,而所有 template 語法皆是用 Ruby 來寫。

要學RJS template,目前最好的文件應該就是這份 Cody Fauser 所寫的 RJS Templates for Rails 了,直接線上買PDF版(也只有PDF版),而且作者會更新,我手上的是 9/26。另外 slash7 提供了一份漂亮圖例 RJS Demystified With Pretty Colors!。RubyInside 則有整理了一份 16 RJS Resources and Tutorials for Rails Programmers

以下是一個簡單的Ajax範例,需要寫的程式碼很少,而且重點是不需要寫 JavaScript。 閱讀全文〈Rails RJS Templates 初體驗〉

Prototype 簡介

Prototype 似乎是目前最紅 javascript framework,作者善用了Javascript物件導向的特性,增強了 Javascript 的功能與開發便利性。在實際看過之後,發現它並不是一套包裝太多的架構(像是動畫特效的東西就不在裡面),也因此也有一些 framework 如 Script.aculo.us 是以 Prototype 為基礎來開發的。當然,還有 Ruby on Rails 也用 prototype 來達成 Ajax 功能。

參考資源

它大概包含了哪些東西呢? 例如有: 

閱讀全文〈Prototype 簡介〉

程序員: Web開發之華山論劍

不知道有沒有人會看程序員,大概從去年開始,幾個電腦書店通路都開始賣這本對岸的雜誌。這一期10月號的程序員雜誌特別企劃,拿 Ruby on Rails、PHP、ASP.NET、Java 來比較一番。

Ruby on Rails

Ruby 語法簡單,物件導向功能強大,但 Rails 還太年輕,效率不夠優化,類別庫不夠完備。

Ruby難入主流的幾個原因 : 1.Ruby比起 PHP 和 VB還是難多了,PHP和VB是便宜貨(甚至沒有命名空間),但卻是事實上Web開發標準。2. Rails太超前了,有時候魔術變多了,就變成魔鬼。太富跳躍性,過於智能,開發人員就難以理解。3.沒有可靠的IDE。4.Ruby 上只有 Rails 這個Web應用方案,缺少競爭。5.企業級應用能力和擴展性未明,除了Rails社群中成功的網站,在其他領域是否也有成功案例。6.缺乏網路提供商支持,99%都支援PHP。

PHP

廣受群眾認可使用,但卻在很多開發人員中評價卻不高。PHP的通俗易懂而沒有挑戰性的概念,PHP寫三年好像也沒什麼好說的,Java學三年確有很大區別,可以講出很多開發架構跟部署問題。缺乏體系的開發架構也讓PHP很難成為企業應用系統的選擇。而很多PHPer開發的隨意性和不負責任,也讓PHP的口碑不高。

LAMP草根組合 ,PHP的問題在物件導向特性不足,在大型專案中容易混亂。不過隨著PHP5加強的物件導向,也越來越適合中大型了,但是卻也與本來簡單通俗的精神背道而馳了。

Java

SSH(Struts+Spring+Hibernate)是目前最廣為接受的組合,但是分析及實作費工不少。

ASP.NET

微軟技術壟斷,在Atlas的幫助下,開發Ajax變的簡單,但是過於依賴的結果,可能缺乏深入了解DOM。對一個框架不能深入了解核心的情況下,是很難投入太多信任的。ASP.NET運行在windows平台,比較適合開發企業ERP等中小型服務。系統本身不夠透明,因此後期的風險會比較高。

如果可以不用Ajax,就不要用Ajax,雖然有很多框架宣稱你可以不用了解Javascript也可以開發出Ajax,但是Javascript是一切的基礎。如果你的團隊沒有比較資深的Javascript開發人員,採納Ajax很多時候是惡夢的開始,你需要不斷的和scripting error奮戰。