Silverlight

Silverlight Beskrivelse av Silverlight (Microsoft) 2007 (logo) .png-bilde.

Informasjon
Utviklet av Microsoft
Første versjon 5. september 2007
Siste versjon 5.1.50918.0 (15. januar 2019)
Skrevet i C ++ og C #
Operativsystem Microsoft Windows , macOS og Symbian OS
Miljø Windows
Mac OS X
Les formater Adobe Cross Domain Policy File ( d )
Type Webapplikasjon
Tillatelse MS -EULA, med komponenter lisensiert fra Microsoft Public License
Nettsted silverlight.net

Silverlight er en plugin fornettleserenWindowsogMac OS, noe som gjør det mulig å utviklerike webapplikasjoneri envektorrendering motoren. Den fungerer på samme måte somAdobe Flash,som den er ment som et alternativ.
Teknisk sett tilsvarer SilverlightMicrosoftsCLR,men for nettlesere.

Silverlight har som hovedkonkurrenter Adobe Flash , Flex , og i mindre grad, løsninger som JavaFX eller Quicktime fra Apple . Alt avhenger av om man plasserer seg på siden av et verktøy for å designe virkelige applikasjoner eller en enkel mediedistributør (videoer, musikk osv.).

Teknologien er fremdeles brukbar i mange nettlesere ( for eksempel Internet Explorer ) i Windows og Mac OS X- operativsystemer , ved bruk av et plugin , men ikke i de nyeste versjonene av moderne nettlesere. Silverlight støttes ikke lenger i Google Chrome sidenseptember 2015(versjon 45), og heller ikke i Firefox sidenmars 2017(versjon 52). Edge , den nye Windows 10- standardleseren , men fra samme utgiver, har aldri støttet den.

Microsoft kunngjorde slutten på utviklingen av Silverlight 5 i 2012, bortsett fra reparasjoner. Slutten på støtten blir den12. oktober 2021.

Som med Flash , er det økte behovet for sikkerhet og fremkomsten av HTML5 årsaken til at den forlates.

Animasjon, video, interaktivitet

Silverlight gir et lagret modus (bare interne data endres) grafikksystem som ligner på WPF . Den integrerer multimedia, grafikk, animasjoner og interaktivitet med brukeren.

Den ble designet for å samarbeide med XAML for beskrivelsen av det grafiske grensesnittet, og med Microsoft .NET- språk for oppførselen (kodedelen). Det er fortsatt mulig å bruke JavaScript som tillatt i versjon 1.0, men denne programmeringsmodusen er av liten interesse siden støtten for .NET-språk introdusert i versjon 2.0 . Silverlight kan også brukes til å lage nye dingser for Windows Vista Sidebar . Silverlight støtter WMV- , WMA- og MP3-formater for avspilling i alle nettlesere, uten behov for forhåndsinstallasjon av Windows Media Player eller andre plugins . Siden WMV9 er en implementering av SMPTE VC-1-standarden , støtter Silverlight også VC-1-videoer. Nye videomodi er tilgjengelige siden versjon 3.0 , se utgiverens nettsted for mer informasjon, spesielt HD TV-støtte.

Silverlight gjør det mulig å laste inn XML-innhold dynamisk, som kan manipuleres gjennom et DOM- grensesnitt , en teknikk som er i samsvar med vanlige AJAX- teknikker . LINQ- støtte forenkler styringen av XML-kilder ytterligere. Databehandling kan også gjøres via ADOT.NET Data Services (nå kalt WCF RIA Services; tidligere Astoria), en teknologi som forvandler Entity Framework- modeller til REST- type webtjenester , og datatransporten er i et standard AtomPub-format. Eller JSON .

Siden versjon 2.0 kan programmeringslogikk skrives på alle Microsoft .NET- språk  ; Også inkludert er mange dynamiske programmeringsspråk som Ruby og Python , selv om disse bruksområdene forblir marginale.

Video- og lydkompatibilitet

Format Status
MPEG1 Ikke relevant
MPEG2 Ikke relevant
MP3 Ja
MPEG4 Ja
Flash-video Ja
H263 Nei
H264 Ja
Theora Ja
Rask tid Nei
RealMedia Nei
VC-1 Ja
Windows Media Ja

N / D: ikke tilgjengelig

Kompatibilitet

