18 releases (10 breaking)

0.10.3 Apr 20, 2023
0.9.1 Feb 18, 2023
0.7.0 Dec 7, 2022
0.6.1 Nov 10, 2022
0.1.0 Nov 25, 2019

#1268 in GUI

Download history 2153/week @ 2024-03-14 2373/week @ 2024-03-21 2332/week @ 2024-03-28 1800/week @ 2024-04-04 2113/week @ 2024-04-11 2084/week @ 2024-04-18 2243/week @ 2024-04-25 2006/week @ 2024-05-02 1871/week @ 2024-05-09 2039/week @ 2024-05-16 2010/week @ 2024-05-23 2040/week @ 2024-05-30 1539/week @ 2024-06-06 1603/week @ 2024-06-13 2004/week @ 2024-06-20 1215/week @ 2024-06-27

6,609 downloads per month
Used in fewer than 41 crates

MIT license

1MB
22K SLoC

iced_native

Documentation Crates.io License Discord Server

iced_native takes iced_core and builds a native runtime on top of it, featuring:

  • A custom layout engine, greatly inspired by druid
  • Event handling for all the built-in widgets
  • A renderer-agnostic API

To achieve this, it introduces a bunch of reusable interfaces:

  • A Widget trait, which is used to implement new widgets: from layout requirements to event and drawing logic.
  • A bunch of Renderer traits, meant to keep the crate renderer-agnostic.
  • A Windowed trait, leveraging raw-window-handle, which can be implemented by graphical renderers that target windows. Window-based shells (like iced_winit) can use this trait to stay renderer-agnostic.

The native target

Installation

Add iced_native as a dependency in your Cargo.toml:

iced_native = "0.10"

Iced moves fast and the master branch can contain breaking changes! If you want to learn about a specific release, check out the release list.

Dependencies

~3.5–6MB
~114K SLoC