3 ms·
Xaml is the least pleasurable framework I've ever used. I have two reasons: MVVM seems like an anti-pattern and the .Net API is builds on is too complicated. I
by goalieca 9y ago
Xaml is the least pleasurable framework I've ever used. I have two reasons: MVVM seems like an anti-pattern and the .Net API is builds on is too complicated.
I went from a project using xaml requiring massive system resources to another built in qt running speedily on an intel atom. I wasn't too familiar with either frameworks when I started. Qt was also way easier to maintain despite being built on top of c++ template magic
- whowouldathunk 9y agoXAML has a high learning curve and lots of ways to shoot yourself in the foot. But it works well. I shipped an embedded real-time data visualization product that used WPF XAML for the UI and ran perfectly smooth on a second-gen Intel Atom. The latest UWP incarnation of XAML is all native and used heavily in Windows itself. MVVM is not an anti-pattern, it's just a simple way to communicate changes to a retained-mode UI framework (XAML's rough analog to React's shouldComponentUpdate). Data binding prevents a lot of error-prone glue code. Disclosure: I work at Microsoft.
- jcelerier 9y ago> and ran perfectly smooth on a second-gen Intel Atom To give my reference, I'm getting smooth 1080p 60fps when not too many shaders are involved with Qt on a Raspberry Pi 3.
- martin_ky 9y agoWe get interactive framerates ~30fps with Qt Quick on Raspberry Pi B+ with fullscreen video playback in the background.
- Jordanpomeroy 9y agoWPF is very complex. The learning curve is extremely steep. The (early/lack of) evolution of the .NET runtime and the C# language also made WPF more difficult than it would be if it were created today. And, finally, Microsoft never bought into it fully. That said, it is, by far, the best desktop UI library for Windows-only apps. I wouldn't consider using anything else until/unless the following were equal to WPF. The amount of engineering gone into the framework, the thoughtful design, the critical mass of use.