Den er tilgjengelig for Windows XP , Windows Vista , Windows 7 , 8 og 10 , Mac OS X 10.4, ved hjelp av et plugin tilgjengelig fra versjoner Internet Explorer 6 , Safari 1.0 fra Apple , Firefox 38 fra Foundation Mozilla og Google Chrome 41.
En versjon kompatibel med GNU / Linux- miljøer , basert på en gratis implementering av Silverlight 2.0 for Mono kalt Moonlight ble utviklet fra 2008 , før den ble avviklet i 2011 .

Ulike versjoner

Silverlight 1.0

Silverlight 1.0 er kjernen presentasjon rammeverket , som er ansvarlig for UI (brukergrensesnitt), interaktivitet og brukerundersøkelser, grunnleggende brukergrensesnitt kontroller, animasjon og grafikk, medieavspilling, med DRM -støtte og DOM integrering . Den består av følgende komponenter:

Et Silverlight-program begynner med å påkalle Silverlight-kontrollen fra en HTML- side , som deretter laster en XAML- fil . XAML-filen inneholder et Canvas-objekt, som vil være støtte for andre elementer.

Silverlight gir mange geometriske primitiver som linjer, ellipser og andre former, men også tekst, bilder og media ... Elementer er ordnet for å gi ønsket layout. Enhver tilfeldig form kan opprettes. Alle disse animeres ved hjelp av hendelsesutløsere. Noen animasjonseffekter er forhåndsdefinerte, andre kan opprettes ved å komponere eksisterende. Hendelser fra tastatur- eller mushandlinger kan også betraktes som hendelser, støttet av skript.

Brukergrensesnittadministrasjon oppnås ved å bruke skriptspråk for å endre DOM for Silverlight-lerretobjektet. For å forenkle dette avslører Silverlight en API, tilgjengelig fra ethvert skriptspråk som støttes av Silverlight, som i sin versjon 1.0 bare er begrenset til JavaScript som kjører i nettleseren. Det er heller ingen innebygde widgets for brukergrensesnittet. Innfødte nettleser-widgets bør plasseres over lerretobjektet for brukerinngang. Dataformatene er begrenset til POX ( Plain Old Xml ) og JSON .

Silverlight 2.0 beta 1 (tidligere Silverlight 1.1)

Den 2.0-versjonen gir mer interaktivitet og tillater utviklere å bruke utviklingsverktøy og språk NET stedet for Javascript for å versjon 1.0 .

Silverlight 2.0 inkluderer en versjon av Microsoft .NET Framework som fullt ut implementerer den samme CLR som .NET 3.0 Framework. Dermed kan den kjøre hvilket som helst .NET-språk inkludert VB.NET , C # . I motsetning til CLR som er inkludert i .NET Framework, kan flere forekomster av CoreCLR inkludert i Silverlight være inneholdt i en enkelt prosess . Dette gjør at XAML-oppsettfilen kan utvides med "koden bak koden" ( koden bak ), skrevet på hvilket som helst .NET-språk som inneholder programmeringslogikk. Den kan brukes til å samtidig manipulere Silverlight-applikasjonen og HTML-siden som inneholder Silverlight-kontrollen. XAML, sammen med koden, blir samlet i .NET kjørbare filer som deretter vil bli zippet i en fil med xap-utvidelsen (som forblir en standard ZIP-fil).

Silverlight kjører med et lett bibliotek, med mange funksjoner, inkludert utvidbare kontroller, XML Web Services , nettverkskomponenter eller LINQ APIer for databaser. Dette biblioteket er et delsett og er betydelig mindre enn basen .NET rammebibliotek .

Silverlight-koden er sikker på flere nivåer, den kjører i en sandkasse eller "sandkasse" som forhindrer å påkalle API-ene til plattformen. Derfor kan et Silverlight-program ikke få tilgang til brukerens maskinvare eller filene.

Silverlight 2.0 gir også støtte for DRM- medier .

Versjonen av .NET Framework i Silverlight består også av en delmengde av programmeringsmodell av WPF for brukergrensesnittet , inkludert støtte for skjemaer, dokumenter, media og underholdning WPF. Grensene for alfa-versjonen vil bli løftet av betaversjonen 1 som vil legge til mer enn 20 kontroller i brukergrensesnittet (inkludert tekstbokser , avkrysningsbokser , kontroller for kalender, blant andre), støtte for databinding , automatisk styring av layout og kontroller for databehandling. De UI- kontrollene er skinnable, ved hjelp av fritt definerte modeller (oppfatningen av malen, sjablonmiddel ,  etc. ). Den visuelle manipulasjonen av et Silverlight-prosjekt gjøres ved hjelp av programvaren Expression Blend , og programmeringsdelen blir gjort i Visual Studio .

