You are on page 1of 10

Infoway

Solutions
CHNG I: TNG QUAN V SILVERLIGHT

CHNG I:
TNG QUAN V SILVERLIGHT
1 V sao li c Silverlight?
S kh khn ca cc doanh nghip khi xy dng chin lc Web
Ngy nay khi pht trin cc ng dng trn web cc doanh nghip phn mm thng au u vi
nhng kh khn v s h tr trn trnh duyt v h iu hnh. iu h mun l vi nhng ngn ng
v cng c pht trin vn quen thuc t trc n gi u c th lm cho h nhng ng dng
chy tt trn mi nn tng, mi trnh duyt. Silverlight ra i nh mt cng ngh ph hp cho php
h lm c nhng vic nh th. Nu bn quen thuc vi cng ngh .Net Framework th khi tip
cn vi Silverlight bn s tch kin c rt nhiu thi gian v chi ph cho cng ngh web mi
Nhu cu cn thit ca th gii a phng tin
Cc cng ngh plug-in trn web trc y khng cho php bn truyn ti nhng d liu hnh nh cht
lng cao nh 720p HDTV, Trong khi cht lng ng truyn mng ngy nay ang ngy cng tt hn
v nhu cu c xem nhng video cht lng cao cng tng ln th s ra i ca Silverlight em
n cho ngi am m th gii a phng tin mt s tha mn tht s.
2 Silverlight l g?
Silverlight l mt dng plug-in da trn cng ngh ca Microsoft .Net, n c lp vi a nn tng v a
trnh duyt, n cho php pht trin cc ng dng a phng tin c bit l cc ng dng trn web.
Silverlight cung cp mt m hnh lp trnh lp trnh mm do v ng nht, n h tr Ajax, Python,
Ruby v cc ngn ng lp trnh .Net nh Visual basic, C#.

Kh nng a phng tin ca silverlight th hin mc truyn ti m thanh v hnh nh cht lng
cao mt cch nhanh chng v hiu qu trn tt c cc trnh duyt chnh nh Internet Explorer, Firefox,
Safari.

Smith Nguyen Studio.
https:/ / www.facebook.com/ SmithNguyenStudio
Infoway
Solutions
CHNG I: TNG QUAN V SILVERLIGHT


2

Vi vic s dng Expression Studio v Visual Studio, cc nh thit k v pht trin c th hp tc mt
cch hiu qu hn bng cch s dng chnh k nng ca h c hin nay lm pht trin cc sn
phm web tng lai Light up the web.
3 Cc c tnh ca Silverlight

Silverlight kt hp nhiu cng ngh vo mt nn tng pht trin, n cho php bn c la chn
nhiu cng c v ngn ng lp trnh thch hp gii quyt bi ton ca bn. Silverlight cung cp cc
tnh nng sau:
3.1 S kt hp ca WPF v XAML.
Silverlight l mt gi nh ca cng ngh Windows Presentation Foundation (WPF). N c m rng
nhiu hn cc Element trong trnh duyt to giao din ngi dng. PWF cho php bn to ra
ha 3 chiu, hnh nh ng, a phng tin v nhiu tnh nng phong ph khc trn my khch. XAML
(Extensible Application Markup Language) cung cp cc c php nh du c trng cho vic to cc
Element.
3.2 M rng cho ngn ng kch bn
Silverlight cung cp vic m rng cho cc ngn ng kch bn (Javascript) mt s cc trnh duyt ph
bin th hin vic trnh by giao din v thao tc ngi dng mt cch phong ph hn.
3.3 S tch hp vi cc ng dng c
Silverlight tch hp lin mch vi ngn ng javascript v m Ajax ca ASP.Net b sung cc chc
nng bn xy dng c. Bn c th to nhng ti nguyn trn nn my ch c trong ASP.NET v s
dng cc kh nng ca Ajax trong ASP.NET tng tc vi ti nguyn trn nn my ch m khng
lm gin on ngi dng.
3.4 S dng m hnh ngn ng lp trnh trn nn tng .Net Framework v cc cng
c kt hp.
Bn c th to cc ng dng trn nn tng Silverlight v s dng cc ngn ng ng nh InronPython
cng nh l cc ngn ng C# v Visual Basic. Bn cng c th s dng cc cng c pht trin nh
Visual Studio to ng dng trn nn tng Silverlight
3.5 H tr mng
Silverlight bao gm cc h tr cho HTTP qua TCP. Bn c th kt ni ti cc dch v ca WCF, SOAP,
hoc ASP.NET AJAX v nhn v cc nh dng theo cu trc XML, JSON hay d liu RSS.
3.6 H tr ngn ng tch hp truy vn (LINQ)
iu ny cho php bn truy cp d liu bng cch s dng c php trc quan t nhin v mnh m,
c g bi cc i tng c trong cc ngn ng .Net Framework.
Smith Nguyen Studio.
https:/ / www.facebook.com/ SmithNguyenStudio
Infoway
Solutions
CHNG I: TNG QUAN V SILVERLIGHT


