다음을 통해 공유


WPF/E och Expression

Som du kanske redan känner till har vi släppt en s.k. Community Technology Preview av något som går under kodnamnet WPF/E (Windows Presentation Foundation Everywhere) - en ny teknik för att kunna skapa rikare, mer dynamiska och avsevärt mycket snyggare webbgränssnitt än vad som hitills varit möjligt med "traditionell" webbteknik.

Som namnet antyder är WPF/E besläktad med Windows Presentation Foundation - och den gemensamma faktorn stavas XAML (eXtensible Application Markup Language). WPF/E gör det möjligt att visa vektor-grafik och animeringar definierade i XAML (eller ett subset av XAML för att vara mer exakt) i webbsidor och samtidigt blanda dessa med audio och media-strömmar. Genom att använda Javascript på klientsidan får du som utvecklare programmatisk tillgång till strukturen för XAML-definitionen och kan på så sätt skapa interaktivitet i gränssnittet, t.ex. genom att låta klick-event styra en animering.

För användaren innebär WPF/E rent tekniskt att en liten (<2 MB) plug-in i form av en Active X-kontroll laddas hem och installeras på klienten. Ett krav som funnits med när man tagit fram WPF/E är att det ska vara en så smärtfri installation som möjligt - vilket innebär att omstart inte är nödvändigt.

Några scenarion där WPF/E lämpar sig alldeles utmärkt är:

  •  egendesignade mediaspelare som kan spela upp WMV-,WMA- eller MP3-filer via s.k. progressive streaming, vilket inte kräver någon streaming mediaserver
  •  interaktiva webbsidor där WPF/E med hjälp av AJAX dynamiskt kan hämta nya XAML-definitioner till webbläsaren från en ASP.NET-applikation, t.ex. online-spel eller online-kurser
  •  produktkataloger online där presentationen utgörs av XAML som byggs upp dynamiskt utifrån innehållet i en produktdatabas
     

Något som känns extra roligt är att WPF/E kommer finnas tillgänglig även för Mac samt att tekniken kommer att fungera i både Firefox och Safari (och naturligtvis även i IE - v6 och uppåt).

Eftersom XAML är XML-baserat går det att skapa XAML-definitioner med valfri text-editor, vilket kan räcka för väldigt enkla scenarion. I SDK:n för WPF/E följer det med en projektmall för Visual Studio 2005 för att du snabbt ska kunna komma igång och testa tekniken. Är du seriöst intresserad av WPF/E bör du definitivt även ta en titt Expression-sviten - där det finns två verktyg, Expression Blend och Expression Design som är speciellt framtagna för att skapa grafik i form av XAML. Expression Blend används för att skapa interaktiva gränssnitt som bygger på vektor- och pixelgrafik, animeringar och video. Expression Design är ett grafiskt designverktyg som används för att skapa avancerad vektorgrafik, som sedan kan exporteras till XAML och plockas in i Blend för att användas i ett användargränssnitt.

Läs mer om Expression här. Där kan du även ladda hem Beta 1 av Expression Blend och en CTP av Expression Design.

Här hittar du CTP:n för WPF/E, inklusive en SDK med exempel på användning och projektmall för Visual Studio.  Längre ned på sidan finns även länkar till mer info och demos.

En av mina favorit-demos, som verkligen visar på styrkan i Javascriptad XAML hittar du här.

