mission possible: uporaba sedanje kode pri razvoju aplikacij "metro"

Post on 02-Jun-2015

2.236 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

A presentation about using existing .NET code in Metro applications for Windows 8

TRANSCRIPT

Mission Possible:Uporaba sedanje kode pri razvoju aplikacij „Metro“Damir ArhAdacta d.o.o.

Agenda

IzziviPristopi

Uporaba aplikacijskega strežnikaKnjižnica za „Metro“ profilKnjižnica za „Portable“ profilWindows Runtime komponenta

Dodatni viri

Izzivi

Ločen profil v ogrodju .NET za Windows 8 Metro aplikacijeUporaba „standardnih“ .NET knjižnic ne bo podprta

Uporaba aplikacijskega strežnika Večnivojska

arhitekturaUporaba obstoječe kode na aplikacijskem strežniku„Metro“ aplikacija kot tanki odjemalec

„Metro“ aplikacija

Aplikacijski strežnik

Podatkovni viri

Knjižnica za „Metro“ profil

Obstoječa koda se ovije v „Metro“ .NET knjižnicoPotrebna je prilagoditev kode tipom, ki so na voljoLočena koda ali pogojno prevajanje

„Metro“ .NET aplikacija

„Metro“ .NET knjižnica

„Metro“ profil v ogrodju .NET

„Metro“ profil je podmnožica .NET 4.5Odstranjeni številni tipi

Neuporabni v „Metro“ZastareliPodvojeniOvoji okrog Win32 API…

Metro

SL5WP7

Ogrodje .NET Windows Runtime

System.Windows Windows.UI.Xaml

System.Security.IsolatedStorage Windows.Storage.ApplicationData

System.Resources Windows.ApplicationModel.Resources

System.Net.Sockets Windows.Networking.Sockets

System.Net.WebClient Windows.Networking.BackgroundTransferSystem.Net.HttpClient

Tipi Windows Runtime

Preslikani tipi Windows RuntimeWindows Runtime Ogrodje .NET

HRESULT Exception

IAsyncOperation<T> Task<T>

IIterable<T> IEnumerable<T>

IVector<T> IList<T>

IVectorView<T> IReadOnlyList<T>

IMap<K,V> IDictionary<K,V>

IMapView<K,V> IReadOnlyDictionary<K,V>

Pomožni tipi za interoperabilnost

Prehajanje z uporabo razširitvenih metodIInputStream.AsStream()Stream.AsInputStream()Byte[].AsBuffer()IBuffer.TryGetUnderlyingData()

Windows Runtime Ogrodje .NET

IInputStreamIOutputStreamIRandomAccessStream

Stream

IBuffer Byte[]

Knjižnica za „portable“ profil

Presek razpoložljivih tipov v vseh podprtih profilihBinarna združljivost zgrajenih zbirov z vsemi profiliOmejen nabor razpoložljivih tipov

Windows Runtime komponenta

Možna uporaba iz vseh podprtih jezikov:

C# in Visual BasicC++Javascript

Datoteke WinMDPrenos podatkov prek meja jezikov ima svojo ceno

Omejitve javnega vmesnika

Dovoljeni so le Windows Runtime tipi

Struct lahko vsebuje le javna polja

Vsi tipi morajo biti „sealed“

Dovoljeni so le sistemski generični tipi

Dva možna pristopa

Projekcija

WinRT komponenta

Projekcija

WinRT komponenta

.NET knjižnica

Dodatni virihttp://channel9.msdn.com/Events/Build/Build2011

http://channel9.msdn.com/Events/BUILD/BUILD2011/PLAT-877Thttp://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-930Chttp://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-531T

http://msdn.microsoft.com/en-us/windows/apps

Zaključek

Uporaba obstoječe kode brez večjih posegov ni možnaTežavna predelava obstoječih aplikacijOmejitve vredne razmisleka pri načrtovanju novih rešitev

HVALA

top related