swi

SwiftGui

SwiftGUI is an API inspired by SwiftUI DSL, using Dear ImGui as renderer and running on macOS 10.13+ and iOS 11+

Showing:

Popularity

Downloads/wk

0

GitHub Stars

91

Maintenance

Last Commit

1yr ago

Contributors

1

Package

Dependencies

0

License

Copyright

Categories

Readme

SwiftGUI

license swift version Carthage Compatible

SwiftGUI is an experimental API inspired by SwiftUI DSL, using Dear ImGui as renderer and running on OSX and iOS.

hellow world

Window("SwiftGUI") {

    Text("Hello world!")

    HStack {
        ForEach(1...2) { val in
            Button("Click \(val)")
        }

        ForEach(1...2) { val in
            CheckBox("Check \(val)", selectedState: true)
        }

        ForEach(1...2) { val in
            RadioButton("Radio \(val)", activeState: true)
        }
    }
}

Highlights

  • Easy to use abstraction for Dear ImGui
  • Multi-platform support (iOS 11+ and macOS 10.13+)
  • Huge list of UI components already available

Theme support

- Color scheme (embedded Darcula and Light)
- Custom Fonts (embedded FiraCode)

Components

- Buttons
- CheckBox
- Color Selection
- ComboBox
- Drag
- Dock
- Image
- TextField
- Lists
- Menu
- Plotting
- Popup
- RadioButton
- SelectableFields
- Sliders
- TabBar
- Texts
- Text Editor (Code editor)
- Tooltips
- Tree
- Window
- General 
    - Group
    - HStack
    - Separator/NewLine/Spacing/Indent
    - ForEach
    - Perform

Installation

Carthage

To integrate SwiftGui into your Xcode project using Carthage, specify it in your Cartfile:

github "erickjung/SwiftGUI" "0.9.3"

For OSX project, run:

carthage update --platform macOS

For iOS project, run:

carthage update --platform iOS

Cocoapods

To integrate SwiftGui into your Xcode project using Cocoapods, specify it in your Podfile:

pod 'SwiftGui', '~> 0.9.3'

run:

pod install

Using SwiftGUI

Mockingbird

Samples

macOS Sample 01 macOS Sample 02 iOS Sample 01

Contributing

Read the Contributing guidelines

License

MIT

Using

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100