技術總是在不停地發展,理論也在不停地發展,時裝可能會復古,但技術不會。如果你現在正準備做一個全新的網站,或者你現在準備改造一個舊網站,那麼有些是你應該要註意的。我接下來要說的,不一定是多麼新的東西,但確實很多網站在開發的時候沒有註意到。
基於REST API
Amazon是一傢很有前瞻性的公司,遺憾的是我們隻知道它是一傢賣書的公司,但實際上它是三大雲服務提供商之一,其它兩傢是Google和微軟, 但Amazon顯然不是排第三名。Amazon在很早前就提出產品全部API化,即使是自己內部的產品,也隻能通過API調用。
就算你的網站不準備提供公開的API服務,也應該基於API開發,你可以不提供這個服務,但你應該有。沒準哪一天你的老板突然要求說,我們和XX公 司要合作,怎麼把數據提供給他們,難道你告訴老板說我們要再準備半年麼?有傢公司準備找我做一個iOS上的項目,我告訴他們要提供API,然後他們已經折 騰一年,還是沒有把API提供出來,My God!
REST可以讓API更加簡潔,起碼我是這樣理解的,我們把服務器上所有的內容都抽象成為一個個資源,然後提供增刪改查就可以瞭,好像初級程序員必學就是這四個瞭。但事實也不是太容易,技術並不僅僅是寫代碼,更難的是設計,REST就是設計的范疇。
三屏兼容
你的網站不僅僅隻能在PC上訪問,還需要在手機和Pad上訪問。你可能會叫救命,當當是PC上的瀏覽器兼容就已經讓人頭大瞭,還要兼容Pad和手 機,天啦。沒有辦法,誰讓移動用戶越來越多瞭,最起碼要兼容Pad的用戶。要做到這些其實真的不難,如果你的網站能做到API化和數據分離,三屏兼容的工 作量沒有你想象中的大。
對於一些古老的瀏覽器和設備,向它們說拜拜吧,記住,不要試圖討好所有的用戶,搞清楚自己的目標用戶都在用什麼瀏覽器很重要。對於像IE6的用戶, 可以提供給他們一個簡版的網站,然後提醒他們升級。如果你的用戶以IE6的用戶居多,那你還升級什麼網站呢,估計不是做新聞就是采集下載站,讓他們看廣告 吧。
數據與實現分離
這點很重要,因為我講的很多地方都依賴於數據與實現分離,這不是什麼新理論瞭吧,但遺憾的是大傢都喜歡把數據和實現糾纏到一起。社交化時代搜索引擎 現在真心不那麼重要瞭,很多網站最大的訪問來源已經不在搜索引擎,而是社交網瞭。果斷全站采用AJAX吧,好處太多壞處太少。如果你網站還在過於依賴於搜 索引擎,那麼你應該反思一下瞭。另外,你也可以針對搜索引擎和用戶提供不同的頁面,Google現在已經可以索引AJAX的頁面瞭吧。
國際化
就算你的網站隻面向中文用戶,也應該實現網站的國際化,指不定哪天你的老板說我們要面向全球用戶呢,也可能哪天你的網站墻內開花墻外香呢。對於那些 采用GB2312編碼的網站我是深惡痛絕的,做技術的要有一些前瞻性眼光。當然國際化不僅僅語言的問題,但你語言的問題都沒搞好,談什麼國際化。
支持OAuth和OpenID
多數情況下,你的網站應該可以通過第三方帳號登陸,比如說QQ、人人網、Google、Twitter等等帳號登陸,既然可以利用他們海量的用戶資 源,為什麼不用呢。我實在不明白某些網站提供的服務很一般,要求你註冊填一大堆的資料,恨不得刨你傢的祖墳,這是不對的。還有一些網站,也不是什麼重要的 服務,非得要用戶提供極高復雜度的密碼,這也是不好的。
支持社會化分享和RSS輸出
用戶在你的網站上應該很容易分享到Facebook、Twitter、騰訊微博、新浪微博等等社交化的網站,並且你應該鼓勵用戶多多分享,熟人之間的傳播信任度會比搜索引擎高。支持RSS輸出,這和你網站的類型有關,如果你是一個全封閉的網站,那麼略過這條吧。
註重移動設備
如果現在你還在忽視移動設備,那還是洗洗睡吧,你的網站除瞭要提供可以在移動設備上訪問之外。還應該提供相關的App,畢竟用戶還是不習慣打開瀏覽器輸入你的網址,占據用戶桌面還是沒有過時。
基本上你隻需要搞定iOS/Android/Windows Phone就可以瞭,對於什麼S60之類的,放棄它們吧,諾基亞都放棄瞭,你還有什麼理由不放棄呢?
結語
不要擔心工作量的問題,你這樣做隻會越來越簡單,未來要升級變化也很容易,凡事先難必後易,反之亦然,能量守恒定律在此處也效。如果你的網站架構設計得好的話,兼容的工作量也會減少。
如果你還在不停修改網站的深淵裡煎熬,馬上徹底重構,如果舊的項目無法修改,那麼就放棄它,修改的成本有時候會大於重建的成本。有些項目可能牽扯太多,無法一下子替換,那就一步步換,總是要死的,無非時間問題,別讓團隊陷入到改Bug的泥沼中去。
國內技術通常要比國外技術落後,我講的這些並不是什麼先進的技術,但我拍腦袋認為,國內絕大多數網站沒有做到2點以上。
没有评论:
发表评论