3
4 Kin trc tng th v cc m hnh lp trnh ca Silverlight
4.1 Kin trc v cc thnh phn
V c bn Silverlight l mt nn tng thng nht ca nhiu thnh phn khc nhau. Tuy nhin chng ti
nhm li cc thnh phn chnh ca silverlight vo bng di y.
Thnh phn Din t
Nn tng trnh by c s Cc thnh phn v dch v hng ti giao din ngi dng v tng tc ngi
dng, bao gm cc control cho d liu cho ngi dng nhp, thit b a phng
tin, qun l phn quyn s, trnh by d liu, ha vector, ch, hnh nh
ng. cng bao gm XAML c t vic b tr giao din
.Net Framework cho
silverlight
L mt gi nh trong .Net Framework, bao gm cc thnh phn v c th vin,
k c tng vic tng tc d liu, kh nng m rng cc control, mng,
garbage collection, v CLR
Ci t v cp nht L thnh phn s l cc tin trnh ci t lm sao n gin ha cho ln ci
t u tin, tip sau ch cung cp c ch t ng cp nht v tng tc
mc thp.

Di y l hnh nh m t nhng thnh phn trong kin trc ca Silverlight cng vi cc thnh phn
v dch v lin quan khc.


Core Presentation Components:
Tnh nng M t
D liu vo (input) X l d liu u vo t cc thit b phn cng nh bn phm, chut, bng v
Smith Nguyen Studio.
https:/ / www.facebook.com/ SmithNguyenStudio
Infoway
Solutions
CHNG I: TNG QUAN V SILVERLIGHT


4
hoc cc thit b u vo khc
Trnh by giao din
ngi dng (UI
Rendering)
Trnh by vector v cc ho nh bitmap, nh ng, v vn bn
Thit b nghe nhn
(Media)
Cc tnh nng pht v qun l mt vi th loi file m thanh v hnh nh nh
.WMP v .MP3
Controls
H tr m rng cho cc control c kh nng ty chnh v kiu dng v
khun mu
Xp t Layout Cho php kh nng xp t v tr ng cc thnh phn giao din ngi dng
Trnh by d liu
(Data Binding)
Cho php vic kt ni d liu ca cc i tng v cc thnh phn giao din
ngi dng
DRM Kh nng Qun l phn quyn s
XAML Cung cp trnh phn tch cho XAML

Cc lp trnh vin c th tng tc vi thnh phn nn tng trnh by c s trn y bng cch s
dng XAML c t. XAML l mt yu t quan trng nht trong vic tng tc gia .Net Framwork
v cc kiu trnh by Layout, ngoi ra cc lp trnh vin cng c th s dng c ch qun l code bn
trong thao tc vi lp trnh by
.Net Frame work for Silverlight:
Tnh nng M t
Data
H tr ngn ng truy vn tch hp (LINQ) v LINQ vi c t XML, d dang
x l vic tch hp v lm vic vi d liu t nhiu ngun khc nhau. H tr
vic s dng XML v cc lp bin i ha (serialization) x l d liu
Base class library
Thuc th vin ca .Net Framework, n cung cp cc chc nng lp trnh ch
yu nh vic x l chui, biu thc chnh quy, u vo v u ra, nh x, tp
hp v ton cc ha.
Window
Communication
Foundation
(WCF)
Cung cp cc tnh nng n gin ha vic truy cp d liu t xa. C ch
ny bao gm mt i tng trnh duyt, HTTP request v HTTP Response,
RSS, JSON, POX, v cc SOAP
Common language
runtime
(CLR)
Cung cp vic qun l b nh, dn dp b nh tha, x l ngoi l
Windows
Presentation
Foundation controls
(WPF)
Cung cp cc control giu tnh nng nh Button, Calendar, CheckBox,
DataGrid, DatePicker, HyperlinkButton, ListBox, RadioButton, and
ScrollViewer.
Dynamic language
runtime
(DLR)
H tr vic bin dch v thi hnh vi tnh nng ng ca cc ngn ng kch
bn nh Javascript v IronPython cho cc chng trnh trn nn tng
Silverlight.
4.2 Cc m hnh lp trnh ca silverlight
phin bn Silverlight 1.0 cung cp cho bn duy nht mt m hnh lp trnh l Javascript API,
cho n phin bn Silverlight 2.0 cung cp c hai m hnh lp trnh l Managed API v
Javascript API. Trong khi Javascipt API ch cho php bn g m lnh Javascript tng tc
vi trnh duyt th Managed API s dng c c ch lm vic ca Common Language
Smith Nguyen Studio.
https:/ / www.facebook.com/ SmithNguyenStudio
Infoway
Solutions
CHNG I: TNG QUAN V SILVERLIGHT


