iced(비교)

r8 vs r9
......
1414enum Message {
1515 Hello,
1616 Bye
17}}}}
17} }}}
1818그리고 데이터를 담을 state 구조체를 만들자
1919{{{#!syntax rust
2020#[derive(Default)]
2121struct State {
2222 say:String
23}}}}
23} }}}
2424say의 기본값을 "hello"로 지정해주고 싶으면 derive 메크로를 제거하고
2525{{{#!syntax rust
2626impl Default for State {
......
2929 say:String::from("hello");
3030 }
3131 }
32}}}}를 추가해주자.[* 사실 iced::application이라는 대응 함수도 있는데 부실한 문서화때문에 사용하기 어렵다]
32} }}}를 추가해주자.[* 사실 iced::application이라는 대응 함수도 있는데 부실한 문서화때문에 사용하기 어렵다]
3333그리고 상호작용을 할 때 실행될 update 함수를 만들자
3434{{{#!syntax rust
3535fn update(state:&mut State, message:Message) {
......
4141 state.say = String::from("Bye");
4242 }
4343 }
44}}}}
44} }}}
4545마지막으로 UI를 담당할 view 함수를 만들고
4646{{{#!syntax rust
4747use iced::Element;
......
5353 button("say hello").on_press(Message::Hello),
5454 button("say bye").on_press(Message::Bye)
5555 ].into()
56}}}}
56} }}}
5757iced::run으로 실행하자
5858{{{#!syntax rust
5959fn main () -> iced::Result {
6060 iced::run(update, view)?
61}}}}
61} }}}
6262== 특징 ==
6363 * 마지막 릴리즈가 ,,25년 9월 기준,,1년 전에 나왔다![* cargo add iced 대신 깃헙 주소를 입력하는 것을 추천한다. 브랜치는 master로]
6464* 비동기 처리를 자체 런타임을 이용해서 하는데 tokio[* 러스트에서 가장 많이쓰는 런타임] 런타임이랑 호환이 안되는듯 하다
6565== 사용하는 소프트웨어 ==
6666 * cosmic