Windows-Anwendung erstellen

  • Ersteller Ersteller acab2
  • Erstellt am Erstellt am
A

acab2

Gast
Hallo,

ich möchte eine native Windowsanwendung erstellen. Früher gab es dafür gängige Frameworks, ich hatte gern mit WTL gearbeitet.

U.a. um heute gängige Probleme der UI (mehreren Monitoren, Stift, Fingereingabe, Skalierungen) besser angehen zu können, hatten sie UWP-Apps eingeführt und Edge als leuchtendes Beispiel präsentiert.

Auf meinem Rechner werden die meisten UWP-Apps leider nicht gerendert. Der Fehler ist Microsoft bekannt, da UWP jedoch keine bedeutende Rolle spielt, ist der Fehler wohl auch egal.

Ich möchte nun eine neue native (kein durch Chrome gerendertes HTML) C++-Anwendung schreiben, die Monitore unterschiedlicher Auflösungen, Stift- und Fingereingaben unterstützt und die Arbeit hierzu möglichst auf das OS auslagern kann.

Ich lese mit CppWinRT ist dies möglich, aber der Komfort ist unterhalb des Niveaus früherer Windows 95-Projekte. Gibt es Alternativen hierzu?
 
acab2 schrieb:
Ich lese mit CppWinRT ist dies möglich, aber der Komfort ist unterhalb des Niveaus früherer Windows 95-Projekte.
Wo hast du das gelesen?

Cpp/WinRt dürfte ziemlich state of the art sein:
  • kein anderer C++ Dialekt
  • Es wird modernes C++ verwendet (C++17)
  • afaik wird mittlerweile auch xaml unterstützt (kennt man von C# her)
  • in Zukunft ggf. Cross-Platform Support (XLang soll Cross-Platform werden)

Hier wäre eine Beispielapplikation, die schon teilweise auf C++/WinRT migriert ist: https://github.com/microsoft/calculator
 
new Account() schrieb:
Wo hast du das gelesen?
Kenny Kerr, der Mensch der CppWinRT geschrieben hat, hat gesagt, dass der XAML-Designer das Projekt in absehbarer Zeit nicht unterstützen wird. Data-Binding wird unterstützt soweit ich weiß. Gibt es da Neuigkeiten, die ich verpasst habe?
 
acab2 schrieb:
Kenny Kerr, der Mensch der CppWinRT geschrieben hat, hat gesagt, dass der XAML-Designer das Projekt in absehbarer Zeit nicht unterstützen wird.
acab2 schrieb:
Und der UI-Teil ist C# :)
Schaut eher nach C++/CX aus:
https://github.com/microsoft/calculator/blob/master/src/Calculator/Views/MainPage.xaml.cpp

C# ist nur das Test-Framework: https://github.com/microsoft/calculator/search?l=c#&p=1
 
Zuletzt bearbeitet:
MFC wird weiterhin unterstützt, scheint, die oben aufgezählten Kriterien jedoch nicht zu erfüllen.
C++/CX mag eine Option sein, darauf ein Projekt aufzubauen, muss man sich überlegen, da es ja eigentlich schon abgeschrieben ist.

Ich habe da "Test" überlesen:
https://github.com/microsoft/calculator/blob/master/src/CalculatorUITestFramework/NumberPad.cs

Zum Video: C++WinRT ist der von MS vorgeschlagene Weg. Man kann nur damit derzeit keine UIs im Designer erstellen. Die Idee ist wohl die XAMLs extern (in einem C#-Projekt) oder manuell zu erstellen und sie dann einzubinden?

Ich kann dann mit C++WinRT eine Win32- oder UWP-Anwendung erstellen so wie ich MS verstehe:
Als Win32-Anwendung stehen dann aber auch alle UWP-Elemente zur Verfügung?
 
Wie wärs mit dem QT Framework? Ist zwar nicht von Microsoft aber Platform unabhängig und passt sich der Plattform an ohne groß extra Code zuschreiben für die Platform.
 
acab2 schrieb:
MFC wird weiterhin unterstützt, scheint, die oben aufgezählten Kriterien jedoch nicht zu erfüllen.
Vermutlich nicht, deswegen das "?"

acab2 schrieb:
C++/CX mag eine Option sein, darauf ein Projekt aufzubauen, muss man sich überlegen, da es ja eigentlich schon abgeschrieben ist.
Genau. Wobei es sicherlich noch eine Weile existiert ;)

acab2 schrieb:
Als Win32-Anwendung stehen dann aber auch alle UWP-Elemente zur Verfügung?
Wenn nicht jetzt, dann in Zukunft: Microsoft will UWP und Win32 wieder als eins haben.
Aber ich glaube schon. Angeblich solltest du auf alles Zugriff haben. Recherchier das aber nochmal davor, bevor du basierend darauf Entscheidungen triffst.
 
Vielen Dank für die Ratschläge und ich werde auch nochmal einen Blick auf Qt werfen. Euch beiden einen schönen Abend!
 
Ich kenne mich mit C++ zwar nicht aus, aber ...

Für welchen Anwendungszweck?
Wer wird es pflegen?
Wie lange soll die Anwendung gepflegt werden?

Wenn es "nur" ein simples Formular werden soll, dann kannst Du im Prinzip alles nehmen.
Aber so simpel wird es wohl nicht.
Oder?
 
Zurück
Oben