Wenn ich es richtig verstehe, ist Microsoft Silverlight eine schlanke .NET-Implementierung, die auf der Clientseite in einem Browser ausgeführt werden soll. So, jetzt höre ich von "außerhalb des Browsers" silverlight Anwendungen und ich bin verwirrt.
Was ist der Vorteil einer "Out of Browser" Silverlight-Anwendung im Vergleich zu einer herkömmlichen .NET-Desktop-Anwendung?
Ich beantwortete eine ähnliche Frage hier mit Silverlight vs WPF. All diese sollten außer für die bessere HTML-Integration gelten.
Die Installation einer Silverlight-Anwendung außerhalb des Browsers wird immer noch in einer Sicherheits-Sandbox ausgeführt, in der sich eine herkömmliche .NET-Desktopanwendung nicht befindet.
Das Ziel einer OOB besteht darin, dem Benutzer die Möglichkeit zu geben, eine webbasierte Anwendung aus seinem Browser-Container herauszuheben und den Zugriff zu erleichtern. Es ist immer noch eine webbasierte Anwendung. Es lohnt sich, daran zu denken, dass dies auf einem Mac funktioniert, wo es keine herkömmliche .NET-Desktop-App gibt.
Dieser Bereich ist mit SL4 OOB matter geworden, was den Benutzer nun nach erhöhtem Vertrauen fragen kann. Jetzt ist die Sandbox entspannter und es gibt mehr Möglichkeiten, mit dem nativen Betriebssystem zu arbeiten. Es gibt jedoch immer noch viele Einschränkungen, hauptsächlich um Multi-Plattformen zu unterstützen. Es wäre nicht wünschenswert, wenn es ein defacto werden würde, dass vertrauenswürdige OOBs nur dazu neigen, unter Windows zu arbeiten. Es bleibt abzuwarten, ob das vermieden werden kann.
Wenn Sie also an eine voll funktionsfähige Windows-Desktop-App denken, sind Sie wahrscheinlich besser dran mit WPF. Auf der anderen Seite, wenn Sie nicht den vollen Zugriff auf das Betriebssystem benötigen, können Sie über eine Webseite liefern und / oder Sie können auf Windows und Macs (und möglicherweise anderen Plattformen) dann vielleicht Silverlight 4 OOB + Elevated ausführen Vertrauen kann sein, was Sie brauchen.
Silverlight 3 Apps außerhalb des Browsers ermöglichen der Silverlight-App eine Desktopverknüpfung und erfordern nicht, dass der Browser zum Ausführen der App geöffnet wird (technisch gesehen können Sie die App jetzt sogar offline ausführen.) , da Sie die SL-App nicht über das Internet abrufen müssen.)
Mit SL 4 können Sie jetzt erhöhte Rechte haben, sodass die SL-App auf lokale Ressourcen zugreifen kann (z. B. Netzwerkstapel und Dateisystem).
Es gibt auch einen einfachen API-Aufruf für eine Out-of-Browser-SL-App, um beim Start nach Updates zu suchen und ein Update vom Server herunterzuladen. Dies ist vergleichbar mit einer einmaligen Bereitstellung. Es geschieht jedoch automatisch und schnell, sodass es effizienter und einfacher ist als einmaliges Klicken.
Verglichen mit einer herkömmlichen .NET-App (in diesem Fall vergleichen wir uns mit WPF, da dies eigentlich der WinForms-Ersatz ist), gibt es nur sehr wenig Installation. Kein Setup-Programm, nur die XAP-Datei, einfach im Web gehostet und sehr schnell installierbar. SL verwendet ein reduziertes .NET-Framework, das wie ein Negativ erscheinen mag. Das typische Muster für eine SL-App besteht jedoch darin, den Großteil des Heavy-Lifting in eine Service-Stufe zu stellen. Dann haben Sie in der Serviceebene das vollständige .NET-Framework und können so ziemlich alles tun, was Sie wollen (z. B. Zugriff auf Datenbanken mit ADO.NET).
Bibliotheken sind eine weitere Sache, die zwischen den beiden Anwendungen zu beachten ist. Zum Beispiel bietet Silverlight 4 native Unterstützung für das direkte Sprechen mit einer Webkamera und einem Mikrofon, während WPF und das vollständige .net-Framework eine sehr große Bibliothek von Drittanbietern von Bibliotheken enthalten, auf die Sie möglicherweise Quellcode benötigen wenn Sie sie unter Silverlight neu erstellen möchten.
Ein weiterer Faktor sind Einschränkungen in der Sandbox. Sie könnten beispielsweise keine Anwendung schreiben, die sich mit einem Server in Silverlight 4 verbinden könnte.
Tags und Links silverlight out-of-browser