none
Winforms -> Silverlight RRS feed

  • Frage

  • Hallo

    Ich habe mal eine allgemeine Frage.

    Mein jetziges Projekt ist so ziemlich fertig & ich möchte das jetzt noch migrieren von WinForms nach Silverlight.
    Es geht nicht ums Design! - Sondern meine Frage zielt auf die Code-Ebene ab.

    Ist Silverlight in VB.NET von Code Seite her anders zu progrmamieren als wenn ich WinForms nutze? - Oder kann ich meinen Code großteils übernehmen?

    Wo sind die Unterschiede? - DANKE im Voraus für Tipps

     

    Mittwoch, 15. Juni 2011 12:20

Antworten

  • Hallo,

    die Programmiersprache, d. h. Visual Basic, bleibt das gleiche. Nur ist das nur die Syntax.

    Dir sollte klar sein, dass Du kein vollständiges .NET Framework zur Verfügung hast,
    Das Silverlight SDK ist eigenständig und stellt nur eine Teilmenge bereit.

    Zum Datenbank-Zugriff:
    Eine direkter Zugriff über einen Datenbank Provider ist nicht möglich, das gilt nicht nur für MySql -
    denn prinzipbedingt stehen die Netzwerkprotokolle nicht zur Verfügung.
    Es läuft alles über HTTP - da dies das Protokoll der Browser ist (und einfacher durch die Firewalls geht).
    Siehe auch MySQL and Silverlight

    Du musst also RIA, Data Services oder "herkömmliche" Web Services nutzen.
    Da der Datenverkehr über HTTP abläuft, würde man für eine sichere Übertragung HTTPS verwenden.

    Gruß Elmar

    • Als Antwort markiert Zero-G. _ Mittwoch, 15. Juni 2011 15:18
    Mittwoch, 15. Juni 2011 14:59
    Beantworter

Alle Antworten

  • Hallo,

    Silverlight hat von der Oberfläche mit Windows Forms nichts gemein,
    anders sähe es nur aus, wenn Du WPF verwendet hättest.

    Du wirst die gesamte Oberflächenprogrammierung neu machen müssen,
    denn auch wenn es vielfach vergleichbare Steuerelemente gibt,
    sind die Konzepte wie Objektmodell unterschiedlich.

    Andere Codeteile können teilweise ebenfalls betroffen sein,
    je nach dem Anwendungsmodell. Als Browseranwendung sind
    einige Dinge wie direkter Datenzugriff nicht möglich - auch mit
    Out-of-Browser-Unterstützung ist nicht alles möglich.
    (wohingegen eine Windows Forms Anwendung keine Einschränkungen hat)

    Empfehlen würde ich zunächst einmal den Wegweiser durch Silverlight zu studieren.

    Da Du hier bereits zu EF gepostet hast:
    Dort wären die WCF Ria Services die größte Annäherung -
    der Datenzugriffscode würde dabei auf den Server wandern
    und der Client die Daten übers Netz beziehen.

    Alternativ gibt es die WCF Data Services, die allgemeiner gehalten sind
    und sowohl in Silverlight wie Desktop-Anwenungen genutzt werden können.
    Siehe auch: http://stackoverflow.com/questions/1647225/ria-services-versus-wcf-services

    (Anderes wie das DataSet existiert in Silverlight gar nicht).

    Summa Summarum läuft es auf ein Neuschreiben großer Teile hinaus.

    Gruß Elmar

     

    Mittwoch, 15. Juni 2011 13:11
    Beantworter
  • Hallo Elmar

     

    Danke für Deine Antwort.

    1) Das mit dem Thema des Designs ist mir vollkommen klar!

    2) Mir ging es eben mehr um das "Programmieren". - Ob es da eben Unterschiede gibt.

    Wenn ich über den Wegweiser durch Silverlight mal so fliege finde ich keine ernsthaften Sprachunterschiede.

    Die RIA Services habe ich mir angesehen, sind aber für mich uninteressant, da ich als Datenbank mySQL Nutze und es da keinen RIA Support gibt.
    WCF Data Services muss ich mir erst ansehen, wenn ich es aber richtig verstehe geht es dabei um die Trennung vom Client Code und Server Code.

    Also d.h. Die Abfrage passiert im "Web" Projekt, das direkt am Server liegt und nur die Daten an den Client überträgt, die er wirklich wissen möchte. - Hoffe das ist soweit richtig.

    Wenn dem so ist, wie ist das mit der Datenverschlüsselung?

    Wenn ich die Abfrage direkt über den Client per LinQ schicke, habe ich den Vorteil, dass erstens die Verbindung per SSL geschützt ist & zweitens die SQL Code generation sowieso On-the-fly passiert.

     

    Gibt es dazu Aufklärung?

    DANKE

     

    Mittwoch, 15. Juni 2011 14:43
  • Hallo,

    die Programmiersprache, d. h. Visual Basic, bleibt das gleiche. Nur ist das nur die Syntax.

    Dir sollte klar sein, dass Du kein vollständiges .NET Framework zur Verfügung hast,
    Das Silverlight SDK ist eigenständig und stellt nur eine Teilmenge bereit.

    Zum Datenbank-Zugriff:
    Eine direkter Zugriff über einen Datenbank Provider ist nicht möglich, das gilt nicht nur für MySql -
    denn prinzipbedingt stehen die Netzwerkprotokolle nicht zur Verfügung.
    Es läuft alles über HTTP - da dies das Protokoll der Browser ist (und einfacher durch die Firewalls geht).
    Siehe auch MySQL and Silverlight

    Du musst also RIA, Data Services oder "herkömmliche" Web Services nutzen.
    Da der Datenverkehr über HTTP abläuft, würde man für eine sichere Übertragung HTTPS verwenden.

    Gruß Elmar

    • Als Antwort markiert Zero-G. _ Mittwoch, 15. Juni 2011 15:18
    Mittwoch, 15. Juni 2011 14:59
    Beantworter
  • DANKE

     

    Wie immer ein Traum an Auskunft!

    Mittwoch, 15. Juni 2011 15:18