實施重點:Adify
09年11月11號10:13分由珍妮韓唐納利|在發展 , 銳的實現 | 2條評論前雅虎列維沃爾夫是界面開發經理在Adify ,垂直廣告網絡管理和媒體服務公司,是一家獨立的全資附屬公司考克斯TMI的一部分,總部位於亞特蘭大的考克斯企業。
利維曾在軟件開發在過去的10年。 他寫的一切從高性能Web服務器的C / C + +到Firefox插件和ActiveX控件。 列維管理七人小組在Adify的UI。 他們負責一些內部和外部Web編寫的應用程序在C#/ ASP.NET和銳以來一直使用0.11.0。

成員Adify隊:( 從左至右)Kunal霍亂,雷諾王新井隆,列維沃爾夫,羅伯特波特,埃德溫Jarlos,梅爾羅伊薩爾達尼亞。
告訴我們一些關於你的公司/產品/網站。
Adify提供了兩個相關的服務- Adify網絡平台和Adify媒體生成器。Adify網絡Builder是一個完全集成的,端到端的高端技術平台開發和優化的獨特要求的保費垂直廣告網絡及其出版商的合作夥伴。 Adify網絡Builder使企業,如華納兄弟,Univision和福布斯和企業家,如產生共鳴,Yardbarker,和莫古商業化品牌的建立和垂直網絡。Adify媒體是媒體服務部Adify。 建立在Adify網絡平台技術,權力器200多個垂直廣告網絡,Adify媒體具有獨特的訪問超過 12,000的網站在網絡建立的頂尖媒體公司。 Adify媒體達到廣告客戶的目標,通過提供創意和內容有百分之百的透明度,質量年年尾的網站。

什麼是你的團隊的方式發展?
不像許多其他項目使用銳,我們正在建設一個商業應用。 我們的用戶希望快速,反應靈敏的應用程序,他們就可以進入,讓他們的報告,並得到了。 我們希望我們的應用程序充分感受到專業和固體作為桌面應用程序,而不會被傳統的局限阻礙了基於 Web的環境。
是什麼讓銳很適合你的項目?
由於銳是完全客戶端,它集成了許多非常出色的服務器技術(ASP.NET包括在內)。 這是非常穩定和專業的維護。 這可以看出,在一切從許多例子和非常有益的API文檔的積極論壇和bug跟踪。 讓我印象深刻雅虎此類人才的工作,他們的東西免費贈送。
你是如何使用銳?
我們有近200 aspx頁面,幾乎所有的人都以某種方式使用YUI。 我們正在使用的字體和網格 CSS組件(我們還沒有完全工作到復位過)。 我們使用的核心部件來導航和操作DOM,並順利通過瀏覽器差異。 一些較常見的所謂功能包括Dom.addClass() , Dom.getElementsByClassName() , Event.stopEvent() ,和Event.onDOMReady() 。
我們可能使用大約一半的Widget組件,一些要點如下:
- 使用DataSource的權力圖表和數據表 。 它變得非常輕鬆切換本地或XHR的來源取決於數據量,這是偉大的客戶端性能。
- 用拾色器的控制,以建立一個高度可定制的白色標籤接口。 然後,我們能夠很容易地reskin各種組件與少量的動態的CSS。
- 集成了銳小組與ASP.NET 的UpdatePanel使我們稱之為一UpdateDialog。 這給我們一個在頁面模式對話框,可以使用AJAX動態加載的內容或進行服務器調用根據用戶的決定無需重載整個頁面。

