You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Revise getting started guide with RxAppBuilder and ecosystem (#920)
Expanded the getting started documentation to highlight RxAppBuilder as the recommended initialization method, added a modern code sample, and reorganized key features and ecosystem libraries. Updated MVVM explanation, provided more resources, and clarified next steps for new users.
Copy file name to clipboardExpand all lines: reactiveui/docs/getting-started/index.md
+65-17Lines changed: 65 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,31 +6,79 @@ See our <a href="~/docs/handbook/index.md">Handbook</a> for the ReactiveUI docum
6
6
7
7
## Getting Started
8
8
9
-
To get started visit our <ahref="~/docs/getting-started/installation/index.md">Installation</a> page.
9
+
To get started visit our <ahref="~/docs/getting-started/installation/index.md">Installation</a> page to install the appropriate NuGet packages for your platform.
10
10
11
-
The [Compelling Example](compelling-example.md) walks through creating a more complete application, demonstrating the power of ReactiveUI and Reactive Extensions.
11
+
### Modern ReactiveUI with RxAppBuilder (Recommended)
12
12
13
-
## Why MVVM?
13
+
**RxAppBuilder** is the recommended way to initialize and configure ReactiveUI applications (introduced in v21.0.1). It provides a fluent API for setting up dependency injection, view/view model registration, and platform-specific services:
14
+
15
+
```csharp
16
+
varapp=RxAppBuilder.CreateReactiveUIBuilder()
17
+
.WithWpf() // Or WithMaui(), WithBlazor(), WithWinUI(), etc.
The Model-View-ViewModel (MVVM) pattern helps create more portable and maintainable codebases for cross-platform .Net applications. It increases the amount of code that can be shared between different platforms (iOS, Android, etc.) and makes testing easier.
27
+
Learn more about RxAppBuilder in the <ahref="~/docs/handbook/rxappbuilder.md">RxAppBuilder Guide</a>.
28
+
29
+
### Key ReactiveUI Features
16
30
17
31
ReactiveUI makes it easy to combine the MVVM pattern with Reactive Programming by providing features such as:
-**[RxAppBuilder](~/docs/handbook/rxappbuilder.md)** - Modern application initialization and dependency injection
34
+
-**[ReactiveUI.SourceGenerators](https://github.com/reactiveui/ReactiveUI.SourceGenerators)** - Compile-time code generation for reactive properties and commands
-**[ObservableAsPropertyHelper](~/docs/handbook/observable-as-property-helper.md)** - Transform observables into read-only properties
38
+
-**[WhenActivated](~/docs/handbook/when-activated.md)** - Manage subscriptions and prevent memory leaks
39
+
-**[Data Binding](~/docs/handbook/data-binding/index.md)** - Type-safe, reactive data binding
40
+
-**[User Input Validation](~/docs/handbook/user-input-validation.md)** - Declarative validation with ReactiveUI.Validation
41
+
42
+
The [Compelling Example](compelling-example.md) walks through creating a more complete application, demonstrating the power of ReactiveUI and Reactive Extensions.
43
+
44
+
## Why MVVM?
45
+
46
+
The Model-View-ViewModel (MVVM) pattern helps create more portable and maintainable codebases for cross-platform .NET applications. It increases the amount of code that can be shared between different platforms (Windows, iOS, Android, Web, etc.) and makes testing easier.
24
47
25
48
<imgsrc="~/images/mvvm.png"width="500"alt="mvvm">
26
49
27
-
## Explore ReactiveUI
50
+
## Explore the ReactiveUI Ecosystem
51
+
52
+
ReactiveUI is much more than just a MVVM helper. Take a look at the following projects to get started exploring what is available:
53
+
54
+
### Core Libraries
55
+
56
+
-**[DynamicData](https://github.com/reactivemarbles/DynamicData)** - Reactive collections based on Rx.NET
57
+
-**[ObservableEvents](https://github.com/reactivemarbles/ObservableEvents)** - Generate observables from .NET events
58
+
-**[Splat](https://github.com/reactiveui/Splat)** - Cross-platform dependency injection and logging
59
+
-**[Akavache](~/docs/handbook/akavache/toc.yml)** - Asynchronous key-value store with SQLite persistence
60
+
-**[ReactiveUI.Validation](~/docs/handbook/user-input-validation.md)** - Reactive validation for user input
61
+
62
+
### Platform Extensions
63
+
64
+
-**[ReactiveUI.SourceGenerators](https://github.com/reactiveui/ReactiveUI.SourceGenerators)** - C# source generators for ReactiveUI
65
+
-**[Maui.Plugins.Popup](https://github.com/reactiveui/Maui.Plugins.Popup)** - MAUI popup plugin with ReactiveUI support
66
+
-**[Sextant](https://github.com/reactiveui/Sextant)** - Navigation library for Xamarin.Forms using ReactiveUI
67
+
68
+
### Additional Tools
69
+
70
+
-**[Fusillade](https://github.com/reactiveui/Fusillade)** - HTTP request prioritization and rate limiting
71
+
-**[Punchclock](https://github.com/reactiveui/punchclock)** - Asynchronous work queue with prioritization
72
+
73
+
### Resources
74
+
75
+
-**[Samples](~/docs/resources/samples.md)** - Open source applications built with ReactiveUI
76
+
-**[Blog](~/articles/2020-07-16-article-on-elevated-values.md)** - Release notes and announcements
77
+
-**[Videos and Presentations](~/docs/resources/videos.md)** - Videos and presentations about ReactiveUI
28
78
29
-
ReactiveUI is much more than just a MVVM helper. Take a look at the following projects to get started exploring what is available
79
+
## Next Steps
30
80
31
-
-[DynamicData](https://github.com/reactivemarbles/DynamicData) - Reactive collections based on reactive extensions
32
-
-[ObservableEvents](https://github.com/reactivemarbles/ObservableEvents) - Build Observables from Events
33
-
-[Sextant](https://github.com/reactiveui/Sextant)- Navigation library for Xamarin.Forms using ReactiveUI
34
-
-[Samples](~/docs/resources/samples.md) - Open Source applications built with ReactiveUI
35
-
-[Blog](~/articles/2020-07-16-article-on-elevated-values.md) - Release Notes and Announcements
36
-
-[Videos and Presentations](~/docs/resources/videos.md) - Videos and Presentations
81
+
1.**[Install ReactiveUI](~/docs/getting-started/installation/index.md)** for your platform
82
+
2.**Follow the [Compelling Example](compelling-example.md)** to build your first reactive app
83
+
3.**Read the [Handbook](~/docs/handbook/index.md)** to learn about advanced features
84
+
4.**Join the Community** on [Slack](https://join.slack.com/t/reactivex/shared_invite/zt-lt48skpz-G5WDYOAuzA80_MByZrLT0g)
0 commit comments