Compare to WPF + UWP

Advanced developers have done masterful things with WPF, but it can be daunting for others. Here are some key differences between WPF and Frogui that have been implemented or are slated to be added. These are not set in stone; we don't want to change something you love!
Host control
 
The WPF ContentControl has been replaced by the Host control, which has a Child property instead of the Content property, eliminating use of object types.
Anchors
 
Anchors are to attach children to parent Panel objects, instead of attached properties.
Web-Based Units
 
The WPF unit of measure is a device-independent unit (1/96th inch). Frogui uses all of CSS3's units of measure (%, cm, em, ex, in, mm, pc, pt, px, vh, wv, vmin) comprehensively. A Length struct is used instead of a double.
Grid element
 
The WPF grid element has been spruced up with features available in the web grid element, such as gutters and track naming.
Flex element
 
The Flex element add the power of the web's flexbox module. It is used in lieu of WPF's StackPanel and WrapPanel elements.
​Control class
The Control class has been simplified as a part of the effort to implement motifs.
Single-Page and Multi-Page Apps
A single-page web app (SPA) exists completely in the browser and does not rely on a web server for additional pages, very much like a mobile or desktop app, without browser page navigation.A multi-page web app (MPA) follows the common pattern of having each page represented a unique URL. Frogui has both SpaApplication and MpaApplication classes for SPA and MPA apps, respectively.
Console Apps
 
In additional to UI apps, Frogui includes a lightweight console (text terminal) emulator control named Console and an application type of ConsoleApplication.
Frogui XAML
Frogui XAML is similar to the flavors of Microsoft XAML. They all:
 
  • Allow editing using a WYSIWYG design tool without need to interact with code (pending).
  • Declare element layouts with properties and events.
  • Declare resources (cascading asset sheets).
  • Declare styles.
  • Declare visual states.
  • Declare data templates (motifs).
  • Have associated code-behind file.
     
We feel Frogui XAML is cleaner syntactically and semantically. It's not prone to WPF's "XAML Hell" that often begins the moment you start working with a copy of a data template.
Frogui XAML Designer
Because Frogui's architecture has evolved from WPF with strong web-influences, there are a variety of semantic and syntactic differences. Therefore, using a XAML design editor such as the one included in Visual Studio, is not possible with Frogui XAML. Our XAML designer will be available in the near future.
Motifs
Motifs replace data templates. Motifs don't make assumptions about an element's visual design. They force the creator to clearly identify the properties of a custom element in code, which results in a higher separation of concerns. Then, like data templates, a design editor can be used for visual layouts, separate from the code-behind.
Pointer-Based Input
Instead of being mouse-focused, Frogui based input on Microsoft's modern UWP API, which think in terms of a more generalized pointer. All the same functionality and more.
Cascading Asset Sheets
Strongly inspired by WPF's resource dictionary, cascading asset sheets allow constants, styles, visual states and layouts to be defined in XAML or code. Asset sheets cascade much like the web's CSS but, IOHO, are much more intuitive. In addition to custom styling at the element level, they can be used at the application level, and search as the basis for our themes.
Themes
Frogui offers clean and robust theme support. Multiple themes are included, such as those mimicking Windows, iOS, Android, and web controls. Custom themes are easy to create and distribute.
 
If you've worked with WPF themes, you should find Frogui themes a more enjoyable and productive experience.
Reactive Extensions (Rx)
According to the reactivex.io site "ReactiveX is a combination of the best ideas from the Observer pattern, the Iterator pattern, and functional programming."
We could not agree more. Rx is a first-class citizen in the Frogui API.
Fluid API
C# and popular coding styles have evolved since WPF was created. Frogui has adapted the API to have the crisp, modern feel of a fluid API.
 

© 2019 Lesarde Inc.