Basebiblioteket tilbyr klasser for samlinger , refleksjon , regulære uttrykk, strenger og datatilgang. Den støtter også LINQ , med full støtte for LINQ til objekter og uttrykkstrær. Nesten alle navneområdene System.LINQ og System.LINQ.Expression er eksponert. Men LINQ til XML var ikke tilgjengelig i alpha release, før den ble sluppet i betaversjon. Base Library (BCL) støtter også objektserialisering for vedvaring av data. Silverlight kan også støtte RSS- , POX- og JSON-data , i tillegg til XML. BCL gir avansert støtte for arbeid med XML- data , inkludert XMLReader- og XMLWriter-klasser.

Silverlight inkluderer også klasser for tilgang til data via XML-baserte webtjenester (POX), REST og WCF- tjenester . Nettverksstøtten som følger med Silverlight, kan brukes av Silverlight-applikasjoner til å kommunisere via HTTP- protokollen . Mens alfa-versjonen av Silverlight 2 kommunikasjon på tvers av domener ikke er tillatt, støttes den i beta 1-versjonen .

Silverlight bruker et XML- basert format for å kontrollere tilgang til ressurser fra proxy-domener. I tillegg støtter Silverlight også Adobe Flash- formatet som regulerer tilgang mellom domener. Silverlight 2 fra beta 1 legger også til støtte for nettverkskommunikasjon ved hjelp av XML-kontakter på tvers av IPv4 og IPv6 . Silverlight 2.0 støtter også asynkron programmering, ved bruk av " threading  " -biblioteker  . Imidlertid er Silverlight-stikkontakter mer restriktive. De kan bare kommunisere med verten som opprinnelig lansert programmet, og portnumrene er begrenset fra 4502 til 4532. Fremtidige utgivelser vil løse dette problemet. Silverlight-kontakter kan bare starte en tilkobling, de kan ikke være på vent.

Silverlight 2 støtter DLR , som tillater dynamisk kompilering og utføring av dynamiske språk. Imidlertid er DLR ikke inkludert i Silverlight-distribusjonen, en ekstra utvidelse kalt Dynamic Silverlight må installeres. Språkspesifikke moduler kan pakkes med DSL i .xap-pakken. Den DSL SDK Inkluderer en web-server kalt Chiron , som automatisk bunter alle avhengigheter for DSL-programmet før du starter den i nettleseren.

De første språkene som er skrevet for DLR er JScript , IronPython 2.0 og IronRuby . Microsoft planlegger også å bygge inn Visual Basic .NET på DLR. Alle de fire språkene har samme infrastruktur, slik at Silverlight kan kompilere og kjøre kilden. Omvendt må andre .NET-språk kompileres først og sendes til Silverlight som .NET- samlinger . Implementeringen av administrert JScript er i samsvar med ECMAScript 3.0- spesifikasjonen , og Microsoft hevder at den er 250 ganger raskere enn tolket JScript.

Med integrasjonen av .NET Framework tillater Silverlight også en interaksjon med den administrerte HTML-koden, som tillater både manipulering av HTML-elementene i DOM for den implementerte koden, og samtalen til objekter som er instantiert av koden implementert gjennom JavaScript . Silverlight bryter JavaScript-objekter og DOM-elementer for å gjøre dem tilgjengelige i administrert kode. Et Silverlight-program trenger ikke å ha UI-komponenter for å kunne manipulere den administrerte koden HTML DOM. Dette gjøres ved å lage et XAML-lerret hvis bredde og høyde initialiseres til 0. Denne koden bak koden gjør at DOM på HTML-siden kan endres via APIer i nettleserens navneområde.

Silverlight 2 inkluderer Deep Zoom , en teknologi hentet fra Microsoft Live Labs Photosynth . Det lar brukerne zoome inn på bilder eller en gruppering av bilder med jevne overganger, ved hjelp av musemarkøren så vel som hjulet. Bilder kan være alt fra 2 til 3 megapiksler til gigapiksler, men brukeren trenger ikke å vente på at bildet skal lastes helt inn, da Silverlight bare laster inn delene som er sett, optimalisert for zoomnivå. Silverlight 2 lar deg også definere begrenset tilgang til systemdata for Silverlight-applikasjoner. Teknologien kan bruke dialogboksen "Åpne fil" til operativsystemet (OS) for å søke etter en fil. Filen vil være unntatt fra stiinformasjonen for å forhindre at applikasjonen får tilgang til informasjon som brukernavn. Den åpnes i skrivebeskyttet modus.

