Popularity
8.0
Growing
Activity
0.0
Stable
60
7
3
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.
Static code analysis for 29 languages.
Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
Promo
www.sonarqube.org
Do you think we are missing an alternative of Iu or a related project?
Popular Comparisons
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
.