Download presentation
Presentation is loading. Please wait.
1
Microsoft Silverlight
Kynning á Silverlight.
2
Silverlight Hannað af Microsoft
Með það að markmiði að geta hannað Multimedia rich web application. Keyrir í vafranum líkt og flash og java Átti upphaflega að vera partur af WPF (“Windows Presentation Foundation”) Lítið download, installerinn tekur 4.5 MB. Hannað af Microsoft. Með það að markmikið að gera Multimedia rich web application fyrir allt frá litlum handtölvu skjáum til stórra háskerpu skjáa. Silverlight keyrir í vafranum líkt flash og java. og átti upphaflega að vera partur af Windows Presetation Foundation sem vefútgáfa af því en var fljótt skilið frá WPF, Það bíður uppá tól til hreyfimyndagerðar, vector grafík og video playback. Hefur stuðning fyrir yfir 33 tungumál. Nýjasta version 1.0, 1.1 Alpha einnig komin út. Byrjaði sem sem viðbót við Javascript og notaði AJAX hugsunnarhátt, en vatt uppá sig.
3
Silverlight “Cross-Browser” og “Cross-Platform”
Keppir við Flash, JavaFX og Adobe FLEX. Styður afspilun af öllu helsta margmiðlunarefni (WMV, WMA, MP3, ASF) Styður Asyncronous samskipti (AJAX) Styður Internet Explorer 6 SP2 og uppúr, Mozilla Firefox, Safari. Ekki er stuðningur fyrir Konqueror né Opera þó hann sé planaður. Silverlight er til fyrir Microsoft Windows og Mac OS X, Microsoft buðu út hönnun á silverlight fyrir linux til 3ja aðila og er nú í þróun hjá Mono verkefninu, undir nafninu Moonlight, með loka markmið að bjóða uppá Moonlight sem ókeypis, open source plug-in fyrir Mozilla vafra. Áætlað að það verði tilbúið síðla 2007, ekki þó líklegt að sú dagsetning standist þar sem að mikið verk er enn fyrir höndum. Aðaláhersla Silverlight er að keppa við Flash, JavaFX og að sumu leyti AJAX en JavaFX var kynnt á svipuðum tíma og Silverlight og var einmitt hannað til að keppa við Adobe Flash og Adobe Flex, JavaFX fókusar á visually rich forrit fyrir allar gerðir tölva á meðan Silverlight fókusar meira á browser based forrit og visually rich vefsíður. Silverlight styður afspilun af WMV, WMA, MP3 og ASF margmiðlunarefni, án þess að þurfa á Windows Media Player, the Windows Media Player ActiveX control or Windows Media browser plugins að halda. Það er hægt að hlaða inn XML ‚content‘ asyncronously sem hægt er að vinna með í gegnum DOM ‚interface‘ líkt og í AJAX. Inniheldur Downloader object sem hægt er að nota til að sækja gögn sem forritið þarfnast.
4
WPF Gerir .NET forritum auðveldara að eiga við sjónræna hluta forritsins. Hefur mikinn stuðning fyrir alla margmiðlun, grafík, ‘animation’ og ‘interactivity’. Kemur uppsett með Vista. Stutt um Windows Presentation Foundation. Windows Presentation Foundation er hugsað þannig að auðvelda forriturum að gera meira í GUI hluta og framsetningu forritsins heldur en þessi hefðbundnu tól, Buttons, Labels etc. Fylgir með Vista en það er hægt að sækja það fyrir Windows XP SP2 og Windows Server 2003
5
Hér sést uppbygging .NET 3.0.
Sjáum að efst eru Forritin sjálf og Forritunartólin. Inní framworkinu sjálfu er svo WPF ásamt basic stuðning við klassíksa .NET hluti eins og WinForms, ASP .NET Þar sem .NET Common Language Runtime (CLR?) þá er hægt að hanna forrit fyrir WPF í öllum .NET málunum.
6
Silverlight Upphaflega vinnuheiti Silverlight var WPF/E (Windows Presentation Foundation Everywhere) Styður öll .NET forritunarmálin, VB, C#, IronPython, Ruby. XAML fyrir notendaviðmót Aðgangur að öllum XAML hlutum í kóðanum. Rétt eins og í WPF þá er hægt að hanna notendaviðmótið í XAML (eXtensible Application Markup Language) sem er byggt á XML staðlinum en sérsniðið að því að hanna notendaviðmót. Útgáfa 1.1 af silverlight mun styðja öll .NET málin ásamt .NET útgáfurnar af Python og Ruby.
7
Silverlight Mælt með að nota Microsoft Expression Blend við hönnun á viðmóti. Visual Studio og Expression Blend vinna vel saman. Microsoft Expression Blend er forrit til þess að hann viðmót í XAML. Áætlað að XAML taki alveg við af GDI og GDI+. Hefur verið gagnrýnt afhverju Microsoft kusu að hann og nota sinn eigin staðal, XAML, en ekki SVF Simple Vector format Sem er opinn staðall og er stutt af flestum browserum. Microsoft sögðu að það væri ekki hægt að nota SVF fyrir WPF án mikilla breytinga á staðlinum. Í Microsoft Expression Blend er hægt að hanna notendaviðmót og hreyfimyndir í What you see is what you get viðmóti og Expression Blend sér svo um að breyta því sem þú hannar yfir í XAML svo hægt sé að vinna með það í Silverlight kóðanum. Hægt að velja “Open with Expression Blend” í Visual studio sem opnar þá viðeigandi XAML skrá í Visual studio.
8
Silverlight Inniheldur viðbætur við Javascript.
Cross-browser, cross-platform support. Aðgangur af .NET Framework Styður Language Intergrated Query(LINQ) Silverlight og ASP.NET vinna mjög vel saman. Silverlight inniheldur viðbætur við Javascript sem gefa stjórnun á grafísku viðmóti vafra ásamt því að geta unnið með WPF forritum. Silverlight er cross-platform og cross-browser þó að stuðningur sé ekki kominn fyrir öll stýrikerfi þá er stefnt á að svo verði. Auk þess geturðu verið viss um að allir notendur sjái forritið þitt eins. Frekar eins og Flash heldur en t.d. Javascript og CSS. Hægt er að bæta Silverlight hlutum við eldri Javascript eða AJAX kóða. Silverlight hefur aðgang að .NET framworkinu sem gefur manni aðgang af mikið af klösum og öðrum fítusum t.d. Þráðum Silverlight styður Language Intergrated Query eða LINQ, sem kom fyrst fram í .NET 2.0, meira um þá á eftir.
9
Silverlight elements Hér sést uppbygging Silverlight.
Hér sést uppbygging Silverlight. Sjáum að XAML tengir saman .NET hluta Silverlight við ‘front-endið’, það sem maður sér.
10
LINQ Language Integrated Query (LINQ), Borið fram “link”.
Forritarinn skrifar fyrirspurnir beint inní kóðann. Einfaldar samskipti við gagnasöfn töluvert. LINQ var hannað með því að markmiði að forritarinn geti skrifað fyrirspurnir beint inní kóðann sem LINQ breytir svo í fyrirspurn fyrir t.d. SQL eða XML og skilar svo hlut með gögnunum í. Einfaldar því samskipti við gagnasöfn töluvert. Einnig fylgir LINQ hlutur sem heitir SQLMetal sem hjúpar töflur úr SQL gagnagrunni yfir í hluti sem hægt er að nota með LINQ.
11
LINQ Dæmi string[] cities = { "London", "Paris", "Berlin", "Moscow", "Dublin", "Barcelona", "New York", "Endinburgh", "Geneva", "Amsterdam", "Madrid" }; IEnumerable<string> query = from c in cities Where c.StartsWith("M") select c; foreach (string city in query) { Console.WriteLine(city); } Hér er stutt dæmi um notkun á LINQ. Hérna er gagnasafnið okkar fylki af strengjum. Hér er LINQ hluti forritsins skáletraður, sjáum uppbyggingu LINQ fyrirspurnar er FROM gagnasafn WHERE skilyrði SELECT hvað við viljum fá úr fyrirspurninni. Hér myndi foreach lykkjan skrifa út Moscow og Madrid.
12
Annað LINQ dæmi Northwind db = new Northwind(connectionString);
var q = from o in db.Orders from c in db.Customers where o.Quality == "200" && (o.CustomerID == c.CustomerID) select new { o.DueDate, c.CompanyName, c.ItemID, c.ItemName }; // q is now an IEnumerable<T>, where T is the anonymous type generated by the compiler foreach (var t in q) { Console.WriteLine("DueDate Type = {0}", t.DueDate.GetType()); Console.WriteLine("CompanyName (lowercased) = {0}", t.CompanyName.ToLower()); Console.WriteLine("ItemID * 2 = {0}", t.ItemID * 2); } // the Northwind type is a subclass of DataContext created by SQLMetal // Northwind.Orders is of type Table<Order> // Northwind.Customers is of type Table<Customer> // use 'var' keyword because there is no name for the resultant type of the projection Hér erum við með Northwind gagnagrunninn og töflurnar Orders og Customers sem hafa verði gerðar af hlutum með SQLMetal Hérna er LINQ fyrirspurnin byggð nákvæmlega eins upp og áðan við sækjum gögn úr töflunum Orders og Customers, gefum einhver skilyrði fyrir gögnunum og veljum svo hvaða dálka við viljum fá út. Þar sem .NET forritunarmálin eru Strangt töguð þá er útkomað það líka, getum kallað á GetType() til að fá gagnatýpu fyrir gögn. // t is strongly typed, even if we can't name the type at design time Setja upp mun á SQL og LINQ á töfluna.
13
Uppsetning á Silverlight
Hvað þarf ? Microsoft Silverlight Runtime Microsoft Visual Studio 2005 / 2008 .NET Framework 3.0 Microsoft Silverlight Tools for visual studio Microsoft Expression Blend 2 og fullt af optional forritum. Leiðbeiningar og dæmi á Nýjasta version af runtime er 1.1 Alpha September Refresh Mikið meiri stuðningur við Silverlight í Visual Studio 2008 Expression Blend 2 til að hanna notendaviðmótið ASP.NET futures mun innihalda Silverlight components.
14
Halló heimur í Silverlight
<Canvas x:Name="parentCanvas" xmlns=" xmlns:x=" Loaded="Page_Loaded" x:Class="SilverlightProject1.Page;assembly=ClientBin/SilverlightProject1.dll" Width="640" Height="480" Background="White" > <TextBlock x:Name="MyMessage" Text=“Hello World" FontSize="56"></TextBlock> </Canvas> Canvas skilgreinir hlut sem geymir xaml hluti, líkt og t.d. Panel í Java. Sjáum að canvas hefur xmlns sem skilgreinir schema fyrir Canvasinn, vanalega alltaf skilgreint svona fyrir silverlight síður. Loaded segir hvaða fall á að keyra þegar canvasinn er loadaður, þægilegt að skilgreina t.d. Events þar. Í x:Class getum við skilgreint hvaða klasa XAML hluturinn okkar erfir frá í kóðanum, hér er það klasinn Page. Skilgreinum svo hæð, breidd og bakgrunn. Innan í Canvasnum okkar, sjáum að þetta er allt nested eins og í XML, þ.a. Canvasinn á TextBlock. TextBlock er líkt og Label í C# eða Java, skilgreinir Texta þar sem við getum skilgreint stafastærð, leturgerð, bakgrunn, lit á stöfum o.fl. X:Name skilgreinir nafnið á hlutunum í kóða hlutanum hér er t.d. TextBlockin mín skilgreind sem breytan MyMessage í kóðanum.
15
Halló Heimur í Silverlight
Höfum aðgang að öllum hlutum XAML skjalsins á codebehind síðunni. XAML hlutirnir í kóðanum hafa ýmsa eiginleika t.d alla helstu events og stillingar fyrir öll helstu atriði (hæð, breydd o.fl.) Kóðahlutinn styður mikið af eiginleikum .NET t.d. Threading, etc. Hver XAML fæll hefur 1 kóðaskrá bakvið sig.
16
Halló Heimur í Silverlight
using System; using System.Windows; ...... using System.Windows.Media.Animation; using System.Windows.Shapes; namespace SilverlightProject1 { public partial class Page : Canvas { public void Page_Loaded(object o, EventArgs e) { // Required to initialize variables InitializeComponent(); MyMessage.MouseLeftButtonDown += new MouseEventHandler(MyMessage_MouseLeftButtonDown); } void MyMessage_MouseLeftButtonDown(object sender, MouseEventArgs e) { SolidColorBrush b = new SolidColorBrush( Color.FromRgb(255, 100, 100) ); this.Background = b; MyMessage.Text = "I was pushed ;'(!"; } } } Þetta er CodeBehind fællinn. Hérna erum við með klasann Page, einmitt Canvasinn okkar erfir frá og Page_Loaded aðferðina okkar sem við skilgreindum sem Loaded Attribute’ið í XAML skránni. Hérna bæti ég við MouseLeftButtonDown event við MyMessage textann minn og læt hann kalla á MyMessage_MouseLeftButtonDown aðferðina þegar ég smelli á hlutinn og breyti þá textanum úr Halló heimur yfir í Ýtt var á mig og breyti bakgrunnslitnum á Canvasnum.
18
XAML dæmi <DockPanel Width="100%"> <Border DockPanel.Dock="Top" Height="25%" Background="Pink" BorderThickness="2" BorderBrush="Black"> <SimpleText VerticalAlignment="Center" HorizontalAlignment="Center">Top 1</SimpleText> </Border> <Border DockPanel.Dock="Top" Height="25%" Background="Pink" BorderThickness="2" BorderBrush="Black"> <SimpleText VerticalAlignment="Center" HorizontalAlignment="Center">Top 2</SimpleText> </Border> <Border DockPanel.Dock="Bottom" Height="25%" Background="Cyan" BorderThickness="2" BorderBrush="Black"> <SimpleText VerticalAlignment="Center" HorizontalAlignment="Center">Bottom 1</SimpleText> </Border> <Border DockPanel.Dock="Bottom" Height="25%" Background="Cyan" BorderThickness="2" BorderBrush="Black"> <SimpleText VerticalAlignment="Center" HorizontalAlignment="Center">Bottom 2</SimpleText> </Border> </DockPanel> DockPanel er Panel líkt og í java. Border teiknar borða af tiltekinni stærð, þykkt, lit, með bakgrunnslit. SimpleText sýnir texta. Þar sem SimpleText er ‘nested’ inní Border þá byrtist textinn inní og ‘ofaná’ bordernum.
19
Sjáum að útkoman er kannski ekki alveg eins og við bjuggumst við þar sem Bottom 2 er fyrir ofan Bottom 1 þó svo að Bottom 1 sé skilgreint Fyrir ofan í XAML kóðanum (BACK). Þetta er vegna þess að við segjum ‘DockPanel.Dock="Bottom“’ svo við segjum Bottom 1 að fara neðst þegar við skilgreinum það og bottom 2 að fara neðst í plássinu sem það hefur sem er þá fyrir ofan Bottom 1.
20
QUEUECARD Scottgu.WMV - 20:50 FullCut - 0:00 – 2:xx.
Expression Blend, skrifað í C#
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.