首先google了一下,什么ajax十大框架排名,找了幾個順眼的,prototype,dojo,ext,jquery。都不錯,dojo的示例真強呀,jquery也不錯,慢慢嘗試吧,慢點做個應用,好好研究研究。哈哈
隨筆分類
隨筆檔案
文章分類
文章檔案
收藏夾
我的網站
- 很多flash小游戲,在線玩的
小鎮樹妖--住在樹上的妖To follow the path: look to the master, follow the master, walk with the master, see through the master, become the master. |
2006年9月25日 #
看了網上關于ajax的熱烈討論,終于按耐不住,嘗試了ajax的幾個框架,感覺還是不錯的選擇,做網站好像不是很好,做應用很不錯的。以前自己用過xmlhttp,沒有用框架,只是簡單的使用xmlhttp,返回text,然后把text放到頁面里顯示,僅此而已,不過已經覺得夠用了,如果有多個可以使用xml,返回xml后用javascript解析一下,分別動態的生成html元素,這個用起來比較舒服,因為我平時都用ff來瀏覽,基本沒有什么問題,IE就讓人頭痛了,要使用activex。所以就開始尋求框架的幫助。
首先google了一下,什么ajax十大框架排名,找了幾個順眼的,prototype,dojo,ext,jquery。都不錯,dojo的示例真強呀,jquery也不錯,慢慢嘗試吧,慢點做個應用,好好研究研究。哈哈
做了幾年技術,一路走來,接觸了很多新事物,對各種語言工具也略有了解。記得剛接觸的時候學習的是Java,實習也做了java,記得當時一次面試一家日資公司,因為是剛畢業的小朋友,工資提的低,因此用人單位比較開心,硬讓我學習vb,還說java沒前途,當時覺得很不甘心,話說畢業前夕我也看了很多資料,當時就下定決心做java了(當時是2003年),怎么會去vb呢,所以毅然放棄了,現在看來還是有點技術前瞻性的,呵呵。可是沒想到的是后來的工作歷程中,居然只有1年半左右時間在做JAVA,其余的都給asp,php了,特別是php,大概了3年了吧。因此也免不了俗,一直來比較比較。
空談沒什么意思,asp就不談了,這次空下來用OO的思想,javabean的形式,MVC的理念使用php做了個小應用。OO的話以本人愚見,應該都是對象操作,因此建好數據庫,數據庫操作的基類先寫好,據說php5的類做的相當好,速度要比php4的function都快,所以我在數據庫基類的構造方法里進行連接數據庫,等著被繼承吧。 接下來是對對象的封裝,很小的應用,只是對一個用戶數據庫的操作,因此寫了個user 類,對屬性進行set/get封裝,用上標志性的private 修飾符,感覺還不錯,只是覺得->這個符號比起.來多了一個符號,誰叫我是個懶人呢,這都計較。。。 數據模型簡歷好了,進行操作模型的編寫,增,刪,改都寫成類,繼承數據庫操作就好了,感謝繼承的偉大。然后搞個smarty,在頁面里面把操作類拿出來的數據庫塞進template里。 總結一下,View相對簡單,不談,M和C稍微有點混亂,如果我強悍點,寫個apache的extension什么的,專門處理url,因此干脆就把頁面當作C來做,每個C去調用操作Model(邏輯上的),然后處理的數據再給頁面,輸出到view。個人認為使用url的傳值總不是那么回事,雖然可以使用apache來處理,但是。。。感覺一下,很花時間,不如function來的快,雖然到處都是sql,如果將來php也搞這種(下次研究一下zendframework,后臺是IBM,不知他怎么個思想),還是回到java吧,或者ruby也不錯。
長久以來一直使用fedora 6 ,我使用電腦主要還是為了開發,偶爾還玩玩游戲,在癡迷魔獸的時間里只能使用雙系統,嘗試過虛擬機,不怎么樣,再說我的機器也不是很好。
聽說fedora 7出來了,一心想upgrade一下,找了半天下載源,都沒有看到cd的,官網的速度又太慢,沒辦法,下個DVD的吧,找人刻錄一下,2.8G的容量,想想也怕怕的,要下到什么時候,周末的時候騰出半天來,用flashget慢慢拖,可是另人郁悶的事情發生了,下到1.3G的時候,重啟了一下電腦,再打開flashget,就傻眼了,不是號稱斷點續傳嘛~~~太郁悶了,怎么能這樣,居然不能繼續傳,那個叫郁悶啊 想了一下,心一橫,裝ubuntu吧,就一張cd,雖然以前試用過,比較討厭不能使用root,隨便什么命令都要sudo,再用用也無妨啊,現階段主要還是學習bash,軟件安裝和編譯等方面的,所以就動起手來。 這個Ubuntu的好處就是安裝簡單,很快哦,而且服務器多,下載里邊的軟件也快,不像fedora,慢得不行,中文社區也沒多少人,Ubuntu的人就很多了,裝完系統,在論壇里找些資料,沒多久就搞定了,編譯mysql,apache,順便把ror也裝上去,php 5和ror裝好后基本可以用了,接下來就是把系統優化一下,就是把service關掉幾個,換個Mac的皮膚,真漂亮。然后把home的文件權限和權限組改一下,方便工作嘛,這些文件都是老的fedora里面留下來的,裝Ubuntu的時候沒有格式化,沒辦法,我這個人懶啊。 接下來重點推薦一下2個網站,讓我的工作真是方便不少啊,也不完全是工作,呵呵。首先當然是google,包括我的email,文檔管理,工作計劃,基本在google上完成,特別是工作計劃,感覺google的calendar真是棒啊,喜歡google,打算學習python,聽說google招人需要這項技能的。呵呵。另外一個就是游戲 ,游戲中國www.game.com.cn ,可能是因為linux下游戲不多,突然喜歡上了flash游戲,游戲中國 www.game.com.cn 這個網站不錯,速度蠻快的,找到了曾經讓我癡迷的flash游戲 “魔塔”,呵呵,想當年在公司里經常玩的,哈哈 往下的工作是找幾個開發工具,還在尋覓中呢,哪位有好推薦的,告訴我一聲哦~~~
最近,一邊偷懶,一邊慢慢的學習新知識,有時候覺得真累啊,還有麻煩的世事,搞得我像個無頭的蒼蠅,找不到平衡點,誰叫我情商低呢。。。
閑暇的時候接觸到了某門戶網站某頻道的維護工作。使用了一個開源系統,稍微看了一下,還是滿不錯的一個東西,最出彩的就是生成靜態文件,使用一個類完成所有操作,使用javascript顯示進度,生成的靜態文件也不錯,頁面使用自定義標簽和模板。另一個就是使用smarty模板,顯示產品頁面。看了一下代碼,覺得滿不錯的,如果使用smarty,可能我的后臺管理系統只需要幾個tpl模板就可以了,稍微深入思考了一下,感覺可行,哪天下午正好公司的頭都不在,下載了smarty手冊,順便下一個adodb手冊,觀摩了一下,似有所悟,胡亂設計了一下數據庫、模板頁面,打算拿回去好好繼續研究。 玩轉了幾天smarty和adodb,邊看文檔邊做,demo版本的后臺管理終于差不多了,剩下的看了看文檔,似乎還有cache什么的東西,滿深厚的,需要日后再花時間研磨。 經常查看TIOBE的排行,php的走向是最讓人看了舒服的,基本上是爬升的,雖然也是坎坷不平,但是看看其他的,包括java,都有個地方是大落大起的,我欣賞沒有大起大落,只有不斷前進,就像阿甘說的,just run。
???? 很多時候我們都想開發一個萬用的系統,這樣面對客戶的需求就真的可以隨機應變了,如果客戶要改變一個模塊,那按一個按鈕就可以輕松應變,可惜要做到這個不知道要到什么時候了,像我們這個級別的程序員如果能夠最大程度上應對客戶需求已經相當不錯了,畢竟離一個合格的架構師還很遠呀。
???? 還是別扯太遠,解決眼前的問題先。所以現在的問題是如何編寫出可擴展的或者說是易于擴展的代碼,從最原始的時代開始說起顯然是個不明智的方法,或許可以從我本身的經歷說吧,最早以前,用asp做b/s系統,一個頁面來顯示,例如list.php,顯示需要展示的內容的列表,通常這個頁面會有一個按鈕,連接到insert.php,也就是需要用戶輸入表單,然后提交到insert_do.php,處理用戶的輸入,這樣一個輸入流算完成了,以前通常這樣做,但是當現在回憶起來只能說,那是個多么累的方法,或許自己心里會辯解到至少頁面代碼很清晰。后來的想法是,把功能都放一個頁面,例如有list.php和 list_do.php根據url上參數的不同實現不同的操作,例如inset,update,delete等等,可是,事情總是2面的,很多時候擔心客戶端可以使用參數來自定義提交,是不是安全性降低了很多嗎?偶然的機會為了奧林巴斯的網站,可以看出是韓國人寫的,居然在提交的時候自定義一個form,讓數據隱藏,開始覺得這個是個不錯的注意,安全性高又靈活。后來仔細分析其實沒多大實際意義,其實一個懂得用url侵入的人也應該知道自己寫個靜態頁面也一樣,所以很矛盾啊,后來干脆不管了,還是用url傳參數,不同的是傳到自己本身頁面,所以最后只需要一個頁面就可以完成所有的工作。雖然一個頁面可能有幾千行(想起當初大學老師在教c++的時候曾經提過他看過800多行的代碼,但是同學們“哇”聲一片,自己那時候也發誓以后不搞這行當,這玩意傷腦子,可是結果。。。),只要注釋寫的好,維護就ok了,現在最喜歡做的事情就是寫注釋,劃類別,感覺越整齊越舒服。為了讓我的系統能夠活得長久,盡量寫得濃縮,分類盡量詳細,頁面名稱盡量好,所有功能都在一個頁面里面,甚至連圖片的名稱也要好,必須為gif或者png,我這樣的要求我的老婆,因為她是做美工的,css寫得也要好,就是因為這個css,最近碰到好多難題哦,這個暫且不談,不管界面用什么技術,反正程序編碼必須整齊,所有html元素都寫成function,數據庫操作也是,曾經一度在function和class之間徘徊,現在決定php5.0以下用function,以上用class,大項目用ADODB,當然要優化一下,也就是改一改,討厭的就是那個GPL,改好了怎么發布呢?E文不好,吃大虧啊。其他就沒什么問題了,前端顯示直接寫或者模板都可以,這個我不關心,現在主要攻克幾個開源的協同oa,還有ecommerce。 ????? 其實有時候想把公用的function和class寫進include里面,某個模塊的function和class,或者干脆寫class,放在同級目錄下,每個頁面有一個,舉例來說 list.php 有個list.inc.php,后者包括所有的函數和功能讓list.php使用,這也不外乎是個好方法,可是沒有仔細想過,后來稍微研究.net了一下,有點異曲同工。 ????? 好了,以上是我的一些心得,不知道還有什么好的方法沒有,那要看廣大的網友了,毛主席說過人多力量大。
??????信息分頁的問題似乎不是很難,需要改變原來信息的屬性,比如這條信息屬于無子頁的,如果有子頁,另外加入子頁序號就可以了,顯示的時候沒有特別要求顯示無子頁的記錄,等讀到這條記錄是,查詢是否有子頁,如果有就生成翻頁就可以了,應該說是滿簡單的方法,或者干脆建立一張子頁信息的table,后者雖然開銷多一點,可能速度會快點,編碼也方便點。信息模塊基本就是這些重要的了,table方面,一張大類表,一張小類,一張信息,一張子信息,這樣應該就可以了。上傳圖片也不難,編輯這塊,如果客戶懂html,最好就放一個textarea就可以了,這樣顯得專業,而且,頁面不會太亂,不懂的話FCKeditor是個不錯的選擇,類似word一樣。
??????2、產品模塊,這塊應該很簡單,類似呀,不過相對不同的產品可能有不同的參數,如果追求速度,不可定制,專用性強,那就把參數定死了,如果想做得通用些,那么需要多加幾張表,產品類別也做成無限級。如何讓系統定制參數呢,最簡單的就是加table,把屬性值添加進去,當然是在正式運營之前,所以在這些之前必須有個良好的后臺管理系統(Backend Manager),鑒于這個比較難,還是最后考慮吧,先想好其他模塊,考慮周密一些,然后再考慮后臺參數等,也好在修改的時候有個比較啊。 ????????3、會員模塊,我想這塊對于用戶來說越簡單越好,可是后臺可不能馬虎,為了更多了解客戶,知道客戶的很多信息,難道只有讓他/她/它填寫很多資料嗎?當然不,可能一些問答、反饋、抽象、積分更加吸引客戶吧,所以,會員管理部分,除了有積分、等級、折扣等,還可以添加許多功能,當然并不指望在編碼的時候能夠把所有功能加上去,最好就是有個擴展的機制。 ?????????另外,會員的訂單(order )、購買記錄(order list ,can search old order)、購物車(cart)、收藏夾(wish list)等等功能,都是不能缺少的。 ?????????除了后臺管理,似乎一切都很完美,可是..... ?????? 寫這篇文字的時候,一直是在尋找一種自認為比較合理的web開發模式,或者更確切說是一種方法,一種潛意識的標準,說起標準來,有人會說壟斷,那我只能說別把話題扯遠了,因為我要記錄的是在某一環境下,某個前提下所進行的web開發,因此,在一種或者幾種原則的框架下,自然要舍棄某些東西。那就是傳說中的需求!我喜歡清晰的需求。 |