Made readme more clear
This commit is contained in:
Martijn van Dijk 2015-08-09 18:21:33 +02:00
Родитель 1cdd9a51f4
Коммит 8137729c9e
1 изменённых файлов: 78 добавлений и 169 удалений

247
readme.md
Просмотреть файл

@ -1,207 +1,116 @@
MvvmCross v3
============
## MvvmCross
This project provides a cross-platform mvvm mobile development framework built on top of:
MvvmCross is a cross-platform mvvm framework that enables developers to create cross platform apps. Additional support is available for [Xamarin.Forms](https://github.com/MvvmCross/MvvmCross-Forms) and the [Android support library](https://github.com/MvvmCross/MvvmCross-AndroidSupport).
- Silverlight for WP7, WP8
- Mono for Android (or Xamarin.Android)
- MonoTouch for iOS (or Xamarin.iOS)
- the WinRT XAML framework for Windows 8 Store apps.
- Windows Universal projects (WPA8.1 and Windows 8.1 Store apps)
- WPF
- Mono for Mac (or Xamarin.Mac)
See the official [MvvmCross blog](http://mvvmcross.com/) for the latest news!
This project makes extensive use of Portable Class Libraries to provide maintainable cross platform C# native applications.
### Get started
**Additional support available for:**
- [MvvmCross for Xamarin.Forms](https://github.com/MvvmCross/MvvmCross-Forms)
- [MvvmCross for Android Support library](https://github.com/MvvmCross/MvvmCross-AndroidSupport)
- [MvvmCross with SQLite](https://github.com/MvvmCross/MvvmCross-SQLite)
A quick way to get started is to use the Visual Studio MvvmCross [Ninja Coder](https://github.com/asudbury/NinjaCoderForMvvmCross) Extension - download it from [Visual Studio Gallery](https://visualstudiogallery.msdn.microsoft.com/618b51f0-6de8-4f85-95ce-a50c658c7767)
For mannual project creation install the necessary packages from [Nuget](https://www.nuget.org/packages?q=mvvmcross)
Getting started
---------------
### Questions & support
A really quick way to get started is to use the Visual Studio 2012 MvvmCross Ninja Coder Extension - download it from [Visual Studio Gallery][ninjavsgallery]
![Ninja Plugin][ninja]
I have started a tutorial series entitled [N+1 Days of MvvmCross][n1] starting with the basics of your first MvvmCross application and covering lists, commands, binding, and more with samples for each device. The code for N+1 Days of MvvmCross is available on [GitHub][n1github]
For more documents and articles, see the [Wiki][mvxwiki]
For more samples, see the [MvvmCross Tutorials Repository][mvxtuts]
# Documentation and Examples
Binaries:
* [nuget][mvxnuget]
* [Github: MvvmCross-Binaries][mvxbin]
Samples and Videos:
* **[N Plus 1 Videos Of MvvmCross][n1videos]**
* [MvvmCross Tutorials][mvxtuts]
* Evolve 2013 talk - http://xamarin.com/evolve/2013#session-dnoeeoarfj
* NDC 2013 talk - http://slodge.blogspot.co.uk/2013/06/ndc2013-mobile-mvvm-and-xamarin-talks.html
* Xaminar - 2012 - http://slodge.blogspot.com/2012/12/mvvmcross-video-presentation-xaminar.html
* MvvmCross and Azure - 2012 - http://slodge.blogspot.co.uk/2012/11/azure-to-wpmonodroidmonotouch-video-of.html
* [StackOverflow](http://stackoverflow.com/questions/tagged/mvvmcross)
* [Xamarin forums](http://forums.xamarin.com)
* [Jabbr](http://jabbr.net/#/rooms/mvvmcross)
The Tip Calc tutorial:
### Documentation and Examples
* **[A first app](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-A-first-app)**
* **[The Core Project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc---The-Core-Project)**
* **[A Xamarin.Android UI project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-A-Xamarin.Android-UI-project)**
* **[A Xamarin.iOS UI project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-A-Xamarin.iOS-UI-project)**
* **[A Universal Windows App UI Project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-A-Universal-Windows-App-UI-Project)**
* **[A Windows Phone UI Project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-A-Windows-Phone-UI-Project)**
* **[A Windows Store UI Project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-Windows-Store-Project)**
* **[A Wpf UI Project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calculator-A-Wpf-UI-Project)**
* **[Tip Calculator - A recap](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calculator---A-recap)**
**See the [MvvmCross Wiki](https://github.com/MvvmCross/MvvmCross/wiki) for addition articles and information.**
General articles:
**Samples and Videos:**
* **[The MvvmCross Manifesto](https://github.com/MvvmCross/MvvmCross/wiki/The-MvvmCross-Manifesto)**
* **[High Level MvvmCross Objects](https://github.com/MvvmCross/MvvmCross/wiki/High-Level-MvvmCross-Objects)**
* **[Databinding](https://github.com/MvvmCross/MvvmCross/wiki/Databinding)**
* **[Value Converters](https://github.com/MvvmCross/MvvmCross/wiki/Value-Converters)**
* **[View Model Lifecycle](https://github.com/MvvmCross/MvvmCross/wiki/View-Model-Lifecycle)**
* **[ViewModel to ViewModel navigation](https://github.com/MvvmCross/MvvmCross/wiki/ViewModel--to-ViewModel-navigation)**
* **[Customising App and Setup ](https://github.com/MvvmCross/MvvmCross/wiki/Customising-using-App-and-Setup)**
* **[Service Location and Inversion of Control](https://github.com/MvvmCross/MvvmCross/wiki/Service-Location-and-Inversion-of-Control)**
* **[Assemblies](https://github.com/MvvmCross/MvvmCross/wiki/MvvmCross-Assemblies)**
* **[Plugins](https://github.com/MvvmCross/MvvmCross/wiki/MvvmCross-plugins)**
* **[Testing](https://github.com/MvvmCross/MvvmCross/wiki/Testing)**
* **[Dialog - very draft](https://github.com/MvvmCross/MvvmCross/wiki/CrossUI---MonoTouch.Dialog-and-MonoDroid.Dialog-with-MvvmCross)**
iOS Articles:
* **[Tables and Cells in iOS](https://github.com/MvvmCross/MvvmCross/wiki/Tables-and-Cells-in-iOS)**
* [Map Annotation Data-Binding](https://github.com/MvvmCross/MvvmCross/wiki/Map-Annotation-Data-Binding)
For more information please also see:
- an introduction article on CodeProject - http://www.codeproject.com/KB/cross-platform/566191.aspx
- the N+1 video series under production - [N Plus 1 Videos Of MvvmCross][n1videos]
- blogs
- [Stuart's blog][slogdeblog]
- [Cheesebaron's blog][cheesebaron]
- [DeapSquatter's blog][deapsquatter]
- [Odenaxos's blog][odenaxos]
- [Greg's blog][gshackles]
- others? Get in touch if you think your blog should be here......
Questions and support:
* on [StackOverflow][so]
* on [Xamarin forums][xfmvx]
Contact - but **no** open-source technical questions via these channels please:
* on Twitter - [@MvvmCross][mvxtwitter]
* by chat - [Jabbr/mvvmcross][jabbr]
* by email - [mvvmcross email][mvxmail]
* **[N Plus 1 Videos Of MvvmCross][n1videos]**
* [MvvmCross Tutorials][mvxtuts]
* [Evolve 2013 talk](http://xamarin.com/evolve/2013#session-dnoeeoarfj)
* [NDC 2013 talk](http://slodge.blogspot.co.uk/2013/06/ndc2013-mobile-mvvm-and-xamarin-talks.html)
* [Xaminar - 2012](http://slodge.blogspot.com/2012/12/mvvmcross-video-presentation-xaminar.html)
* [MvvmCross and Azure - 2012](http://slodge.blogspot.co.uk/2012/11/azure-to-wpmonodroidmonotouch-video-of.html)
If you would like to help with the project - including the documentation - then please get in touch :)
**The Tip Calc tutorial:**
About MvvmCross...
------------------
* [A first app](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-A-first-app)
* [The Core Project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc---The-Core-Project)
* [A Xamarin.Android UI project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-A-Xamarin.Android-UI-project)
* [A Xamarin.iOS UI project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-A-Xamarin.iOS-UI-project)
* [A Universal Windows App UI Project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-A-Universal-Windows-App-UI-Project)
* [A Windows Phone UI Project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-A-Windows-Phone-UI-Project)
* [A Windows Store UI Project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calc-Windows-Store-Project)
* [A Wpf UI Project](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calculator-A-Wpf-UI-Project)
* [Tip Calculator - A recap](https://github.com/MvvmCross/MvvmCross/wiki/Tip-Calculator---A-recap)
This project was born from:
**General articles:**
- a fork once long ago of the MonoCross project, moving away from MVC and towards MVVM
- an extension project from [www.cirrious.com][cirrious]
- some ideas from MvvmLight
- some ideas from ASP.NET MVC
- some ideas from OpenNetCF (Phone7.Fx)
- lots of my own ideas - [www.cirrious.com][cirrious] and [my blog][slogdeblog]
* [The MvvmCross Manifesto](https://github.com/MvvmCross/MvvmCross/wiki/The-MvvmCross-Manifesto)
* [High Level MvvmCross Objects](https://github.com/MvvmCross/MvvmCross/wiki/High-Level-MvvmCross-Objects)
* [Databinding](https://github.com/MvvmCross/MvvmCross/wiki/Databinding)
* [Value Converters](https://github.com/MvvmCross/MvvmCross/wiki/Value-Converters)
* [View Model Lifecycle](https://github.com/MvvmCross/MvvmCross/wiki/View-Model-Lifecycle)
* [ViewModel to ViewModel navigation](https://github.com/MvvmCross/MvvmCross/wiki/ViewModel--to-ViewModel-navigation)
* [Customising App and Setup ](https://github.com/MvvmCross/MvvmCross/wiki/Customising-using-App-and-Setup)
* [Service Location and Inversion of Control](https://github.com/MvvmCross/MvvmCross/wiki/Service-Location-and-Inversion-of-Control)
* [Assemblies](https://github.com/MvvmCross/MvvmCross/wiki/MvvmCross-Assemblies)
* [Plugins](https://github.com/MvvmCross/MvvmCross/wiki/MvvmCross-plugins)
* [Testing](https://github.com/MvvmCross/MvvmCross/wiki/Testing)
* [Dialog - very draft](https://github.com/MvvmCross/MvvmCross/wiki/CrossUI---MonoTouch.Dialog-and-MonoDroid.Dialog-with-MvvmCross)
Here is the framework in action for the sqlbits conference app:
**iOS Articles:**
![sql bits](http://i.imgur.com/lVPv1.png)
<!-- http://i.imgur.com/vfWen.png -->
* [Tables and Cells in iOS](https://github.com/MvvmCross/MvvmCross/wiki/Tables-and-Cells-in-iOS)
* [Map Annotation Data-Binding](https://github.com/MvvmCross/MvvmCross/wiki/Map-Annotation-Data-Binding)
Public projects that have used this framework include:
**For more information please also see:**
- Kinect Star Wars - http://www.youtube.com/watch?v=MXPE2iTvlWg
- Aviva Drive - http://www.aviva.co.uk/drive
- Origo Foci-Eb 2012 - http://slodge.blogspot.co.uk/2012/10/origo-foci-eb-2012-example-mvvmcross.html
- Various Conference apps - SQLBitsX, DDDSW, LondonAzure, .... e.g. https://github.com/MvvmCross/MvvmCross/tree/vnext/Sample%20-%20CirriousConference
- The CrossBox DropBox client - https://github.com/runegri/CrossBox
- The Blooor shopping list app - https://github.com/Zoldeper/Blooor
- 1,500+ apps and counting with the XPlatformCloudKit framework - https://github.com/winappkits/XPlatformCloudKit/
- Have you used the app? Please send me your links and I'll add them here
- many more!
* the N+1 video series - [N Plus 1 Videos Of MvvmCross][n1videos]
* [Stuart's blog][slogdeblog]
* [Cheesebaron's blog][cheesebaron]
* [DeapSquatter's blog][deapsquatter]
* [Odenaxos's blog][odenaxos]
* [Greg's blog][gshackles]
* others? Get in touch if you think your blog should be here......
v3
--
This is the third version of the MvvmCross platform - v3.
### Contribute!
For more info on what this version specifically aims to provide, see:
Some of the best ways to contribute are to try things out, file bugs, and join conversations.
- [MvvmCross v3 blog post][mvxv3]
If you are looking for the "older" version of MvvmCross, then it's still available and still receiving updates on the master branch at
- https://github.com/MvvmCross/MvvmCross/tree/master
- https://github.com/MvvmCross/MvvmCross/tree/vNext
How to get involved
-------------------
If you have questions, then please ask them on [StackOverflow][so] with tag MvvmCross
Alternatively, people on [Xamarin Forums][xf] can be very helpful
There is a Jabbr room - on [#mvvmcross][jabbr] - but please ask questions on StackOverflow if you can - this helps make the questions and the answers better!
If I haven't seen your question and no-one else has helped, then you can also contact me - me at slodge dot com - but please be patient with me if I'm busy with work.
If you need professional support, then please do contact me - I work freelance and can assist. Please do consider hiring me - everyone likes 'free', but I'm worth paying for :)
If you find bugs or have feature requests, then please report them through GitHub - https://github.com/MvvmCross/MvvmCross/issues
* [Pull requests](https://github.com/MvvmCross/MvvmCross/pulls): [Open](https://github.com/MvvmCross/MvvmCross/pulls?q=is%3Aopen+is%3Apr)/[Closed](https://github.com/MvvmCross/MvvmCross/pulls?q=is%3Apr+is%3Aclosed)
* [Issues](https://github.com/MvvmCross/MvvmCross/issues): [Open](https://github.com/MvvmCross/MvvmCross/issues?q=is%3Aopen+is%3Aissue)/[Closed](https://github.com/MvvmCross/MvvmCross/issues?q=is%3Aissue+is%3Aclosed)
If you would like to help make MvvmCross even better, then please do:
- new code - including pull requests via GitHub - or you can fork the project and build your own extensions
- new plugins - can be hosted in your own repositories
- please do blog about your adventures with MvvmCross - we're currently very light on documentation!
- if you use the framework, then please let me know - we love to see what people are doing with it.
* new code - including pull requests via GitHub - or you can fork the project and build your own extensions
* new plugins - can be hosted in your own repositories
* please do blog about your adventures with MvvmCross - we're currently light on documentation!
* if you use the framework, then please let me know - we love to see what people are doing with it
Licensing
---------
This project is developed and distributed under Ms-Pl - see http://opensource.org/licenses/ms-pl.html
### Licensing
- MonoCross was the original starting point for this project, and was used as a reference under MIT - please see http://code.google.com/p/monocross/ for original details.
- Phone7.Fx is redistributed and modified here under Ms-PL - please see http://phone7.codeplex.com for original details.
- Tiny bits of MvvmLight are redistributed and modified here under MIT - please see http://mvvmlight.codeplex.com/ for original details.
- NewtonSoft.Json is redistributed and modified here under MIT - please see http://json.codeplex.com for original details.
- The original work on the JSON.Net port to MonoTouch and MonoDroid was done by @ChrisNTR - https://github.com/chrisntr/Newtonsoft.Json
- Sqlite-net - custom license - see https://github.com/praeclarum/sqlite-net/blob/master/license.md
- MonoTouch.Dialog - MIT X11 from https://github.com/migueldeicaza/MonoTouch.Dialog
- MonoDroid.Dialog - MIT X11 from https://github.com/kevinmcmahon/MonoDroid.Dialog
- OpenNetCF IoC (used from within Phone7.Fx?) - no longer used within the code
- Messenger ideas from JonathanPeppers/XPlatUtils under Apache License Version 2.0, and from GrumpyDev/TinyMessenger under simple license of "THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY"
- Color codes adapted from https://github.com/mono/sysdrawing-coregraphics under MIT License
MvvmCross is licensed under the [MS-Pl License](http://opensource.org/licenses/ms-pl.html)
Thanks
------
* [MonoCross](http://code.google.com/p/monocross/) was the original starting point for this project, and was used as a reference under MIT
* [Phone7.Fx](http://phone7.codeplex.com) is redistributed and modified under MS-PL
* Tiny bits of [MvvmLight](http://mvvmlight.codeplex.com/) are redistributed and modified under MIT
* [NewtonSoft.Json](https://github.com/JamesNK/Newtonsoft.Json) is redistributed and modified here under MIT
* The original work on the [JSON.Net port](https://github.com/chrisntr/Newtonsoft.Json) to MonoTouch and MonoDroid was done by @ChrisNTR
* [Sqlite-net](https://github.com/praeclarum/sqlite-net/blob/master/license.md) - custom license
* [MonoTouch.Dialog](https://github.com/migueldeicaza/MonoTouch.Dialog) - MIT X11
* [MonoDroid.Dialog](https://github.com/kevinmcmahon/MonoDroid.Dialog) - MIT X11
* Messenger ideas from [JonathanPeppers/XPlatUtils](https://github.com/jonathanpeppers/XPlatUtils) under Apache License Version 2.0, and from GrumpyDev/TinyMessenger under simple license of "THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY"
* [Color codes](https://github.com/mono/sysdrawing-coregraphics) under MIT License
Thanks to McCannLondon for sponsoring the initial part of this work - http://blogs.mccannlondon.co.uk/
Thanks to lots of people for their input over time - will add to this list...
Thanks to JetBrains for a community Resharper license to use on this project - http://jetbrains.com
Thanks to Infragistics for a control license for Nuclios and .Net.
If you want to support this project, please do get in touch!
### Acknowledgements
* Thanks to [McCannLondon](http://blogs.mccannlondon.co.uk/) for sponsoring the initial part of this work
* Thanks to [JetBrains](http://jetbrains.com) for a community Resharper license to use on this project
* Thanks to [Infragistics](http://www.infragistics.com/) for a control license for Nuclios and .Net
[ninja]: http://i.imgur.com/eJ3ewEq.png "Ninja Plugin"