2015-08-31 15:45:38 +03:00
|
|
|
# Perspex
|
2014-11-30 16:14:34 +03:00
|
|
|
[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/grokys/Perspex?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
2014-09-09 01:55:57 +04:00
|
|
|
|
2015-08-25 17:27:15 +03:00
|
|
|
[![Build status](https://ci.appveyor.com/api/projects/status/hubk3k0w9idyibfg/branch/master?svg=true)](https://ci.appveyor.com/project/grokys/perspex/branch/master)
|
2015-06-12 15:11:27 +03:00
|
|
|
|
2015-08-31 15:45:38 +03:00
|
|
|
A multi-platform .NET UI framework.
|
2014-09-09 01:55:57 +04:00
|
|
|
|
2015-08-29 16:32:09 +03:00
|
|
|
![](docs/screen.png)
|
2014-12-03 01:05:50 +03:00
|
|
|
|
2015-08-31 15:45:38 +03:00
|
|
|
## Background
|
2014-09-09 01:55:57 +04:00
|
|
|
|
2015-08-31 15:45:38 +03:00
|
|
|
Perspex is a multi-platform windowing toolkit - somewhat like WPF - that is
|
|
|
|
intended to be multi-platform (more about that below). It supports XAML,
|
|
|
|
lookless controls and a flexible styling system, and runs on Windows using
|
|
|
|
Direct2D and other operating systems using Gtk & Cairo.
|
2014-09-09 01:55:57 +04:00
|
|
|
|
2015-08-31 15:45:38 +03:00
|
|
|
## Current Status
|
2014-09-09 01:55:57 +04:00
|
|
|
|
2015-08-31 15:45:38 +03:00
|
|
|
Perspex is now in alpha. What does "alpha mean? Well, it means that it's now at a stage where you
|
|
|
|
can have a play and hopefully create simple applications. There's now a [Visual
|
|
|
|
Studio Extension](https://visualstudiogallery.msdn.microsoft.com/87db356c-cec9-4a07-b7db-a4ed8a921ac9)
|
|
|
|
containing project and item templates that will help you get started, and
|
|
|
|
there's an initial complement of controls. There's still a lot missing, and you
|
|
|
|
*will* find bugs, and the API *will* change, but this represents the first time
|
|
|
|
where we've made it somewhat easy to have a play and experiment with the
|
|
|
|
framework.
|
2014-09-09 01:55:57 +04:00
|
|
|
|
2014-12-13 00:04:55 +03:00
|
|
|
## Documentation
|
2015-02-05 20:28:00 +03:00
|
|
|
|
2015-08-31 15:45:38 +03:00
|
|
|
As mentioned above, Perspex is still in alpha and as such there's not much documentation yet. You can
|
|
|
|
take a look at the alpha release announcement for an overview of how to get started but probably the
|
|
|
|
best thing to do for now is to already know a little bit about WPF/Silverlight/UWP/XAML and ask
|
|
|
|
questions in our [Gitter room](https://gitter.im/grokys/Perspex).
|
2015-02-05 20:28:00 +03:00
|
|
|
|
2015-08-31 15:45:38 +03:00
|
|
|
There's also a high-level [architecture document](Docs/architecture.md) that is currently a little bit
|
|
|
|
out of date, and I've also started writing blog posts on Perspex at http://grokys.github.io/.
|
2015-02-11 14:47:07 +03:00
|
|
|
|
2015-02-05 20:28:00 +03:00
|
|
|
Contributions are always welcome!
|
2014-09-09 03:09:56 +04:00
|
|
|
|
2015-08-31 15:57:21 +03:00
|
|
|
# Multi-platform you say?
|
|
|
|
|
|
|
|
Well, yes, that is the intention. However unfortunately as of the time of this
|
|
|
|
first alpha, Perspex is only shipping with a Windows backend. There *is* a
|
|
|
|
Gtk/Cairo backend that's working pretty well (at least on Windows) but it's not
|
|
|
|
included in this release due to packaging issues. In addition, the framework did
|
|
|
|
work on Linux at one point but with the recent Mono 4.0 something has gone
|
|
|
|
wrong, and we need time to work out what that is. Getting Perspex working again
|
|
|
|
on non-windows support is the next thing we'll be concentrating on. You can
|
|
|
|
track the progress on Linux in the [issue](https://github.com/grokys/Perspex/issues/78).
|
|
|
|
|
2014-12-12 23:57:49 +03:00
|
|
|
## Building and Using
|
2015-08-31 15:57:21 +03:00
|
|
|
|
|
|
|
In order to build Perpex under Windows you need a compiler that supports C# 6 such
|
|
|
|
as Visual Studio 2015. To compile the project under windows, you must have gtk-sharp
|
|
|
|
installed. However, if you're not interested in building the cross-platform bits you
|
|
|
|
can simply unload the Perspex.Cairo and Perspex.Gtk project in Visual Studio.
|
|
|
|
|
|
|
|
To build with mono (even though everything's not fully working as yet) check out the
|
|
|
|
[instructions here](docs/mono-build.png) and the [Linux issue](https://github.com/grokys/Perspex/issues/78).
|
2014-12-15 04:54:23 +03:00
|
|
|
|
|
|
|
## Contributing ##
|
|
|
|
|
2014-12-22 10:51:19 +03:00
|
|
|
Please read the [contribution guidelines](Docs/contributing.md) before submitting a pull request.
|