All Projects → fable-compiler → Fable Elmish Electron Material Ui Demo

fable-compiler / Fable Elmish Electron Material Ui Demo

Licence: mit
Complete boilerplate for Electron apps using Fable and Elmish with hot module reloading, time-travel debugging, etc.

Projects that are alternatives of or similar to Fable Elmish Electron Material Ui Demo

Razzle Material Ui Styled Example
Razzle Material-UI example with Styled Components using Express with compression
Stars: ✭ 117 (+15.84%)
Mutual labels:  boilerplate, material-ui, template
Web
⚡️ Supercharged version of Create React App with all the bells and whistles.
Stars: ✭ 594 (+488.12%)
Mutual labels:  boilerplate, material-ui, template
Create React App Material Typescript Redux
A ready to use boilerplate for starting big react projects
Stars: ✭ 257 (+154.46%)
Mutual labels:  boilerplate, material-ui, template
Veluxi Starter
Veluxi Vue.js Starter Project with Nuxt JS and Vuetify
Stars: ✭ 39 (-61.39%)
Mutual labels:  boilerplate, material-ui, template
Graphql Starter
💥 Monorepo template (seed project) pre-configured with GraphQL API, PostgreSQL, React, Relay, and Material UI.
Stars: ✭ 3,377 (+3243.56%)
Mutual labels:  boilerplate, material-ui, template
Vite Electron Builder
Electron app boilerplate based on Vite. TypeScript + Vue/React/Angular/Svelte/Vanilla
Stars: ✭ 96 (-4.95%)
Mutual labels:  electron-builder, boilerplate, template
Lepton
💻 Democratizing Snippet Management (macOS/Win/Linux)
Stars: ✭ 9,067 (+8877.23%)
Mutual labels:  electron-builder, electron-app
React Native Template Typescript
👾 Clean and minimalist React Native template for a quick start with TypeScript.
Stars: ✭ 1,148 (+1036.63%)
Mutual labels:  boilerplate, template
Simple Mvp Retrofit Example
A simple example of a project using MVP architecture and Retrofit 2.0 library for Android for beginners.
Stars: ✭ 70 (-30.69%)
Mutual labels:  sample, template
Electrate
Quick and Easy Electron + React Boilerplace
Stars: ✭ 80 (-20.79%)
Mutual labels:  electron-builder, template
Feliz.materialui
Feliz-style Fable bindings for Material-UI
Stars: ✭ 42 (-58.42%)
Mutual labels:  fable, material-ui
Sing App
💥Free and open-source admin dashboard template built with Bootstrap 4.5 💥
Stars: ✭ 1,187 (+1075.25%)
Mutual labels:  boilerplate, template
React Express Webpack
React boilerplate with ES2015, Express.js, and Webpack 4
Stars: ✭ 84 (-16.83%)
Mutual labels:  boilerplate, material-ui
Firebird
Template for Phoenix 1.3 projects
Stars: ✭ 66 (-34.65%)
Mutual labels:  boilerplate, template
Fable Material Ui
Fable bindings for Material-UI https://mvsmal.github.io/fable-material-ui/
Stars: ✭ 60 (-40.59%)
Mutual labels:  fable, material-ui
Readme Template
A Readme Template For Tomorrow's Opensource
Stars: ✭ 69 (-31.68%)
Mutual labels:  boilerplate, template
Quickapp Boilerplate Template
🔨致力于构建更为优雅的「快应用」开发脚手架模板。https://quickapp.lovejade.cn/tag/quickapp/
Stars: ✭ 58 (-42.57%)
Mutual labels:  boilerplate, template
Expo Three Demo
🍎👩‍🏫 Collection of Demos for THREE.js in Expo!
Stars: ✭ 76 (-24.75%)
Mutual labels:  boilerplate, template
Gatsby Starter Procyon
An opinionated Gatsby starter designed for trash-eating pandas.
Stars: ✭ 88 (-12.87%)
Mutual labels:  boilerplate, material-ui
Phaser3 Tilemap Pack
Phaser 3 Project Template with Webpack, Tilemap, and Asset Pack
Stars: ✭ 87 (-13.86%)
Mutual labels:  boilerplate, template

Fable-Elmish-Electron-Material-UI demo Build status

This is an example of an F# Electron app centered around Fable 2 and Elmish. The actual app contents (which you can easily replace to build your own Electron app) are intended to show how to use Material-UI (including JSS/style-as-code) as well as serve as examples of how to implement some (not always trivial) UX patterns in Elmish.

To use the demo for scaffolding your own Fable/Elmish/Electron apps, simply clone the repo and start hackin' on the Renderer project to get started (details below).

Features/stack:

  • Hot module reloading for both code and styles
  • Time-travel debugging (using Redux DevTools, RemoteDev, and Fable.Elmish.Debugger)
  • Single-command development and packaging with FAKE
  • electron-webpack takes care of most of the webpack config
  • electron-builder packages the app (see their documentation for how to customize)
  • electron-window-state for remembering window state between launches
  • Devtron for Electron-specific debugging/linting

Stuff demoed:

  • Autocomplete
  • Badges
  • Dialogs
  • Saving/loading files
  • Selects (dropdowns)
  • Snackbars
  • Static assets (images etc.)
  • Text fields / input validation

Hot module reloading in action

Animation showing hot module reloading

Time-travel debugging in action

Animation showing time-travel debugging

Requirements

  • .NET Core SDK 3.0
  • Node (for npm)

How to develop

This project uses .NET Core 3 local tools. Therefore, run dotnet tool restore to restore the necessary CLI tools before doing anything else.

Then, to run the app locally in "live mode":

dotnet fake build -t Dev

(Dev is the default target, so you can also just run dotnet fake build.)

After the app starts, edit the renderer project in /src/Renderer and see the changes appear in real-time thanks to hot module reloading.

Place static files in the root /static folder as required by electron-webpack. See the code for the “Static assets” page (and the helpers in Utils.fs) to see how to use them.

Release build to unpacked directory

dotnet fake build -t DistDir

Release build to packed installer

dotnet fake build -t Dist

NuGet package management

Use dotnet paket (after running dotnet tool restore).

Improvements welcome!

If you see anything here that looks wrong, suboptimal or just weird, you may very well be right. Don't be shy about opening an issue or PR.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].