silverlight 2 jukka wallasvaara jukkawallasvaara.spaces.live/ microsoft

34
Silverlight 2 Jukka Wallasvaara http:// jukkawallasvaara.spaces.live.com/ Microsoft

Upload: favian

Post on 12-Jan-2016

32 views

Category:

Documents


2 download

DESCRIPTION

Silverlight 2 Jukka Wallasvaara http://jukkawallasvaara.spaces.live.com/ Microsoft. Silverlight. Tehokas monen alustan käyttäjäkokemus Media on yhtenä osana monipuolisten internet- sovellusten luontia Asennus on nopeaa ja helppoa loppukäyttäjälle - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Silverlight 2Jukka Wallasvaarahttp://jukkawallasvaara.spaces.live.com/Microsoft

Page 2: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

SilverlightTehokas monen alustan käyttäjäkokemus• Media on yhtenä osana monipuolisten internet-

sovellusten luontia• Asennus on nopeaa ja helppoa loppukäyttäjälle• Yhdenmukainen käyttäjäkokemus eri ympäristöissä• Windows, Mac, Linux, Mobiili / IE, Firefox, Safari

Joustava ohjelmointimalli ja yhteensopivat työkalut• Integroituu nykyisiin web -tekniikoihin• Perustuu .NET Framework ympäristöön• Omat roolipohjaiset työkalut

käyttöliittymäsuunnittelijoille ja kehittäjille

Tehokas, kustannusoptimaallinen ja entistä laadukkaampi media

• HD tuki mobiililaitteisiin: SMPTE VC-1• Laaja mediaekosysteemi• Ratkaisut reaaliaikaiseen- ja tilauspohjaiseen

julkaisuun

Page 3: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Silverlight 2• Media

– Käyttäjäkokemuksen parantaminen• Adaptive Streaming• Progressive Download

• Sovellukset– RIA -sovelluksiin entistä tehokkaampia ja

häkellyttävämpiä mahdollisuuksia.• Mobiili

– Tulevat sovellusympäristöt

Page 4: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft
Page 5: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Silverlight 2 ominaisuuksia..• 2D, Graphics• Audio, Video• Animations• Text, Text Input*• Controls*• Layout*• Styles/Templates*• Data Binding*• Networking

– HTTP/S and Sockets*

* Silverlight 2

• .NET Support*• C# and VB.NET*

• LINQ*• XML APIs*• Generics*• HTML Integration*

• JSON Serializer• Local storage*• Crypto APIs (AES)*• Threading*

Page 6: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

.NET + Silverlight• Monialusta ja -selainlaajennus

– Mac, Windows, Linux, Mobiili: Windows Mobile ja Nokia (S60, S40 ja internet tablet)

– Safari, Firefox, IE, Konquererja Opera

– 4.3MB asennuspaketti helpolla asennusprosessilla

• Hyvin tuottava kehitysympäristö– Monikielituki – VB, C#, JavaScript, Python, Ruby– Laajat luokkakirjastot toiminnallisuuksia käytössä

• Visual Studio ja Expression -työkalut käytössä

Page 7: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Silverlight vs. työpöytäsovellukset

• Silverlight:in .NET on osajoukko täydestä .NET Framework:sta– Tarkoitettu tukemaan RIA- ja Mediasovelluksia

• Common core .NET kehitysmalli– Common APIt samoja selain- ja työpöytä-

sovelluksissa– Common WPF UI ohjelmointimallit samoja selain-

ja työpöytäsovelluksissa– Käytössä samat sovelluskehityksen ja

käyttöliittymäsuunnittelun työkalut• Silverlight:in XAML on osajoukko WPF UI

frameworkistä

Page 8: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Silverlight ”Sandbox"

• Sovelluksilla turvallinen hiekkalaatikko

• HTML sivujen tapainen aktivointimalli– Selaimen sisällä ei erillisiä tietoturvaherjoja– Sovellukset estetty tekemästä haitallisia toimintoja

• Silverlight mahdollistaa lisätoiminnallisuuksia selainsovelluksiin:– Turvallinen eristetty tallennustapa (isolated storage)– Sovelluspohjainen tiedostojen latauskontrolli– Cross domain -tuki

Page 9: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Silverlight ja WebselainHTML:n hallinta uudesta nimiavaruudesta

HtmlPage.Window.Navigate("http://www.microsoft.com");String server = HtmlPage.Document.DocumentUri.Host;