Comments

  • Anonymous
    January 24, 2007
    Något jag inte har fått klart för mig är stödet för linux. Hur är det där? Fungerar Mac-versionen på linux också eller får de som kör det stå utanför?

  • Anonymous
    January 24, 2007
    Mikael: I dagsläget finns WPF/E tillgängligt för Windows Vista, Windows XP och Mac OS X (10.4.8 och senare). December CTP:n är kompatibel med Internet Explorer 6 och 7, Firefox 2.0 för Windows och Mac, samt Safari för Mac. Den släppta versionen kommer även ha stöd för Opera.

  • Anonymous
    January 24, 2007
    Jo, men det jag undrar är huruvida det kommer fungera på Linux eller ej? Säg att man kör t.ex. Linux Gnome med Firefox, kommer det då att vara möjligt att se WPF/E-applikationer?

  • Anonymous
    January 24, 2007
    Nej - WPF/E plugin:en finns inte tillgänglig för Linux i dagsläget. Vår ambition är att göra den här tekniken tillgänglig för en så bred användarbas som möjligt, men för närvarande är det operativsystemen Vista, XP och Mac OS X från 10.4.8 som stöds - med de webbläsare som jag nämnde ovan.

  • Anonymous
    January 25, 2007
    Okej, vet du om något stöd för linux kommer? Jag har planer på att utveckla en ny version av en statistiktjänst jag jobbade med förut och funderar på att inkludera WPF/E, men samtidigt vill jag nå ut till alla. Du tog inte med win 2003 med i listan, men jag antar att det finns stöd för det också?

  • Anonymous
    January 25, 2007
    Jag ser inte någon anledning till att det inte skulle fungera i Windows Server 2003, den är förmodligen inte med i listan eftersom det inte är ett så vanligt operativ att köra som klient. Ska testa installera och köra den på en 2003-server. Om något stöd för Linux kommer är inte bestämt i dagsläget. Detta gäller alltså klient-delen av WPF/E. Den eller de webbsidor, JavaScript, XAML-filer, video-filer och andra resurser som utgör en WPF/E-applikation kan förstås läggas på vilken webbserver som helst, oberoende operativ.

  • Anonymous
    January 25, 2007
    Okej, Tack för informationen. Skulle jag kunna lägga till dig på WLM för eventuella frågor i framtiden om ämnet?

  • Anonymous
    January 25, 2007
    Maila mig på robert.folkesson(snabel-a)microsoft.com om du har några frågor, så ska jag försöka hjälpa. vore spännande att få höra hur det går med en framtida implementering!

  • Anonymous
    January 25, 2007
    The comment has been removed

  • Anonymous
    January 31, 2007
    Har en fundering. Exjobbar inom XAML/WPF. Har läst in mig på XAML/WPF/XBAP och har givetvist också kommit i kontakt med WPF/E. Det jag funderar över är WPF/E Feb 2007 CTP som jag nyss blev uppmanad till att installera. Översikten ger "WPF/E is compatible with Internet Explorer 6.0 and 7.0 and also with Mozilla Firefox 1.5.0.8+ and 2.0+" och "Supported Operating Systems: Windows Vista; Windows XP Service Pack 2". Stöder WPF/E "plug-in:et" alltså mer än dessa (de delar du omnämnt January 24, 2007 4:28 PM)? Kan man idag säga vad slutmålen/slutvisionen är... fulla stödet av OS och "browsrar" samt stöd för programmeringspråk/scriptspråk (c#) ? Mvh  

  • Anonymous
    January 31, 2007
    The comment has been removed

  • Anonymous
    January 31, 2007
    Spännande område göra exjobb inom! Den nya CTP:n finns även i en MAC-version som är tillgänglig här: http://www.microsoft.com/downloads/details.aspx?FamilyId=8B6B1524-ECD9-4FF2-BB0F-D9156F570C5B&displaylang=en På MAC stöds Safari, Firefox 1.5.0.8+ samt Firefox 2.0.0.1+ på MacOSX 10.4.8 eller senare i denna CTP. Den releasade versionen kommer även att ha stöd för Opera. När det gäller framtida stöd för annat än Javascript så är detta inte helt klart i dagsläget, men så fort jag vet något mer kommer jag naturligtvis att blogga om det.

  • Anonymous
    February 08, 2007
    "När det gäller framtida stöd för annat än Javascript så är detta inte helt klart i dagsläget, men så fort jag vet något mer kommer jag naturligtvis att blogga om det." Inte? I en intevju med Scott Guthrie (tror det var Channel9) så sa han att det kommer finnas. Lät på honom som att det var klart att det kommer i framtida släpp.

  • Anonymous
    February 09, 2007
    Jag borde ha skrivit "...så fort jag kan säga något mer kommer jag skriva om det...". Av naturliga skäl kan vi inte alltid gå ut publikt med sånt som inte är helt färdigt ännu. Jag vet inte exakt vad Scott sa i intervjun eftersom jag inte har sett den... men han vet säkert vad han talar om ;-)

  • Anonymous
    February 09, 2007
    Hehe, förstår. Det verkade lite på han som att det inte var meningen att gå ut med det, men han sa att det ändå var lugnt. :-) Har för mig att han sa något om att de visar mer om det WinHEC.

  • Anonymous
    February 20, 2007
    The comment has been removed