A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
José Manuel Nieto Sánchez fc3cc76bd6 Added XAML feature 11 years ago
Cairo/Perspex.Cairo Fixed memory leaks while drawing geometry 11 years ago
Docs Updated link to XAML work in progress. 11 years ago
Gtk/Perspex.Gtk Revert "Use client size for top-level arrange." 11 years ago
NGenerics Started refactoring lyaout. 11 years ago
Perspex.Animation Documentation. 11 years ago
Perspex.Application Documentation. 11 years ago
Perspex.Base Documentation. 11 years ago
Perspex.Controls Added XAML feature 11 years ago
Perspex.Diagnostics More stylecoping. 11 years ago
Perspex.Input More stylecoping. 11 years ago
Perspex.Interactive.UnitTests More stylecoping. 11 years ago
Perspex.Interactivity More stylecoping. 11 years ago
Perspex.Layout More stylecoping. 11 years ago
Perspex.SceneGraph Use interfaces in page transitions. 11 years ago
Perspex.Styling More stylecoping. 11 years ago
Perspex.Themes.Default More stylecoping. 11 years ago
Perspex.Xaml Added XAML feature 11 years ago
Perspex.Xaml.Desktop Added XAML feature 11 years ago
TestApplication Initialize subsystems based on runtime check. 11 years ago
TestFiles Added missing test file. 11 years ago
Tests Fix couple of failing tests. 11 years ago
Windows More stylecoping. 11 years ago
XamlTestApplication Added XAML feature 11 years ago
.gitattributes Initial commit 12 years ago
.gitignore Added XAML feature 11 years ago
Perspex-Mono.sln Added page slide transition. 11 years ago
Perspex.sln Added XAML feature 11 years ago
Perspex.v2.ncrunchsolution Updated StyleCop.Analysers. 11 years ago
Settings.StyleCop Stylecop fixes. 11 years ago
licence.md Added licence.md 11 years ago
readme.md Update readme for VS2015 RTM. 11 years ago

readme.md

Perspex

![Gitter](https://badges.gitter.im/Join Chat.svg)

Build status

...a next generation WPF?

Background

As everyone who's involved in client-side .NET development knows, the past half decade have been a very sad time. Where WPF started off as a game-changer, it now seems to have been all but forgotten. WinRT came along and took many of the lessons of WPF but it's currently not usable on the desktop.

After a few months of trying to reverse-engineer WPF with the Avalonia Project I began to come to the same conclusion that I imagine Microsoft came to internally: for all its groundbreaking-ness at the time, WPF at its core is a dated mess, written for .NET 1 and barely updated to even bring it up-to-date with .NET 2 features such as generics.

So I began to think: what if we were to start anew with modern C# features such as (gasp) Generics, Observables, async, etc etc. The result of that thought is Perspex.

DISCLAIMER

This is really early development pre-alpha-alpha stuff. Everything is subject to change, I'm not even sure if the performance characteristics of Rx make Observables suitable for binding throughout a framework. I'm writing this only to see if the idea of exploring these ideas appeals to anyone else.

Documentation

As mentioned above this is really an early version of Perspex and we're working hard on improving the code base and the documentation at the same time. Please feel free to have a look at our introduction document to get things started real quick.

There's also a high-level architecture document.

I've also started writing blog posts on Perspex at http://grokys.github.io/.

Contributions are always welcome!

Building and Using

In order to build and use Perpex you need a compiler that supports C# 6 such as Visual Studio 2015.

Contributing

Please read the contribution guidelines before submitting a pull request.