HtmlPage.Window.Navigate("http://www.microsoft.com");String server = HtmlPage.Document.DocumentUri.Host;

using System.Windows.Browser;using System.Windows.Browser;

HtmlElement myButton = HtmlPage.Document.GetElementById("myButtonID");myButton.AttachEvent("onclick", new EventHandler(this.myButtonClicked));

private void myButtonClicked(object sender, EventArgs e) { ... }

HtmlElement myButton = HtmlPage.Document.GetElementById("myButtonID");myButton.AttachEvent("onclick", new EventHandler(this.myButtonClicked));

private void myButtonClicked(object sender, EventArgs e) { ... }

Staattinen HtmlPage luokka tarjoaa ohjelmakahvan

Tapahtumat, metodikutsut ja ominaisuudet saatavilla

Page 10: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Silverlight ja Webselain

• Skripti-integraatio:– HTML -sivun JavaScript voi kutsua Silverlightin

metodeja– Silverlight -sovellus voi kutsua JavaScript:n

metodeja HTML sivulla•Selain toiminnallisuus:

– kirjanmerkit– selaimen Takaisin/Eteenpäin toiminnallisuus

Page 11: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Tuumasta toimeenSilverlight 2

Page 12: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Mitä tarvitaan...• Työkalut:

– Silverlight 2 Beta1– Silverlight Tools for Visual Studio 2008 Beta 1– Expression Blend 2.5 March Preview

• Kaikki tarvittava löytyy: www.silverlight.net – Ladattavat työkalut ja dokumentit– Visual Studion object browser on hyvä tapa

API:en katsomiseen

Page 13: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Demo: My First Silverlight

Page 14: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

XAML, elementit ja kontrollit

Page 15: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

XAML

• XAML = eXtensible Application Markup Language

• Joustava XML pohjainen dokumentti skeema

• Tehokkaat työkalut käytössä– Ja siltikin luettavaa ja käsin muunnettaa

Page 16: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

XAML esimerkki

<Grid>

<TextBlock FontSize="32" Text="Hello world" />

</Grid>

<Grid>

<TextBlock FontSize="32" Text="Hello world" />

</Grid>

Hello world

Page 17: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Markup = Object Model

<TextBlock FontSize="32" Text="Hello world" /><TextBlock FontSize="32" Text="Hello world" />

TextBlock t = new TextBlock();t.FontSize = 32;t.Text = "Hello world";

TextBlock t = new TextBlock();t.FontSize = 32;t.Text = "Hello world";

=

Kaikki, mitä voidaan esittää XAML:ssa voidaan myös ohjelmallisesti luoda tai muuttaa.

Page 18: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

<TextBlock />

<TextBlock>Hello</TextBlock><TextBlock>Hello</TextBlock> Hello

<TextBlock FontSize="18">Hello</TextBlock>

<TextBlock FontSize="18">Hello</TextBlock>

Hello

<TextBlock FontFamily="Courier New">Hello</TextBlock>

<TextBlock FontFamily="Courier New">Hello</TextBlock>Hello

<TextBlock TextWrapping="Wrap" Width="100"> Hello there, how are you?</TextBlock>

<TextBlock TextWrapping="Wrap" Width="100"> Hello there, how are you?</TextBlock>

Hello there, how are you?

<TextBlock> Hello there,<LineBreak/>how are you?</TextBlock>

<TextBlock> Hello there,<LineBreak/>how are you?</TextBlock>

Hello there, how are you?

Page 19: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Elementit• <Rectangle />• <Ellipse />• <Line />• <Polygon />• <PolyLine />• <Path />

Page 20: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

x:Name

• Kontrollin nimeäminen mahdollistaa sen hallitsemisen sovelluskoodista– Visual Studio luo automaattisesti oliot kaikille

x:name elementeille

<Button x:Name=“btnButton”/><Button x:Name=“btnButton”/>

public void Page_Loaded(sender, MouseEventArgs e) { btnButton.Content = “Push Me!”;}

public void Page_Loaded(sender, MouseEventArgs e) { btnButton.Content = “Push Me!”;}

Page 21: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Tapahtumien luonti• Tapahtumakäsittelijät voidaan esitellä

XAML:ssa

• Tai määritellä code-behind tiedostossa– VB – "Handles" avainsanalla– C# -- ohjelmallisesti Page_Loaded vaiheen

