Popularity
8.1
Stable
Activity
3.3
Growing
73
6
5
Programming language: Crystal
License: MIT License
Tags:
GUI Development
Latest version: v0.1.0
Iu alternatives and similar shards
Based on the "GUI Development" category.
Alternatively, view Iu alternatives based on common mentions on social networks and blogs.
-
Alizarin
A library for making Linux GUI applications using Web Technologies. Extending JavaScript with native functionalities.
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
Promo
www.influxdata.com

Do you think we are missing an alternative of Iu or a related project?
README
IU
UI framework based on the Fusion/libui.cr library, with custom elements from watzon/cru.
Motivation
Currently avaliable Crystal UI frameworks are either not maintained anymore or the documentation is scarce and a single error might cause a developer to lose motivation, which is why I decided to build IU on top of the LibUI framework which is a multi-platform powerful UI toolkit.
Build status
Features
Widgets
- Horizontal box, Vertical box, Checkbox, Combobox, Editable combobox.
- Button, Font button, Color button, Radio button.
- Datetime picker, Progress bar, Slider, Spinbox.
- Text entry, Multiline text entry.
- Form, Grid, Group, Table, Tab, Separator.
- Image, Label.
- Window, Menubar, Area.
- Many more.
Platforms
- Mac OSX
- Linux
- Windows (Once crystal will be available on Windows)
Code example
require "iu"
module Example
include Iu::Components
# Ability to reuse components extracted to other classes.
class MyComponent < Iu::ReusableComponent
def initialize(@id : Int32); end
def render : Iu::Component
Group
.new(title: "MyComponent", margined: true)
.adopt(
VerticalBox
.new(padded: true)
.adopt(
Label.new(text: "Hello, World ##{@id}!"),
stretchy: true
)
.adopt(
Button.new(text: "Click Me!"),
stretchy: true
)
)
end
end
# :nodoc:
class Application < Iu::Application
def initialize_component
window =
Window.new(
title: "Example",
width: 800,
height: 600,
menu_bar: false
)
window.margined = true
window
.adopt(
HorizontalBox
.new(padded: true)
.adopt(
MyComponent.new(1),
stretchy: true
)
.adopt(
MyComponent.new(2),
stretchy: true
)
.adopt(
MyComponent.new(3),
stretchy: true
)
)
window.closing.on do
exit(0)
end
window.show
end
end
end
app = Example::Application.new
app.should_quit.on do
exit(0)
end
app.start
Installation
- Follow the instructions for installation laid out in andlabs/libui.
- Copy the compiled files from step 1 (i.e. files in
build/out
) to/usr/lib
for OSX and Linux users. - Go to your
shard.yml
file, and enter this in:
dependencies:
iu:
github: grkek/iu
- Run
shards install
.