Web 2 0 程式設計思想 16條法則

2021-04-18 11:44:13 字數 3501 閱讀 6148

簡介:

無論你是乙個web 2.0應用的建立者還是使用者,請清晰的構思你的目標。就像「我需要儲存乙個書籤」或者「我準備幫助人們建立可編輯的、共享的頁面」這樣的目標,讓你保持最基礎的需求。很多web 2.0應用的最初吸引之處就是它的簡單,避免並隱藏了那些多餘的複雜性。

1、在你開始之前,先定乙個簡單的目標。無論你是乙個web 2.0應用的建立者還是使用者,請清晰的構思你的目標。就像「我需要儲存乙個書籤」或者「我準備幫助人們建立可編輯的、共享的頁面」這樣的目標,讓你保持最基礎的需求。很多web 2.0應用的最初吸引之處就是它的簡單,避免並隱藏了那些多餘的複雜性。站在建立者的立場,可以想象google的幾乎沒有內容的主頁,還有del.icio.us的簡單的線條。從終端使用者的角度來看,與之齊名的就是diggdot.us所提供的初始化頁面。你能夠並且希望加入更多功能,但是先做好最開始的。在乙個時候只做乙個特性,完成乙個目標。這聽起來很太過於單純化了,但它將使你更加專注,而且你也會明白我的意思。

2、鏈結是最基礎的思想。這就是我們稱之為web的乙個理由。鏈結是把web中各種實體連線起來的最基本的元素。你的資訊、你的關係、你的導航,甚至是能夠被寫成url的任何內容。這裡有乙個鏈結應該遵循的規則(其實你也不必嚴格的遵守):

1. web上的任何東西都是可以被uri或者是url所連線的。    2. 把所有的鏈結都儲存為他的原始出處,這樣可以讓你與任何人、在任何地方、任何時候都能分享它。    3. 第二條中任何時候的前提是鏈結必須是持久的,它不會在沒有任何緣由的情況下被改變或者是消失。    4. 鏈結應該是人類可讀的、穩定的、並且能夠自我詮釋的。

3、資料應該屬於建立它的人。

是的,你聽我的。任何使用者建立的、貢獻的或分享的都是他們自己的,除非他們很明顯的放棄這個權力來讓你自由處置。他們貢獻到web上的任何資訊都應該是可編輯的、能被刪除的、並且能夠取消共享,無論在任何時候,只要使用者願意。這也包含了那些間接的資料,像他們所關心的記錄、日誌、瀏覽歷史、**訪問資訊,或者是任何可以被跟蹤的資訊。所有的**必須清晰簡單的陳訴那些資訊是使用者建立的,並且提供他們停止建立的方法,甚至是清除的方法。

4、資料優先,體驗與功能其次。

5、做好積極分享一切的準備。

盡可能的分享一切,你所擁有的所有資料,你所提供的所有服務。鼓勵不遵循原有意圖的使用,提倡貢獻,不要那些需要分享的內容堅持設定為私有的。在分享與發現之後,提供易於使用的瀏覽方式是顯而易見的需求。為什麼呢:話說回來,你會從別人的共享之中受益匪淺。注意:這裡沒有許可讓你去侵犯版權保護的法律,你不能夠去分享你燒錄的***或者是擁有商業版權**,因為你已經同意不會去分享這些東西。但是你可以發現並分享那些完全開放的**內容。乙個小小的建議,你可以學習一下creative commons license(共創協議).

6、web是乙個平台;要讓它成長。

當然,我們還有很多其他的平台(windows、linux、mac),但是那些已經不是重點了。換句話說,web是無法脫離的平台,不會中斷的平台,你可以通過各種方式去擴充套件的平台。你在web上提供的資料與服務將會成為web一部分,最終你會在web平台的某一處扮演你的角色。扮演好你的角色並照顧好後來者。

7、理解與信奉「階梯性」。

現在的web越來越大,幾乎蔓延到了全世界的所有國家,並且已經擁有了10億使用者。我的觀點是web的各個組成部分存在著細微的區別和不同,就像不同地方的使用者那樣。例如web的設計部分:易用性永遠優先於速度、可靠性、重用性與可整合性。你也應該提供同樣的體驗給你的使用者。它已經被一次又一次的被人們在文件中強調,忠誠的使用者很快會成為專業的使用者,他們期待更快的速度還有更多。退一步支援他們。同樣,也有很多很多的使用者會進入這個階梯的底端,如你所期待的那樣。他們可能不會說你的語言,不熟悉你的文化,甚至不知道是如何到這裡的。所以你需要向他們表達清楚。

8、任何東西都是可編輯的。

9、web上的身份是神聖的。

