2015-10-01 24 views
5

Wir müssen eine Anwendung erstellen, die über den Browser verwendet werden kann, aber auch offline verwendet werden kann.Soll ich noch Silverlight/XBAP verwenden

Die Browserversion wird von unserem Kunden für Berechnungen verwendet. Jeder Kunde muss sich mit einem Benutzernamen und einem Passwort bei der Anwendung anmelden. Die Offline-Version wird von unseren eigenen Mitarbeitern verwendet. Sie müssen diese Version verwenden können, solange sie nicht mit einem Netzwerk verbunden sind. Die Daten, die für die Anwendung benötigt werden, werden in XML-Dateien gespeichert.

Wir programmieren hauptsächlich mit C# und dem .NET-Framework. Wir haben überlegt, WPF für die Client-Version zu verwenden. Ich habe gelesen, dass Sie Silverlight oder XBAP verwenden können, um eine Browser-Version der WPF-Anwendung zu erstellen. AFAIK Silverlight ist eine sterbende Technologie. Wie wäre es mit XBAP? Würden Sie immer noch in diese Technologie investieren? Die andere Lösung wäre, zwei Front-End-Anwendungen zu erstellen: Die WPF-Anwendung als Offline-Anwendung und eine Web-Anwendung (z. B. ASP.NET MVC) als Web-Anwendung. Dachte, das würde bedeuten, dass wir zwei Frontends erstellen müssten (mehr Arbeit).

Gibt es noch eine Alternative? Wäre es besser, eine HTML/JavaScript-Anwendung zu erstellen (z. B. mit AngularJ oder ähnlichem)?

Antwort

7

Als früherer Silverlight-Entwickler kann ich nur empfehlen Silverlight für neue Anwendungsentwicklung nicht zu verwenden. Microsoft hat die Weiterentwicklung von Silverlight ausgesetzt und Sie erhalten keine neuen Funktionen (nur Sicherheitsupdates). Ich mochte die Technologie und die Ähnlichkeit mit WPF sehr, aber für mich ist es veraltet.

Sogar einige Browser (wie Chrome) unterstützen Silverlight nicht mehr, und Sie müssen eine Abhilfe bekommen es läuft (siehe auch Chrome doesn't support silverlight anymore? How to solve this?)

ein Backendsystem entwickeln, die einen REST-API (mit ASP.NET WebAPI bietet als ein Beispiel) für Ihre Kunden und entwickeln Sie eine Browser-Client-Anwendung mit modernen HTML/CSS/JavaScript-Frameworks. Falls benötigt/benötigt eine Desktop-Anwendung, die WPF verwendet und die REST-API verwendet.

5

Silverlight kann absterben, aber das bedeutet nicht, dass Sie es vermeiden sollten. Silverlight ist immer noch eine brauchbare Technologie, die Sie verwenden können, aber Browser-Trends scheinen Silverlight-Unterstützung auslaufen zu lassen. Soweit ich weiß, Microsoft Edge Browser unterstützt nicht mehr Silverlight, so dass Sie Internet Explorer verwenden müssen. Dies ist nicht das Ende der Welt, aber es ist etwas zum Nachdenken.

Was WPF Auch dies wird ersetzt von Windows-Universal-Apps, wenn auch langsam. Dies ist jedoch kein allzu großes Problem, da die Fähigkeiten, die Sie in WPF gelernt haben, leicht übertragbar sind. WPF selbst erhält nicht so viele neue Funktionen wie früher, man könnte sagen, es ist fertig.

Es ist nicht immer einfach, mit den neuesten Trends Schritt zu halten, und es wird immer etwas cooles und hippes um die Ecke geben, aber eins ist sicher, die .NET Plattform, einschließlich der neuen refaktored Universal App APIs sind hier zu bleiben, und wird nicht in absehbarer Zeit.

Der aktuelle Trend sieht Web Technologies, wie ASP.NET eine viel größere Rolle als bei herkömmlichen Desktop/Tablet/Telefonanwendungen zu spielen. Ich würde sagen, dass die Entwicklung für einen Webbrowser sicherlich eine beliebte Wahl ist.

Das gesagt wird, Windows Universal Apps ist auch eine gute Wahl, in der Tat ist jede Technologie, die das .NET Framework nutzt, ideal.

Was meine Empfehlung, würde ich eine in ASP.NET Web-Anwendung oder Web API empfiehlt suchen eine Desktop-Anwendung, auf die, wie WPF (noch eine praktikable Technologie für Enterprise-Anwendungen) oder Universal-Windows-App kann einhaken. Ein ideales Szenario wäre, dass beide Anwendungen denselben Back-End-Code verwenden, was sicherlich möglich ist, da beide .NET Framework verwenden.

Für Ihre Anforderungen kann es sogar möglich sein, die Erstellung einer Desktopanwendung zu vermeiden, eine Webanwendung kann auf einem Computer im lokalen Netzwerk gehostet werden, und Clients können weiterhin die Webanwendung verwenden. Dies setzt voraus, dass diese Clients natürlich keinen Internetzugang haben.

TL; DR: .NET ist legitim, verwenden Sie ASP.NET.