Layout | Titel | Permalink | Beschreibung | Datum | Tags |
---|---|---|---|---|---|
Post | MvvmForms Readme | neue-seite.html | Readme für Mvvm-Formulare | 17.05.2015 16:31:30 -0700 | MVVM; Windows Forms |
Willkommen beim MvvmForms-Bibliotheksprojekt von ActiveDevelop. Der Zweck von MvvmForm besteht darin, XAML ViewModel-kompatible Unterstützung für Windows Forms Visual Basic- und CSharp-Projekte und -Lösungen bereitzustellen, einschließlich einer vollständigen WinForms Designer-Unterstützung. MvvmForms ist Open Source (GPL), aber eine Doppellizenz. Weitere Informationen zur MvvmForms-Lizenzierung finden Sie im Abschnitt „Lizenz“ weiter unten.
Wenn Sie den Luxus eines sauberen Starts für Ihr neues Projekt haben und Ihr Entwicklungsteam der Aufgabe gewachsen ist, benötigen Sie MvvmForms höchstwahrscheinlich nicht. Aber das ist nicht so oft der Fall. In den meisten Fällen wurden zwischen 1996 und 2010 Hunderte Millionen Codezeilen für die Windows-Plattform geschrieben, oft in CSharp und Visual Basic .NET für Windows Forms oder sogar mit Visual Basic 6. Viele Unternehmen tun dies nicht haben die Möglichkeit, diese Projekte wegzuwerfen und von vorne zu beginnen. Und wozu überhaupt? Ihre Lösung funktioniert, sie ist stabil und getestet. Warum also nicht weiter verwenden?
MvvmForms ist genau das Richtige für Sie, wenn Sie Ihr Entwicklungsparadigma ändern möchten. Wenn Sie Code Behind loswerden und eine gute Architektur mit Trennung der Belange einführen möchten. Wenn Sie auf einer Architektur aufbauen möchten, die Unit-Tests ermöglicht. Wenn Sie eine mehrschichtige Architektur aus Ihrer vorhandenen Software erstellen möchten, indem Sie einfach Teil für Teil umgestalten, können Sie große Teile der Software für verschiedene Benutzeroberflächen wiederverwenden, z. B. für Windows Universal Apps, iOS Apps oder Android Apps.
Unser in Westfalen ansässiges Unternehmen hat sich auf die Migration von einem typischen Windows Forms Code Behind-Paradigma zu einer modernen Architektur spezialisiert. Und wir helfen dabei, dies auf eine umsetzbare Art und Weise zu tun. Wir wissen, dass Ihr Team weder die Zeit noch das Budget hat, um bei Null anzufangen, und das ist der Grund, warum wir MvvmForms entwickelt haben: Um unseren Kunden den Einstieg in die neue Welt der Softwareentwicklung zu erleichtern, ohne das Projekt zu gefährden.
MvvmForms ist eine Sammlung von Steuerelementen für Windows Forms. Ursprünglich wurde es entwickelt, um den Entwicklungsprozess für datenintensive Formulare zu beschleunigen und den Bedarf an Datenbank-Backends mit ihren typischen Szenarios wie Zero-Effort-Handling von DBNulls, Dirty-State-Handhabung von Formularen, Fokushervorhebung und -verarbeitung zu decken Formeln in numerischen Dateneingabefeldern, Such-Popups mit mehreren Threads und mehreren Spalten für Sammlungen mit bis zu 100.000 Elementen und vieles mehr. Irgendwann Mitte 2012 wandten sich einige deutsche Unternehmen an uns, um eine Möglichkeit zu finden, ihr bestehendes Windows Forms-Design beizubehalten. Sie wollten jedoch das Mvvm-Muster für Teile ihrer LOB-Anwendungen anwenden können, um diesen Code darin wiederverwenden zu können mobile Apps und für andere Zwecke. Das war der Anfang für MvvmForms, und wir haben es auf der Grundlage des vorhandenen Toolsets entwickelt. Das funktionierte hervorragend, daher haben wir diesen Ansatz fortgesetzt und umfangreiche Designerfunktionen für die Mvvm-Komponenten hinzugefügt.
Aufgrund dieser Historie erfüllt MvvmForms tatsächlich zwei Windows Forms-Anforderungen. Die erste besteht darin, das Entwerfen datenintensiver Formulare zu vereinfachen, indem Steuerelemente wie NullableDateValue, NullableNumValue, NullableTextValue, Steuerelemente für die DirtyState-Behandlung in Formularen usw. bereitgestellt werden.
Die zweite Möglichkeit besteht darin, Windows Forms für Mvvm zu aktivieren. Um dies zu erreichen, müssen Sie keines der von MvvmForms bereitgestellten Steuerelemente verwenden, sondern lediglich eine Komponente: die MvvmManager-Komponente. Ziehen Sie im Grunde einfach diese Komponente in Ihr Formular, legen Sie ihre DataContextType-Eigenschaft auf den Typ des ViewModel fest, das Sie binden möchten, und jedes Steuerelement in diesem Formular erhält eine PropertyBindings-Eigenschaft, die Ihnen die Bindung an die entsprechende ViewModel-Eigenschaft ermöglicht. Sie müssen lediglich die DataContext-Eigenschaft der MvvmManager-Komponente zur Laufzeit festlegen. Eine kurze Schritt-für-Schritt-Anleitung für den Einstieg finden Sie im Wiki – die Links finden Sie hier auf der rechten Seite.
Obendrein: Schauen Sie sich dieses Einführungsvideo auf YouTube an, das nicht nur eine Einführung in MvvmForms, sondern auch in MVVM im Allgemeinen gibt.
https://www.youtube.com/watch?v=1R_81Np5Neu
Ach ja! Unser Team bei ActiveDevelop kümmert sich täglich um MvvmForms, da einige große Projekte in Deutschland auf MvvmForms basieren – einige davon sind größer als 1 Million Codezeilen. Da wir ein deutsches Unternehmen sind und mit der Lokalisierung von MvvmForms ins Englische begonnen haben, sind in der Quelle noch viele deutsche Kommentare und XML-Docu-Tags enthalten – aber wir arbeiten daran. Aber MvvmForms ist einsatzbereit, es ist stabil, zuverlässig, gründlich getestet, und wenn Sie spezielle Unterstützung benötigen oder dringend damit beginnen möchten und eine Anpassung, Lokalisierung oder Erweiterung der Funktionalität durch uns benötigen, dann sprechen Sie einfach mit uns Wir können einen Weg finden, dies zu erreichen.
Ja, ohne Einschränkungen. Ein Drittel unserer aktuellen Projekte sind in CSharp, den Rest machen wir in VB, und Teile von MvvmForms (z. B. die Mvvm-Basisbibliothek) sind ebenfalls in CSharp. Andere Teile sind in VB. Solange Sie also Windows Forms verwenden, können Sie loslegen – die Sprache spielt keine Rolle.
Ja, für Open-Source-Projekte. Für proprietäre, kommerzielle Projekte ist es nicht völlig kostenlos, aber auch fast so gut wie kostenlos. Unser Hauptziel ist es, neue Möglichkeiten zu finden, um mit unserer über 25-jährigen Erfahrung im Design von LOB-Anwendungen zu helfen, und insbesondere unseren Kunden einen Weg aufzuzeigen, wie sie ihre Software von einer großen, monolithischen Win32-Software auf einen modernen Ansatz ohne Risiko migrieren können. wo sie mit Cloud Computing, Windows 10, mobilen Apps und all dem weitermachen können, ohne alles von Grund auf neu machen zu müssen.
Wenn Sie also möchten, dass wir Sie bei Ihrer bestehenden Anwendung unterstützen, indem wir Workshops durchführen, beim Entwurf einer neuen Architektur helfen, ein realisierbares Migrationskonzept finden, Scrum in Ihrem Team einführen oder Personalressourcen für einen begrenzten Zeitraum für diesen Zweck bereitstellen Für den Modernisierungsprozess bringen wir MvvmForms mit. Dann ist es für Sie kostenlos, denn Sie sind unser Kunde. Nutzen Sie es einfach: Sie erhalten eine implizite Lizenz für jede kommerzielle Nutzung, wenn Sie unser Kunde sind oder waren. Wenn Sie uns jedoch nicht möchten, aber das Toolset möchten, sprechen Sie uns einfach an und wir finden das beste Supportmodell für Sie: [email protected].
Wenn Sie ein Open-Source-Projekt unter der GPL verwalten und es verwenden möchten. Machen Sie weiter: Forken Sie es, ändern Sie es, modifizieren Sie es und verkaufen Sie es zusammen mit Ihrer Open-Source-App. Das ist Open Source! Solange Ihre Anwendung, die darauf verweist oder von MvvmForms abgeleitete Klassen verwendet, ebenfalls der GPL unterliegt, ist das vollkommen in Ordnung. Wenn Sie jedoch eine proprietäre Close-Source-Lösung verwalten und MvvmForms verwenden (verknüpfen, von MvvmForms ableiten) möchten, müssen Sie eine Lizenz pro aktivem Entwickler erwerben.
Ja. Erstellen Sie einfach Pull Requests.