不幸的是,這並不意味著你能夠得到更多的隱私(這完全是上個世紀的想法)。但對身份的驗證是必要的,你應該感謝那些只需乙個郵件位址就能確定你身份的服務。這意味只要你對你的使用者承諾了,你就必須保證他們的隱私安全。必要的時候,在這個世界的某處你還得為你的使用者挺身而出,向當地的權威挑戰。如果你沒有打算那樣做,你就得把實際情況告訴你的使用者。另一方面,如果身份是必須的,不要試圖偽裝它,不然在某一天我們將會在web上放棄我們的最後一點點隱私的權利。

10、了解流行的標準並且使用他們。

從乙個消費者或者是創作者的立場來看,資料將會以不同的格式與任何乙個人交換。同時這樣的資料也會反過來促進標準的完善與採納。這通常意味像rss、 opml、xhtml、****** xml、json等簡單標準的流行,而避免soap、xsd,還有rdf、atom也一樣,使用它們會給我的內心帶來痛苦。請你也為你所鍾愛的標準投上一票來支援它們。

11、遵循無意使用的規律。

如果你把非常有趣的資料和服務用廣泛使用的格式開放和共享出去,你將會得到你所應得的,其他人也將會基於你的那一塊web平台來構建。或許還會從別人那裡得到更多,所以為這個做一下準備比較好。我已記不清有多少次我看到乙個播客(podcasting)服務因為流行過渡而導致服務垮掉,就是因為他們被 slashdot和del.icio.us給收錄了。這一點要知道:網路上的大量化意味著如果乙個內容非常有趣,即使是乙個很小的角落也會得到驚人的訪問量。鼓勵使用這種方式,它還是非常有價值的,前提是你要有所準備。

12、粒化你的資料與服務。

13、提供使用者能夠單獨受益的資料和服務。

漸漸依賴於這種社會化參與是存在風險的,你需要讓你的使用者有一點點動機來貢獻時間、熱情和資訊,除非他們能夠直接受益。社會化分享比個體行為的利益大很多,除非你能夠激發使用者的個人動機,否這你將無法享受這份厚禮。

14、讓使用者組織並過濾資訊。

不一定是必須的,但卻是非常重要的。讓使用者以他們自己的方式來標註和組織資料,因為你自己是永遠無法及時的處理他們的。使用者會按照他們自己理解的最佳方式來處理並構建。要保證你的web服務能夠按照使用者所需所想的方式來工作。這也是標籤(tagging)和通俗分類(folksonomies )的方式如此成功的主要因素。

15、提供豐富的使用者體驗。

16、信奉並支援快速改進和反饋。

這個通常意味著加快步伐,但也意味著使用輕量級的工具、技術和不要做出那些適得其反的痛苦決定(例如使用乙個被層層環繞的ajax框架來代替可以通過混合來實現的,或者用c++來構建所有的東西,其實使用ruby會更好一些)。這同時也意味著需要乙個非常快速的方式來處理錯誤報告,修復bug,釋放新版本。從乙個使用者的角度來看,報告你所發現的任何問題,還有那些你經常抱怨的地方,甚至那些都不是乙個bug。

當然,web 2.0是乙個極其廣泛和深奧的話題,沒有乙個人能夠列舉出它的所有重點和特徵。如果你對此充滿了興趣,請花一點時間來補充我沒有提到的地方。我想這就是web 2.0的參與性吧。

Web2 0程式設計思想 16條法則

1 在你開始之前,先定乙個簡單的目標。無論你是乙個web 2.0應用的建立者還是使用者,請清晰的構思你的目標。就像 我需要儲存乙個書籤 或者 我準備幫助人們建立可編輯的 共享的頁面 這樣的目標,讓你保持最基礎的需求。很多web 2.0應用的最初吸引之處就是它的簡單,避免並隱藏了那些多餘的複雜性。站在...

Web 2 0 程式設計思想 16 條法則

1 在你開始之前,先定乙個簡單的目標。無論你是乙個web 2.0應用的建立者還是使用者,請清晰的構思你的目標。就像 我需要儲存乙個書籤 或者 我準備幫助人們建立可編輯的 共享的頁面 這樣的目標,讓你保持最基礎的需求。很多web 2.0應用的最初吸引之處就是它的簡單,避免並隱藏了那些多餘的複雜性。站在...

Web 2 0 程式設計思想 16 條法則

1 在你開始之前,先定乙個簡單的目標。無論你是乙個web 2.0應用的建立者還是使用者,請清晰的構思你的目標。就像 我需要儲存乙個書籤 或者 我準備幫助人們建立可編輯的 共享的頁面 這樣的目標,讓你保持最基礎的需求。很多web 2.0應用的最初吸引之處就是它的簡單,避免並隱藏了那些多餘的複雜性。站在...