GenUI icon indicating copy to clipboard operation
GenUI copied to clipboard

GenUI is an innovative SFP front-end framework developed in the Rust language, was originally inspired by Vue3 and Makepad. Intended to help users write front-end projects using Rust more efficiently.

README

The current work branch is ark

Work Description

Dir des
examples GenUI Example(Working)
gen the finally framework dir(Comming Soon)
gen-ui work dir(Working)
wiki GenUI wiki(Comming Soon)
  • [x] Compiler
  • [x] Parser
  • [x] Converter
  • [ ] Traits
  • [ ] Macros
  • [ ] Generator
    • [x] Makepad Plugin
    • [ ] Other Plugin
  • [ ] GenUI VSCode Plugin
  • [ ] GenUI Makepad Unified Widget Lib
  • [x] Makepad Book

Features

Makepad

  • [x] Makepad Compiler
  • [x] static page
  • [x] ArkUI Template
  • [ ] dyn widget (half support, now working...)
  • [x] wasm
  • [ ] GenUI Builtin-Widget (working...)
  • [x] rust lang support (use in .gen file, hold in <script lang="rust"> or <script>)
  • [x] Shader
  • [x] Toml Config

Widgets

  • [x] Window
  • [x] View
  • [x] Button (todo!(button other event, click event finish))
  • [x] Icon
  • [x] Label
  • [x] Image
  • [x] RotatedImage
  • [x] Radio
  • [x] Checkbox
  • [x] ScrollXYView
  • [x] ScrollXView
  • [x] ScrollYView
  • [x] SolidView
  • [x] RectView
  • [x] RectShadowView
  • [x] RoundedView
  • [x] RoundedShadowView
  • [x] TextInput
  • [x] DropDown
  • [x] LinkLabel
  • [x] FoldButton
  • [x] Slider
  • [x] SliderBig
  • [x] Slide
    • [x] SlidesView
    • [x] SlideBody
    • [x] SlideChapter
  • [x] FoldHeader
  • [x] Html
  • [x] Markdown
  • [x] ScrollBar
  • [x] ScrollBars
  • [x] DesktopButton
  • [x] Splitter
  • [ ] Dock
  • [ ] Nav

Props

  • [x] animation
  • [x] as_prop (WidgetRef)
  • [x] Draw
  • [x] Color
    • [x] hex
    • [x] linear
    • [x] radial
    • [x] rgb
    • [x] rgba
    • [x] shader

Control

  • [x] for
  • [x] if_else

Architecture

DSL Design

b91eef4caddeffb49b3316304a8567f

Syntax Match

e3a48b59cc2fd000fa16ac14ddac999