Vide.Fable
0.0.1-alpha-06
This package has renamed to Vide.UI.Fable for ongoing development and maintenance.
See the version list below for details.
dotnet add package Vide.Fable --version 0.0.1-alpha-06
NuGet\Install-Package Vide.Fable -Version 0.0.1-alpha-06
<PackageReference Include="Vide.Fable" Version="0.0.1-alpha-06" />
paket add Vide.Fable --version 0.0.1-alpha-06
#r "nuget: Vide.Fable, 0.0.1-alpha-06"
// Install Vide.Fable as a Cake Addin #addin nuget:?package=Vide.Fable&version=0.0.1-alpha-06&prerelease // Install Vide.Fable as a Cake Tool #tool nuget:?package=Vide.Fable&version=0.0.1-alpha-06&prerelease
Vide
Vide is a declarative view library written in F#. It implements a core that can be used in various application frameworks. It currently uses Fable (❤).
Vide is in an early prototype state, and it may be that many things you read here will already be obsolete!
The prototype implements the core, a Fable API, and a Fable app that demos several use cases.
The basic idea (composing state-aware functions) is described in the contribution to the 2019s 'Applied F# Challenge'.
Requirements
- dotnet SDK 5.0 or higher
- node.js
- An F# editor like Visual Studio, Visual Studio Code with Ionide or JetBrains Rider
Building and running the app
- Install dependencies:
npm install
- Start the compiler in watch mode and a development server:
npm start
- After the first compilation is finished, in your browser open: http://localhost:3000/
Any modification you do to the F# code will be reflected in the web page after saving.
Note: check the "scripts" section in
package.json
to see the commands triggered by the steps above.
Samples
All samples shown here can be executed in the branch demos/public01
Given the index.html
with an "app" container and a script tag for app kickoff:
<body>
<div id="app"></div>
<script type="module" src="./build/app.js"></script>
</body>
In app.fs
, you will find variouse samples, including the famous "Counter"-Sample, known from various frameworks:
let videApp =
vide {
let! count = Mutable.ofValue 0
div {
$"Count = {count.Value}"
}
button .onclick(fun _ -> count -= 1) { "dec" }
button .onclick(fun _ -> count += 1) { "inc" }
}
Also in app.fs
, start the app by hosting it in the app-div:
let appHolder = document.getElementById("app")
let videMachine = Vide.Fable.startApp appHolder videApp (fun sender state -> ())
videMachine.Eval()
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Fable.Browser.Dom (>= 2.11.0)
- Fable.Core (>= 3.7.1)
- FSharp.Core (>= 6.0.7)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
0.0.16 | 397 | 5/8/2023 | |
0.0.15 | 289 | 4/29/2023 | |
0.0.14 | 331 | 4/29/2023 | |
0.0.13 | 284 | 4/23/2023 | |
0.0.12 | 330 | 4/23/2023 | |
0.0.11 | 293 | 4/23/2023 | |
0.0.10 | 269 | 4/23/2023 | |
0.0.9 | 277 | 4/23/2023 | |
0.0.8 | 285 | 4/8/2023 | |
0.0.7 | 319 | 4/8/2023 | |
0.0.6 | 300 | 4/8/2023 | |
0.0.5 | 304 | 4/8/2023 | |
0.0.4 | 324 | 4/8/2023 | |
0.0.3 | 360 | 3/27/2023 | |
0.0.2 | 315 | 3/27/2023 | |
0.0.1 | 349 | 3/27/2023 | |
0.0.1-alpha-23 | 244 | 1/22/2023 | |
0.0.1-alpha-22 | 251 | 1/22/2023 | |
0.0.1-alpha-21 | 262 | 1/22/2023 | |
0.0.1-alpha-20 | 268 | 1/22/2023 | |
0.0.1-alpha-19 | 232 | 1/22/2023 | |
0.0.1-alpha-18 | 250 | 1/22/2023 | |
0.0.1-alpha-17 | 236 | 1/15/2023 | |
0.0.1-alpha-16 | 240 | 1/15/2023 | |
0.0.1-alpha-15 | 248 | 1/13/2023 | |
0.0.1-alpha-14 | 272 | 1/13/2023 | |
0.0.1-alpha-13 | 240 | 1/13/2023 | |
0.0.1-alpha-12 | 244 | 1/13/2023 | |
0.0.1-alpha-11 | 249 | 1/13/2023 | |
0.0.1-alpha-10 | 240 | 1/13/2023 | |
0.0.1-alpha-09 | 243 | 1/11/2023 | |
0.0.1-alpha-08 | 253 | 1/11/2023 | |
0.0.1-alpha-07 | 277 | 1/11/2023 | |
0.0.1-alpha-06 | 247 | 1/11/2023 | |
0.0.1-alpha-05 | 263 | 1/11/2023 | |
0.0.1-alpha-04 | 271 | 1/11/2023 | |
0.0.1-alpha-03 | 240 | 1/11/2023 | |
0.0.1-alpha-02 | 253 | 1/11/2023 | |
0.0.1-alpha-01 | 249 | 1/11/2023 |