For lokal datalagring gir Silverlight Isolert lagring utenfor nettleserens cache, i en skjult mappe i brukerens private mappe. I versjon 2.0 er isostocking begrenset til 1  MB per URL . Denne grensen kan konfigureres av brukeren (høyreklikk på plassen til Silverlight-applikasjonen). Data som er registrert av en Silverlight-applikasjon, identifisert av URL-en den ble lastet fra, er kun tilgjengelig for det programmet. Alle forekomster av Silverlight deler samme isostocking, slik at alle forekomster av applikasjonen kan dele de samme dataene, selv om de kjører i forskjellige nettlesere.

CoreCLR Silverlight bruker en attributtdrevet sikkerhetsmodell, i motsetning til Code Access Security (CAS) -modellen på skrivebordsversjonen av .NET framework . Alle samlinger er merket med et sikkerhetsattributt, som kan være gjennomsiktig (SecurityTransparentAttribute), eller kritisk safe (SecuritySafeCriticalAttribute) eller kritisk (SecurityCriticalAttribute). Metoder i gjennomsiktige samlinger kjører med delvis tillit, og slike samlinger kan ikke kalle kritiske metoder. De kan ikke inneholde usikker kode ( usikre ) som pekere ) eller påberope systemfunksjoner.

Silverlight 2.0 beta 2 (2.030523.8)

Silverlight 3.0 beta

Versjon 3 beta ble presentert for utviklere av Scott Guthrie den 18. mars 2009, på Mix09-konferansen i Las Vegas.

Funksjonalitetene er:

Den endelige versjonen 3.0 ble tatt i bruk tidlig juli 2009. Det bekrefter forbedringene som presenteres i betaversjonen.

Silverlight 4.0 beta

Versjon 4.0 ble utgitt i beta den 18. november 2009. En av de nye funksjonene er innfødt støtte for RTF ( Right To Left ) kontrollskjermstil , nødvendig for optimal visning av grensesnitt på et RTF-lignende sted, for eksempel på hebraisk eller arabisk. Utvidet støtte for modus utenfor nettleseren (med forhøyede privilegier for eksempel) er også på agendaen.

Silverlight 4.0 RC

4.0 RC-versjonen av Silverlight ble kunngjort den 16. mars 2010 til MIX 2010. Forskjellige rettelser er gjort.

Silverlight 4.0 finale

Den endelige versjonen 4.0 ble gitt ut den 15. april 2010.

Silverlight 5.0

Silverlight versjon 5.0 ble utgitt den 9. desember 2011. Nye funksjoner har dukket opp som GPU-akselerasjon for videokoding, 3D-grafikk, hastigheter for avspilling og 64-biters støtte.

Den 1/15/2019 ga Microsoft ut en oppdatering for Silverlight DateTime-beregninger som støtter de nye japanske epoker.

utviklingsverktøy

Silverlight-applikasjoner kan skrives på hvilket som helst Microsoft .NET- programmeringsspråk . Likeledes kan ethvert utviklingsverktøy som kan brukes med .NET-språk fungere med Silverlight, på grunn av det faktum at det vil være i stand til å målrette Silverlight CLR- kjernen direkte , i stedet for. NET CLR.

De versjonene 2.0 og 2.5 for Microsoft Expression Blend var tenkt å designe brukergrensesnitt søknader 1,0 Silverlight henhold og 2,0. Visual Studio 2008 kan brukes til å utvikle og feilsøke Silverlight-applikasjoner. Men det vil være nødvendig for dette å først installere "  The Silverlight-verktøyene for Visual Studio  ". Silverlight 3.0- applikasjoner kan programmeres med Visual Studio 2008 ved å installere den tilsvarende verktøysettet. For den visuelle delen er Expression Blend i versjon 3.0 nødvendig.