5
Runtime (CLR) v k c Dynamic Language Runtime (DLR) bin dch v thi chng trnh
code (C#, VB) ca bn.
4.2.1 Javascript API
Trong mt chng trnh silverlight nhng theo kiu Javascript API, n ti ch mt trang XAML
n l thay v ti mt gi ng dng. Trang XAML ny c th bao gm cc tham chiu URI t
nhng ngun bn my ch khc nh l cc on video v hnh nh. Silverlight nhng s
dng XAML to mt cy i tng ci m bn c th thao tc lp trnh vi javascript lu
tr bn trong mt trang HTML
Javascript API khng cung cp mt m hnh ng dng c kh nng h tr cc ng
dng t hp vi s iu hng bn trong. Tuy nhin n cho php lm nhng kch bn theo
kiu Splash screan. Bn cng c th lm cc s iu hng trong Javascript API bng cch
ti li trang XAML mi hoc ti li c trang web trong trnh duyt.
4.2.2 Managed API
Trong lp trnh silverlight theo kiu Managed API, bn c th thao tc lp trnh vi c file
XAML v file code bn trong.
Khi mt Silverlight nhng ti file XAML, n s to mt cy m hnh ci m bn cng c th g
bng cc m lnh bn trong ( thng l C#, Visual basic).
5 Kh nng h tr trnh duyt, h iu hnh v cc cng ngh lin quan
5.1 H tr ca h iu hnh v trnh duyt c m t bng di y
Operating system
Internet
Explorer 7
Internet
Explorer 6
Firefox 1.5, 2.x,
and 3.x
Safari 2.x and
3.x
Windows Vista
c c
Windows XP SP2
c c c
Windows XP SP3
c c c
Windows 2000
c
Windows Server 2003
(excluding IA-64)
c c c
Mac OS 10.4.8+ (PowerPC)

Mac OS 10.4.8+ (Intel-based)
c C
5.2 Cc cng ngh v cng c lin quan ca silverlight.
Microsoft Expression Blend: S dng cng c ny bn bn c th to v thay i cch xp
xp trnh by Layer ca ng dng bng cch thao tc n canvas v control trong XAML, lm
vic vi cc chc nng ha, Lp trnh vi ngn ng Javascript.
Visual Studio 2008: Visual Studio cung cp cc cng c hiu qu cho vic pht trin cc ng
dng c h tr thao tc code bn tron. Tt c cc phin bn c ca Visual Studio u c
kh nng h tr Silverlight,Tuy nhin phin bn mi ny n cn h tr cc tnh nng c
Smith Nguyen Studio.
https:/ / www.facebook.com/ SmithNguyenStudio
Infoway
Solutions
CHNG I: TNG QUAN V SILVERLIGHT


6
bit hn nh bao gm kh nng IntelliSense, debugging v cc template cho vic to mi mt
ng dng Silverlight.
ASP.NET AJAX: Bao gm tp cc Control, Service, v cc th vin cn thit cho vic to v
tng tc vi nn ng dng web
Microsoft ASP.NET 3.5 Extensions Preview: Cng ngh ny cung cp chc nng thm
vic tng cng cc ng dng ASP.NET AJAX. N bao gm 2 control s dng hu ch cho
vic xy dng ng dng nn tng silverlight cng nh l mt phn ca ng dng ASP.NET:
- ASP.NET MediaPlayer Server Control
- ASP.NET Silverlight Server Control
Internet servers: Bao gm IIS (Microsoft Internet Information Services), v Apache Web
server
Microsoft Windows Communication Foundation (WCF) services.
6 Hng dn ci t v s dng cng c Silverlight 2 trn Visual studio 2008
6.1 Cc bc ci t cng c silverlight 2
- Ti file Silverlight_Tools.exe c trn trang:
http://www.microsoft.com/downloads/details.aspx?familyid=C22D6A7B-546F-4407-
8EF6-D60C8EE221ED&displaylang=en
- Bn phi chc chn rng my tnh ca bn ci t Visual Studio 2008 SP1
- Chy file Silverlight_Tools.exe, ch khong 1 pht hin th Silverlight tools
installation Winzard


- Bm next n bc 2, tch chn I have read an accept the license terms.
Smith Nguyen Studio.
https:/ / www.facebook.com/ SmithNguyenStudio
Infoway
Solutions
CHNG I: TNG QUAN V SILVERLIGHT


7
- Bm Next h thng t ng kim tra tng thch( lu : phi ng ht cc trnh
duyt web)
- h thng ci t v hon thnh


7 Cc v d thc hnh
7.1 Chng trnh u tin Hello World
- To mi mt Project: chn File -> New -> Proeject

- Mt ca s mi New Project hin ra. Chn Visual C# (hoc Visual basic) trong Project types,
chn Silverlight. Pha bn phi ca s cho php bn chn cc Templale
Smith Nguyen Studio.
https:/ / www.facebook.com/ SmithNguyenStudio
Infoway
Solutions
CHNG I: TNG QUAN V SILVERLIGHT


8

- Chn ta chn Silverlight Application trong Templates
- t tn chng trnh u tin l HelloWorld, ty chn Location, bm OK
- Bn c th chn Project Type theo mc nh trong hi thoi Add Silverlight application, bm OK
- Solution mi c to ra vi 2 project: Silverlight project v web project( dng nhng
silverlight to bi silverlight project)

Trong th mc ClientBin ca web project (HelloWorld.Web) cha ng dng silverlight c
ng gi di dng file HelloWorld.xap ca project silverlight (HelloWorld)

Smith Nguyen Studio.
https:/ / www.facebook.com/ SmithNguyenStudio
Infoway
Solutions
CHNG I: TNG QUAN V SILVERLIGHT


9

Ton b mn hnh ng dng u tin ca bn c nhn thy nh sau
- Chng ta lm 2 phng php mt l vit code C# trong code ng dng, hai l vit trc tip
trong XAML
7.1.1 Vit chng trnh bng Code C#
- Trong file Page.xaml.cs chng ta bt u vi vic to mt nt theo nhng dng lnh di y
// Khai bao button
Button myButton;
public Page()
{
InitializeComponent();
// Khi to button
myButton = new Button();
//Xc nh cc thuc tnh cho myButton
myButton.Content = "Click Me";
myButton.Height = 25;
myButton.Width = 100;
myButton.Margin = new Thickness(10, 10, 0, 0);
//a myButton vo LayoutRoot
LayoutRoot.Children.Add(myButton);
- to s kin cho mt nt chng ta cn thm nhng dng lnh sau vo
//thm phng thc x l s kin cho myButton
myButton.Click += new RoutedEventHandler(myButton_Click);

void myButton_Click(object sender, RoutedEventArgs e)
{
//Hin th thng ip trn trnh duyt
System.Windows.Browser.HtmlPage.Window.Alert("Hello Silverlight World!");
}
- Bm F5 chy chng trnh
Smith Nguyen Studio.
https:/ / www.facebook.com/ SmithNguyenStudio
Infoway
Solutions
CHNG I: TNG QUAN V SILVERLIGHT


10
7.1.2 Vit chng trnh bng XAML
Lu , vi cng project trn, mun vit c t bng XAML tng ng ta cn xa b phn m trnh C#
c i, v C# v XAML khng th cng sinh mt i tng.
Trong file Page.xaml ta thm on m sau
<UserControl x:Class="HelloWorld.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<Grid x:Name="LayoutRoot" Background="White">
<Button Name="myButton" Content="Click me" Width="100"Height="25"></Button>
</Grid>
</UserControl>
- Gn s kin x l khi click

- Bm F5 chy ng dng. C hai phng thc vit trn u cho ra mt kt qu nh hnh v
sau

8 Ti liu tham kho
- Silverlight Deverloper center: http://msdn.microsoft.com/en-us/library/bb404708(VS.95).aspx
- Website chnh ca Silverlight: http://silverlight.net/
Smith Nguyen Studio.
https:/ / www.facebook.com/ SmithNguyenStudio

You might also like