當 我們給人們介紹dojo的時候,遇到了兩種難題。有些用戶已經使用DHTML很久,并且對javascript有了很深的理解,他們清楚 javascript能作什么,不能做什么,在腦海里存在定型思維,有些時候,更難讓這些人明白dojo。第二種難題就是對于那些新手,他們太缺乏經驗和 對javascript的了解了。
我鼓勵這兩種朋友都讀一下介紹內容,甚至你可以不全看。
什么是Dojo?
其實總結Dojo到底是什么是非常困難的。我說總結Dojo是很困難的,是因為Dojo是一個可擴展的代碼集合 (expandable collection of code)。擴展不只是來自于眾多開發者,并且你會發現你可以根據你自己的需要擴展自己的一套東西。就是說,你把目光放在Dojo身上的原因是因為 Dojo可以和javascript取長補短。
在開發客戶端(client-side development)總共有3個主要部分:events,重復使用DHTML blocks,客戶端和服務器傳遞信息。Dojo在這三方面都很在行,并且使他們變的很容易。
歷史
譯者注:歷史我是真不想翻譯了,如果有人很感興趣的話,可以給我留言,我有時間會翻譯的。
。。。。。。。。。。。。
什么是工具(Toolkit)?
很多人認為結構(framework),庫(library),工具是同一個意思。但是弄清楚它們之間的區別,對于以后的理解很有幫助。
Framework
在軟件開發中,為了讓其他的項目可以分享和合作,通常定義一個結構(framework)。一個結構通常包含支持程序(support programs),庫和一個腳本程序。你可能認識到Dojo就是framework的一個部分,但并不是framework的本身。
Library
庫文件定義了很多可以引用的方法(function),它們是在任何位置都可以運行的,并不是我們平常自己在程序中定義的方法。看了這些,你可能會說“嘿!dojo就是庫的集合!”。你應該是對的,但是,dojo比一個庫的集合要包含得多很多。
Toolkit
看 過前文,你可能還在琢磨到底dojo是作什么的。很明顯,他不是一個結構(framework),它是一個工具(toolkit)或者是一個庫?最后讓我 來解答一下,通常庫都是之前定義好的,你可以引用到你的程序中并使用它們,但是在dojo中,我們在這個庫外面加了一層封包系統。這樣就使它跟一般的庫有 些不一樣。
在這個系統中,我們把庫分成很多部分。有核心方法(core functions),還有很多其他不常用的子庫(sub library)。這就使你使用dojo的時候感覺它很簡潔。下面會有更具體的分析,會讓你更加明白dojo。
Dojo會給你什么
曾經,Netscape盛行一時,大部分人都在使用,所以當時Netscape給出了一個網站制作的標準。好景不長,后來出現了微軟的IE,IE當時強過Netscape,成為了新的標準。但是這個標準跟W3C有一定的差別,所以在人們制作網站時,開始向IE新標準靠攏。
很多年過去了,IE依舊不敗,而且并沒有更新很多。一樣多的bug,缺少標準化。慢慢的網蟲們開始使用firefox,opera,safari,它們為了跟上W3C的標準,所以更新得很快。
很多同樣的功能,但是對于不同的瀏覽器需要寫不同的代碼,這對我們來說意味著什么?意味著我們要做出一個完美的網站是很苦難的。這時一個程序員會去做什么呢?
知識補充
如果光使用靜態html制作網站,當然不會出現上面的問題,但是這也意味這網站不可能具有交互性,最多的也只是提供一個表單(form)讓用戶提交,然后再返回一個新的頁面顯示數據。
Javascript的出現正是為了解決這些難題。
解決所有問題
Dojo不僅是存在于抽象層,并且也是獨立存在的。不只是提供一些庫,一些方法,一些功能,而且讓的代碼更加簡潔,保證你的代碼只包含所需要的部分。
Dojo會讓你的生活更加簡單,因為他替你鏈接了很多東西,把你的復雜項目分成一些小問題,讓你的代碼更簡潔,更有效率,并且可以更好的重復使用。
第一章:開始使用Dojo
Dojo有很多版本,你可以一下子不知道該選擇哪個,這里可以讓你放心,無論你使用的是什么版本,本書中的例子你都可以運行。
下載Dojo
(譯者注:這個是我使用的版本,zip文件,你也可以自己到Dojoa主頁進行下載。)
Dojo模塊(Modules)
Dojo的庫定義使用了模塊,就像JAVA一樣。這樣可以讓你只引用自己需要的部分,而不是全部,保證了瀏覽速度。
例如Dojo的event包定義在模塊dojo.event中。
(譯者注:此部分原著甚是 主站蜘蛛池模板: 静宁县| 宁陕县| 武山县| 呼图壁县| 阿图什市| 青田县| 平远县| 黄龙县| 如东县| 赣榆县| 嘉峪关市| 河东区| 桂东县| 辽宁省| 新巴尔虎右旗| 蓬安县| 兖州市| 长治县| 毕节市| 宝坻区| 崇义县| 鹤庆县| 扬州市| 湖北省| 瑞丽市| 喜德县| 浦县| 罗田县| 台前县| 龙口市| 溧阳市| 沈阳市| 昌宁县| 甘南县| 贺兰县| 淮北市| 腾冲县| 商南县| 堆龙德庆县| 安平县| 门源|