diff --git a/doc/articles/concepts/overview/philosophy-of-uno.md b/doc/articles/concepts/overview/philosophy-of-uno.md new file mode 100644 index 000000000000..636502017e11 --- /dev/null +++ b/doc/articles/concepts/overview/philosophy-of-uno.md @@ -0,0 +1,28 @@ +# Philosophy of Uno + +This document outlines the philosophy of Uno. It guides the development of past and future major architectural decisions. + +## Leverage existing tools + +We stand on the shoulders of giants, Microsoft's tooling is a treat to work with: + +- [Edit and Continue](https://docs.microsoft.com/en-us/visualstudio/debugger/edit-and-continue) +- [Live Visual Tree](https://docs.microsoft.com/en-us/visualstudio/debugger/inspect-xaml-properties-while-debugging). + +The promise of Uno is to enable build your app with those tools and then deploy it to iOS, Android, and ultimately to the web via WebAssembly.  + +## Create rich, responsive UIs + +Bland apps don't quite cut it these days. Strong support for animations, templating, and custom visual effects is a must. When phones come in all sizes and manufacturers are [gouging holes out of the screen area](https://www.cnet.com/pictures/phones-with-notches/), your app's layout had better be responsive.  + +## Let views do views + +Separation of model, view and presentation keeps your code loosely coupled and easy to maintain. Features like databinding and attached properties let you write clean, elegant MVVM-style code.  + +## Native intercompatibility (leave an escape hatch) + +100% code reuse is the ideal, but it should also be easy to access functionality specific to a single platform, or to incorporate native third-party libraries.  + +## Performance is a feature + +The slow antelope gets eaten, and the slow app gets 1-star ratings. We've done a lot of optimisation on the basis of profiling in real-world use cases, and we'll continue to do so.