- Web璀璨:Silverlight應用技術完全指南
- 張馳清 王均 呂玉強編著
- 2745字
- 2018-12-27 11:42:12
前言
互聯網的前端Web開發技術,在過去的十幾年里經歷了快速的變革。目前雖然傳統的ASP、PHP、JSP等動態頁面技術仍普遍應用于各種網站的開發,但隨著用戶對于用戶體驗和界面效果的要求越來越高,傳統技術已不能滿足具有豐富用戶體驗、富媒體網絡應用程序的開發需要。
隨著技術的發展,出現了AJAX、Flash等RIA技術,使得開發人員能創建出功能更為豐富的Web應用程序,甚至已經能夠提供與桌面軟件類似的用戶體驗。這些技術使Web應用程序能夠更加動態地響應用戶輸入,例如,加載數據時只需要刷新界面的一部分,并不需要重新加載所有內容,從而加快了用戶界面的響應,進一步改善了用戶體驗。
雖然AJAX與Flash等技術已經得到了廣泛的普及,但依舊存在著一些不足。例如AJAX沒有形成行業標準的技術規范,并且缺少功能強大的開發環境支持,過于靈活的特性使得開發人員在調試時往往很難理清頭緒。而掌握Flash技術需要學習ActionScript語言并且使用新的開發環境,不能使用自己熟悉的編程語言進行開發,這對不少開發人員來說也是一個不小的門檻。
2007年,微軟推出了Silverlight技術,與Flash類似,Silverlight也是一種跨瀏覽器、跨平臺的開發技術,為網絡帶來具有豐富體驗與交互的Web應用程序。它的顯著不同在于它能用很多.NET程序員常用的語言(如C#、Visual Basic.NET、Ruby或Python)編程。對運行在Macintosh和Windows上的主流瀏覽器,Silverlight應用程序提供了統一而豐富的用戶體驗。通過Silverlight瀏覽器插件,使得用戶界面、視頻、交互性內容,以及其他各種應用能良好地融合在一起。
Silverlight還為Web應用程序開發人員和設計人員提供了一種全新的合作模式。過去,設計人員會使用設計工具來設計網站和用戶體驗,但在實現這些設計時,開發人員需要依照設計方案重新進行開發。而在Silverlight提供的合作模式中,設計人員可以使用專用設計工具Expression Blend構建所需的用戶界面與交互,并將其表示為XAML,然后開發人員可以直接使用XAML創建Silverlight應用程序。因此,兩者的合作會比以往任何時候都更加緊密,可以更快速地創建有豐富用戶體驗的Web應用程序,有效地縮短開發周期。
本書將立足于Silverlight技術本身,全面介紹Silverlight技術特點,配合豐富的實例講解技術的原理和使用方法,幫助讀者快速掌握開發Silverlight應用程序的方法。
預備知識
本書涉及Silverlight應用程序開發的部分,需要讀者對C#編程有一定的了解,如果讀者對這方面知識還不熟悉,可以先閱讀相關介紹C#編程基礎的書籍。
軟件需求
要使用本書中的示例,需要安裝以下幾款軟件:
? Silverlight 2 RTM或更新版本,您可以從http://silverlight.net免費下載。
? 操作系統:Windows XP或更新版本,Mac OS X或更新版本。
? 瀏覽器:Internet Explorer 6.0或更新版本,Firefox 1.5或更新版本,Safari 2.0.4或更新版本。
? 開發工具:Microsoft Visual Studio 2008 SP1或更新版本。
?設計工具:Microsoft Expression Studio 2或更新版本(包含Expression Blend、Expression Design、Expression Encoder)。
本書內容
? 第1章Silverlight入門,介紹了Silverlight的概況,并介紹了Silverlight 2中新增的特性與優秀的Silverlight實例網站,最后使用一個實例詳細演示了如何制作一個Silverlight Hello world程序。
? 第2章Silverlight開發入門,介紹了Silverlight的技術體系架構及各組成部分的詳細特性,分析了一個典型的Silverlight的工程是由哪些文件組成的,最后介紹了將Silverlight嵌入到ASP.NET與HTML網頁中的方法。
? 第3章使用Expression Blend,介紹了Blend的特點與安裝方法,詳細介紹了Blend軟件的整體布局及各個面板的功能,最后通過另一個實例演示了Blend是如何與Visual Studio協同工作的。
? 第4章Silverlight與XAML,介紹了可擴展應用程序標記語言XAML的基本概念、語法。
? 第5章 形狀與筆刷,介紹了繪制形狀、應用筆刷創建效果的方法,并且分別討論了以XAML和C#繪制形狀及應用筆刷的方法。
? 第6章 布局對象,介紹如何在Silverlight中使用布局對象控制對象元素(如形狀、文本、圖像等)的位置,還介紹了如何控制Silverlight應用程序在HTML等網頁中的定位。
? 第7章 變換,討論了使用變換類為對象設置形變的方法。
? 第8章 動畫,詳細介紹Silverlight關鍵幀動畫系統,以及如何控制動畫的播放。
? 第9章 事件,討論Silverlight中的事件機制,以鼠標事件和鍵盤事件為例,介紹如何處理事件,以及如何為控件創建自定義的事件。
? 第10章 控件,逐一介紹了Silverlight內建的控件的使用方法,討論了這些控件的常用屬性和常用事件的使用方法,最后介紹了如何創建用戶控件,并為用戶控件添加自定義屬性和事件。
? 第11章 多媒體,探討了Silverlight中對多媒體的支持,以及如何創建一個視頻播放器控制視頻數據的播放,此外還介紹了如何使用Microsoft Expression Encoder創建多媒體數據。
? 第12章 數據綁定,介紹數據綁定的概念,使用數據綁定的方法和場景,如何綁定到集合數據源,如何在數據綁定中使用值轉換,以及如何對數據進行校驗。
? 第13章 樣式與模板,介紹了如何使用樣式定制控件的外觀,同時探討了樣式的應用域,講解了模板的概念及模板中的狀態管理,介紹了如何定義模板中的狀態,以及狀態間的過渡,如何使用模板改變控件的外觀和狀態間的過渡。
? 第14章 高級開發技巧,探討使用獨立存儲IsolatedStorage保存應用程序數據和創建自定義控件等高級開發技巧。
? 第15章 訪問數據與服務器,介紹了使用Silverlight與服務器端通信時經常使用的數據格式,這些格式包括XML、JSON等,以及它們序列化和反序列化的方法,接下來還介紹了Silverlight所支持的Web通信服務,這些服務包括WebClient、ASMX服務、WCF服務等,以及如何使用這些服務實現客戶端與服務器端之間的數據交換。
? 第16章Deep Zoom,介紹了Deep Zoom的技術特點,介紹如何使用Deep Zoom Composer創建一個含有Deep Zoom效果的Silverlight應用程序,同時探討了DeepZoom效果中的關鍵類MultiScaleImage的常用屬性和常用方法。
? 第17章 綜合實例,以目前流行的網上商店為例,綜合利用前面各章節講述的內容,介紹如何建立一個簡單的在線商店系統。
讀者對象
本書適合Web應用程序開發人員和RIA應用程序設計人員閱讀,也可作為高等院校相關專業師生的教學參考書。
致謝
感謝所有推動Silverlight發展的技術人員,沒有你們的努力,就沒有Silverlight的生長和發展的土壤。感謝過宇峰負責編寫了部分內容,感謝胡峰對本書的幫助。
感謝電子工業出版社的田小康先生對我們的耐心指導與不斷鼓勵,他對稿件提出了很多切實細致的修改建議;也感謝本書的責編和美編,還有為本書付出大量心血的朋友。
感謝微軟亞洲研究院的張海東、侯智濤、王敏、朱向未、楊瀟等同事給予的鼓勵和幫助,和你們共同開發Silverlight項目的工作中,積累了很多實踐經驗,深入理解了Silverlight的技術細節。
張馳清:感謝我的父母一直以來對我的關心和鼓勵,父親閱讀了初稿中的所有章節,幫助糾正了一些表述不當之處,同時在我最辛苦的時候不斷鼓勵我,給予我堅持到底的精神動力,我要感謝您們,并把這本書獻給您們。
王均:感謝父母給我一如既往的鼓勵,做你們的孩子真的很幸福。感謝我的新婚妻子王貞,你總能在我失落的時候鼓舞我。我愛你。
呂玉強:感謝我的父母對我無償的付出,感謝微軟亞洲研究院卓越的Silverlight研發環境,以及導師劉寧對我的悉心指導,感謝王均、張馳清兩位作者對我的幫助,他倆在這本書上的努力給了我莫大的鼓舞。
我們E-mail是zhangchiqing@gmail.com、patrickwj@gmail.com,盼望和讀者朋友們交流,并得到你們的批評和指正。
編著者
聯系方式
咨詢電話:(010)68134545 88254160
電子郵件:support@fecit.com.cn
服務網址:http://www.fecit.com.cn http://www.fecit.net
通用網址:計算機圖書、飛思、飛思教育、飛思科技、FECIT
- 零起步輕松學單片機技術(第2版)
- 3D Printing with RepRap Cookbook
- Ansible Quick Start Guide
- ServiceNow Cookbook
- TensorFlow Reinforcement Learning Quick Start Guide
- 格蠹匯編
- 計算機應用基礎實訓(職業模塊)
- ADuC系列ARM器件應用技術
- 電氣控制及Micro800 PLC程序設計
- Learning Cassandra for Administrators
- 大型機系統應用基礎
- INSTANT R Starter
- 仿龜機器人的設計與制作
- SQL Server 2017 Machine Learning Services with R
- C++面向對象程序設計