Skip to content

Commit

Permalink
docs: create concepts/philosophy-of-uno
Browse files Browse the repository at this point in the history
  • Loading branch information
ghuntley committed Jul 16, 2019
1 parent ee1c691 commit f4077a0
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions doc/articles/concepts/overview/philosophy-of-uno.md
Original file line number Diff line number Diff line change
@@ -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. 

0 comments on commit f4077a0

Please sign in to comment.