Skip to content

Commit

Permalink
docs: create concepts/philosophy-of-uno (#1242)
Browse files Browse the repository at this point in the history
  • Loading branch information
ghuntley authored Jul 19, 2019
1 parent 0e5b908 commit d49f83b
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 0 deletions.
29 changes: 29 additions & 0 deletions doc/articles/concepts/overview/philosophy-of-uno.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# 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).
- [XAML Hot Reload](https://docs.microsoft.com/en-us/visualstudio/debugger/xaml-hot-reload?view=vs-2019)

The promise of the Uno Platform is to enable build your app with those tools and then deploy it to iOS, Android, and 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 data binding 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 must also be easy to access functionality specific to a single platform, or to incorporate native third-party libraries., and the Uno Platform must make as much as possible to not stand in the way.

## 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. 
2 changes: 2 additions & 0 deletions doc/articles/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
items:
- name: What is the Uno Platform?
href: intro.md
- name: Philosophy of Uno
href: concepts/overview/philosophy-of-uno.md
- name: API differences
href: api-differences.md
- name: Features list
Expand Down

0 comments on commit d49f83b

Please sign in to comment.