Avalonia meine Vor- und Nachteile

Ich schreibe viel über Avalonia und bewundere dieses Framework oft, aber wie jede Technologie hat es seine eigenen Vor- und Nachteile, und ich möchte darüber sprechen.


Avalonia


Was ist das Erstens ist es ein plattformübergreifendes GUI XAML-Framework für .net Framework-, .net Core- und Mono-Plattformen .

Was bedeuten diese Wörter?

Avalonia ist eine Reihe von Bibliotheken, mit denen Sie eine Fensteranwendung erstellen und auf allen gängigen Desktop-Plattformen ausführen können.


Außerdem werde ich Ihnen, Leser, meine persönlichen Überlegungen anbieten. Ich möchte Avalonia nicht als separate Technologie kritisieren, sondern einfach über den gesamten Komplex der Erstellung einer Anwendung für einen PC mit dieser Technologie sprechen.

Was ich mag


Erstens , wenn Sie mit .net-Technologien wie wpf \ uwp vertraut sind, dauert es nicht länger als 5 Minuten, um Avalon zu erhalten. Alles, was Sie tun müssen, ist, die Vorlage von der Avalonia-Website herunterzuladen und ein Projekt zu erstellen, das ist alles - kein Tanzen mit einem Tamburin, um ein Linux-Projekt zusammenzustellen (in einem anderen beliebten Framework ).

Zweitens Unterstützung für xaml - dies führt zu vielen praktischen Funktionen: mvvm, Ordner, Trennung von Ansicht und Geschäftslogik, Styling durch separate Dateien.

Drittens Ausleihen oder Kompatibilität (nennen Sie es wie Sie wollen) mit wpf. Dies bedeutet, dass Sie, wenn Sie noch nie mit Avalonia gearbeitet haben, aber mit wpf vertraut sind, einfach die Steuerelemente übernehmen können, die Sie für die Arbeit mit wpf gewohnt sind. In 90% der Fälle wird Ihre Anwendung sofort gestartet. Es bedeutet auch, dass Sie zur Lösung Ihres Problems eine ähnliche Lösung für wpf finden können, und in den meisten Fällen wird auch Ihr Problem gelöst.

Viertens : Stile - Avalonia wurde in gewissem Maße von CSS inspiriert, was zur Entstehung von Klassen und Pseudoklassen während der Stilisierung führte, was das Schreiben von Stilen und deren Verständnis vereinfachte.

Fünftens plattformübergreifend - das heißt, einmal geschrieben und überall ausgeführt. Es ist wichtig zu beachten, dass Avalonia native Technologien verwendet, um zu arbeiten: Direct2D, MonoMac usw. Außerdem greift Avalonia die Systemlandschaft auf:


Sechstens Entwicklerunterstützung: In Chatrooms, sowohl auf Englisch als auch auf Russisch, können Sie sich direkt an die Entwickler wenden, und höchstwahrscheinlich werden sie Ihre Frage beantworten.

Was ich nicht mag


Erstens ist es immer noch ein feuchtes Framework, und manchmal kann man Fehler finden, ja, Avalonia ist im Laufe der Jahre stark gewachsen und im Moment kann jeder Fehler behoben werden ( mit einer Krücke gesichert ), aber Sie können bereits über die Stabilität der Technologie sprechen, wie die Entwickler selbst bemerken - es Ich bin zum Lebensmittelgeschäft gekommen.

Zweitens eine eher schwache Leistung, d.h. Ich hatte ein lustiges Haustierprojekt, bei dem ich Tausende von Steuerelementen in ein Fenster warf und wpf ruhig damit fertig wurde (10.000 Normen, nicht weiter getestet). Avalonia gab Friese und je schlimmer desto schlechter (irgendwo durch 3.000 Elemente).

Drittens ist die Technologie jung - die Community ist auch klein, sodass Sie nicht mehr daran festhalten können, dass niemand das Problem gelöst hat, mit dem Sie konfrontiert sind.

Was ich in Avalonia vermisse


Erstens ist es einfach, fertige Stilpakete wie metro \ material zu formatieren, aber manchmal möchten Sie das fertige verwenden und nicht darüber nachdenken.

Zweitens , Medienbindungen, gibt es keine plattformübergreifende Unterstützung für Sounds und Videos, und diese ist nicht enthalten und wird (zumindest in naher Zukunft) nicht in die Aufgaben von Entwicklern einbezogen, wenn Sie einen plattformübergreifenden Sound wünschen - schreiben Sie ihn selbst oder ziehen Sie Fremde.

Drittens Unterstützung für aktuelle Plattformfunktionen, Minimierung auf Taskleiste, Benachrichtigungssymbole auf Verknüpfungen usw., aber hier müssen Sie den Entwicklern Tribut zollen - mit jeder Version verbessert sich die Situation schnell.

Zusammenfassend


Ist Avalonia bereit auszugehen - ich denke schon, aber nicht für mich zu beurteilen - probieren Sie es aus, schauen Sie. Immerhin, wie sie sagen: "Es ist besser, einmal zu sehen als 100 Mal zu hören"

Ich möchte mich bei ForNeVer kekekeks worldbeater bedanken

Beachten Sie, dass hier Unterstützung für c # und hier für Avalonia zu finden ist .

Source: https://habr.com/ru/post/de471728/


All Articles