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.
 
 
 
Steven Kirk d894318a30 Updated .gitignore for monodevelop. 11 years ago
Cairo/Perspex.Cairo Initial implementation of GTK windowing system. 11 years ago
Docs Initial implementation of GTK windowing system. 11 years ago
Gtk/Perspex.Gtk More work on Gtk system. 11 years ago
Perspex.Application Initial implementation of GTK windowing system. 11 years ago
Perspex.Base More work on Gtk system. 11 years ago
Perspex.Controls Initial implementation of GTK windowing system. 11 years ago
Perspex.Controls.UnitTests Updated NuGet packages. 11 years ago
Perspex.Diagnostics Initial implementation of GTK windowing system. 11 years ago
Perspex.Input Initial implementation of GTK windowing system. 11 years ago
Perspex.Interactivity Initial implementation of GTK windowing system. 11 years ago
Perspex.Layout Initial implementation of GTK windowing system. 11 years ago
Perspex.SceneGraph Initial implementation of GTK windowing system. 11 years ago
Perspex.SceneGraph.UnitTests Initial implementation of GTK windowing system. 11 years ago
Perspex.Styling Initial implementation of GTK windowing system. 11 years ago
Perspex.Styling.UnitTests Initial implementation of GTK windowing system. 11 years ago
Perspex.Themes.Default Initial implementation of GTK windowing system. 11 years ago
Perspex.UnitTests Initial implementation of GTK windowing system. 11 years ago
TestApplication Initial implementation of GTK windowing system. 11 years ago
TestFiles Fixed failing test. 12 years ago
Windows Initial implementation of GTK windowing system. 11 years ago
.gitattributes Initial commit 12 years ago
.gitignore Updated .gitignore for monodevelop. 11 years ago
Perspex-Linux.userprefs Initial implementation of GTK windowing system. 11 years ago
Perspex-Mono.sln Initial implementation of GTK windowing system. 11 years ago
Perspex-Mono.userprefs More work on Gtk system. 11 years ago
Perspex.sln Merge remote-tracking branch 'origin/master' into cairo 11 years ago
readme.md Added Gitter badge 11 years ago

readme.md

Perspex

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

...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.

Take a look at the introduction document here.

NOTE: This uses proposed C#6 features so you'll have to install a Roslyn preview. If you're using VS2013, try here.