Et Silverlight Web-prosjekt inneholder på den ene siden det rent Silverlight-prosjektet, samt et ASP.NET-prosjekt som eksponerer applikasjonen på en ASPX-side, samt en HTML-side (utvikleren velger versjonen som skal brukes). For å betjene Silverlight.js- og CreateSilverlight.js-filene er gitt. De tillater initialisering av Silverlight-plugin for bruk på HTML-sider. En komponent for å utføre de samme funksjonene eksisterer direkte i ASP.NET-modus. Dette er bare en av de mulige modusene. Det enkleste er å generere en utførbar Silverlight-fil (“.xap” -utvidelse, omdøpt ZIP-format) som kan integreres i en HTML- eller ASP.NET-side. Enten det er Visual Studio eller Expression Blend , genererer Silverlight utviklerverktøy automatisk begge typer tilnærminger. Et Silverlight-prosjekt består vanligvis av en XAML-fil for brukergrensesnittet ( UI ) og kodefiler for applikasjonskoden. Silverlight-applikasjoner feilsøkes på samme måte som .NET-applikasjoner. "  Remote Debugging Cross Plattform  " fra CLR Visual Studio kan brukes til å feilsøke Silverlight-applikasjoner som kjører på forskjellige plattformer.

Tillatelse

En kunngjøring hevdet at Microsoft kunne gi fri tilgang til visse komponenter i Silverlight-kildekoden i en åpen kildekodeversjon, men Sam Ramji, direktør for teknologistrategi hos Microsoft, nektet informasjonen . Imidlertid er DLR som følger med Silverlight tilgjengelig fra Microsofts CodePlex- nettsted under Microsoft Public License . Samlingen av kontroller som er inkludert i Silverlight 2 er også tilgjengelig under samme lisens. Det skal bemerkes at de fleste av de virkelig nye komponentene (styring av temaer, rike komponenter  osv. ) Distribueres via Silverlight Toolkit tilgjengelig på Codeplex i binær og kilde.

Alternativer

Mono- teamet utviklet en stund en implementering av åpen kildekode av Silverlight- kjøretiden , kalt Moonlight . Prosjektet ble offisielt støttet av Microsoft, som etter en avtale med Novell gjorde tilgjengelig for Mono tilleggsspesifikasjoner, i tillegg til de som allerede var offentliggjort, samt tester. Mono hadde også eksklusiv tilgang til kjernebiblioteket API. Moonlight siktet mot isofunksjonalitet med den nyeste versjonen av Silverlight, men en forståelig liten forsinkelse, mens det opprinnelige produktet fremdeles var tilgjengelig før det ble tilpasset under Mono. Utviklingen av Moonlight ble stoppet iapril 2011.

Anmeldelser

Silverlight har blitt kritisert som en teknologi fordi det ikke inkluderer Linux eller BSD i det offisielle tilbudet (i motsetning til Adobe som distribuerer Flash Player på Linux). Selv om Microsoft samarbeidet om Moonlight-prosjektet, minnet Bruce Chizen, tidligere administrerende direktør for Adobe Systems , Microsofts forpliktelse til å holde Silverlight-plattformen kompatibel med annet operativsystem i tillegg til Windows. Frykten er basert på tidligere eksempler: uten å gå til slutten har Microsoft flere ganger lovet å utvikle produkter som er kompatible med mange plattformer.

Den europeiske komiteen for interoperable systemer frykter at Microsoft med Silverlight søker å bringe innhold til nettet som bare vil være tilgjengelig på Windows-plattformen. De oppgir at bruken av XAML i Silverlight er posisjonert til å erstatte standard HTML cross platform .

Microsoft har også blitt kritisert (som Adobe for den saks skyld) for ikke å bruke Scalable Vector Graphics (SVG) -standarden i Silverlight, som Ars Technicas Ryan Paul sier er Microsofts nektelse av å bruke åpne standarder. Source i sine produkter.

Merknader og referanser

  1. (i) Mary Jo Foley , "  Microsoft trekker støpselet på icts Silverlight.Net-nettstedet  " , ZDNet ,7. desember 2012( les online , konsultert 13. august 2017 )
  2. (in) "  Oppgivelse av Microsoft til fordel for HTML5  "
  3. Vincent Hermann , "  Med ankomsten av Edge vil Microsoft ikke lenger Silverlight  ", Next INpact ,4. juli 2015( les online , konsultert 13. august 2017 )
  4. (in) Nuanti Bringer HTML5 og Ogg Theora-video til Silverlight , Ars Technica , publisert 5. februar 2010.
  5. (i) en samtale "arkivert kopi" (versjon av 23. juli 2018 på Internett-arkivet ) på Microsoft-forumet for Silverlight.

Se også

Relaterte artikler

Eksterne linker