esittelyssä

<Button x:Name=“btnButton” Content=“Push Me” Click=“btnButton_Click“/>

<Button x:Name=“btnButton” Content=“Push Me” Click=“btnButton_Click“/>

public void btnButton_Click(object sender, RoutedEventArgs e) { // todo: add code}

public void btnButton_Click(object sender, RoutedEventArgs e) { // todo: add code}

Page 22: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Siveltimet (Brushes)• Kuvaavat, miten objekti on “maalattu”

– Objektien maalaukseen (esim. Fill)– Viivojen maalaukseen (esim. Stroke)

• Siveltimien vaihtoehdot:– Solid color brushes – Gradient brushes– Image brushes– Video brushes

Page 23: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Demo: Tuning My Silverlight

Page 24: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Kontrollit• Uudelleen käytettäviä käyttöliittymä-

elementtejä, joissa on käyttöliittymä ja toiminnallisuus mukana.

<Button x:Name=“MyButton” Content=“Push Me” Width=“150” Height=“50” />

<Button x:Name=“MyButton” Content=“Push Me” Width=“150” Height=“50” />

Button b = new Button();b.Width = 150;b.Height = 50;b.Content = “Push Me";

Button b = new Button();b.Width = 150;b.Height = 50;b.Content = “Push Me";

Page 25: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Joitakin Beta1 kontrolleja..

Form Controls:– TextBox– Button– Toggle/Repeat Button– CheckBox– RadioButton– ListBox

Layout Controls:• StackPanel• Grid / GridSplitter• Canvas• MultiScaleImage

Core Controls:• Border• Image• MediaElement• MultiScaleImage• ToolTip• ScrollViewer

Navigation Controls:• HyperlinkButton• Popup

High-Level Controls:

Calendar

DataGrid

Slider

DateTimePicker

Shapes:Ellipse

Rectangle

Line

TextBlock

Path

Page 26: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Deep Zoom

• Tarjoaa saumattoman katselukokemuksen valtavien kuvien kanssa

• Ladataan vain se osa kuvasta, joka sillä hetkellä on tarpeen.

• Muuntaa suuret kuvat monipuolisesti käytettäviksi ja skaalautuviksi kokonaisuuksiksi

Page 27: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Deep Zoom

• Esikäsittelyohjelma pilkkoo kuvan 256 x 256 palasiin

• Luo kustakin vastaavasta alueesta matalamman resoluution kuvat.

Page 28: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Deep Zoom – Miten se toimii?• Kun kuva näytetään päätelaitteessa,

matalimman resoluution kuva ladataan ensin• Kun tarkemman resoluution kuvat on ladattu,

ne vaihdetaan pehmeästi tarkempaan

Page 29: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Deep Zoom – Miten se toimii?• Kun kuva näytetään päätelaitteessa,

matalimman resoluution kuva ladataan ensin• Kun tarkemman resoluution kuvat on ladattu,

ne vaihdetaan pehmeästi tarkempaan

Page 30: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Deep Zoom – Miten se toimii?• Kun kuva näytetään päätelaitteessa,

matalimman resoluution kuva ladataan ensin• Kun tarkemman resoluution kuvat on ladattu,

ne vaihdetaan pehmeästi tarkempaan

Page 31: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Deep Zoom

• Käytetään MultiScaleImage -kontrollilla• Kuvamateriaali ja XML -kuvaustiedosto

luodaan Deep Zoom Composer - esikäsittelytyökalulla

Page 32: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Demo: Deep Zoom

Seadragon– Photosynth– Deep Zoom

Page 33: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Yhteenveto• Silverlight tarjoaa uskomattoman tehokkaan alustan

RIA -sovellusten tekemiseen– Yksi sama helposti jaettava sovellus useamman

käyttöympäristön selaimeen.– Näyttävien ja suorituskykyisten sovellusten teko on

helppoa ja tehokasta• Silverlight mahdollistaa yhden sovelluskehitysmallin

eri Windows, Mac, Linux ja Mobiililaitteille.

• Lopullinen Silverlight 2 ja sen työkalut saatavissa myöhemmin tänä vuonna.

Page 34: Silverlight  2 Jukka Wallasvaara jukkawallasvaara.spaces.live/ Microsoft

Jukka WallasvaaraMicrosofthttp://jukkawallasvaara.spaces.live.com/

Kiitos