什麼是你的方法來整合銳與ASP.NET?
其中一個最大的好處是能夠 ASP.NET的共同行為或封裝成高度可重用的部件自定義服務器控件。 控制開發變得陌生,而銳頁面開發人員只需要學習如何使用自定義 ASP.NET控件。 我們總結的所有銳部件我們使用一個自定義控件,它繼承自WebControl的 。 負責控制渲染所需的標記和登記銳腳本。 舉例來說,如果我希望把一個 ColorPicker默認為紅色,我的。aspx頁,我會寫為:
<Adify:ColorPicker ID="myPicker" Color="#ff0000" runat="server" /> 
然後在我的服務器端代碼隱藏文件,我可以獲取或設置 myPicker.Color使用它。 這裡是一個比較複雜的例子,我們可以如何使用數據表中的一個。aspx頁面點擊顯示隨著時間:
<Adify:YuiDataSource ID="LastMonthData" OnRowDataBound="OnDataSourceBound" runat="server"> <Columns> <Adify:YuiDataSourceColumn Name="Time" /> <Adify:YuiDataSourceColumn Name="Clicks" /> <Adify:YuiDataSourceColumn Name="CTR" /> </列> </ Adify:YuiDataSource> <Adify:YuiDataTable DataSourceId="LastMonthData" runat="server"> <Columns> <Adify:YuiDataTableColumn Key="Time" Formatter="Date" /> <Adify:YuiDataTableColumn Key="Clicks" Formatter="Number" /> <Adify:YuiDataTableColumn Key="CTR" Label="Click通過 %" Formatter="Percent3" /> </列> </ Adify:YuiDataTable>
我們已經創建了自己的自定義數據綁定 YuiDataSource Web服務器控件。 它負責序列化的JavaScript對象中的案件本地數據源或服務器端緩存對象的XHR的數據源。 它使得自己在該網頁的HTML作為一個 YuiDataSource,可以使用圖表或數據表(或兩者)。 我們YuiDataTable控制公開一個集合屬性稱為列這是一個集合YuiDataTableColumn對象。 它的Columns集合序列化到一個 JavaScript數組對象傳遞給 DataTable構造。
這裡的要點是,自定義控件是盡可能簡單易用。 他們公開屬性的任何銳提供的選項,並重寫的OnPreRender事件,以使自己的JavaScript調用銳。 這將釋放頁面作者的邏輯去思考他的網頁上,而不是血淋淋的細節實例銳部件。
銳是如何幫助你的項目取得成功?
應用程序開發人員往往使ASP.NET開發好,因為他們一般具有較強的計算機科學背景。 不幸的是,他們並不總是有相當多的經驗作為處理與眾多的瀏覽器或使用JavaScript(我已經多年的經驗更為強大和複雜,初步懷疑)。
銳有助於在幾個方面。 首先,它抽象了一個數字的瀏覽器的差異,所以我們不都知道每一個細節有些模糊如何影響我們的瀏覽器版本的代碼。 其次,瀏覽一些樣品擔任靈感。 我還看過一個產品經理進行快速原型樣品使用銳解釋他是如何想的功能工作。
最後,我什至不能指望有多少小時,我們已經保存或如何改進我們的界面已經成為感謝所有的部件。 我們更換了一個非常基本的選配與拾色調色板,ASP.NET的內置日曆與銳的,和一個強大的,但難以維持的JavaScript格與 DataTable。 在任何情況下,我們大大提高了我們的應用程序可用性,同時降低花費的金額修正錯誤的努力在我們的控制。
有哪些挑戰,在你的項目使用YUI?
老實說,編寫 JavaScript不辜負銳。 如果有一件事,已使我們寫出更好的客戶端代碼,這將是例子銳。 我們確實試圖採用同樣的紀律和嚴謹的時候編寫 JavaScript代碼作為開發服務器時,在C#。
什麼是一些銳相關項目對您的路線圖?
我們有一個小的內部工具書,用的上載控制,成為很受歡迎。 我們一定要結合上傳到我們的主要產品。 我們都非常高興與 DataTable的控制,並要開始添加內聯編輯酌情。 我們還需要保持與所有偉大的改善圖表控制。
我們也保持著密切關注銳 3,不能等待開始看到基於構件的新架構。



大家好,
我想知道如果你有興趣創作一本書年底Packt出版社出版。
這本書是一個更新的學習雅虎用戶接口庫。
謝謝,
PS:請你們回來後,你將能夠影響讀者的實力。
評論由Dhwani - 09年11月17日#
Dhwani,
如果你正在尋找偉大銳專家擔任書作家,我建議你詢問了張貼在我們的論壇:
http://yuilibrary.com/forum/
大量的精明能幹,才華橫溢,精力充沛的開發商在那裡 - 好作家的候選人!
-埃里克
評論由埃里克米拉利亞 - 2009年11月17日#