Haskell, GTK 4, Adwaita로 할 일 목록 앱을 만드는 튜토리얼로, 첫 창 생성부터 상태 모델, UI, 실행 루프 연결까지 구현함 haskell-gi가 GTK 라이브러리에서 Haskell 바인딩을 자동 생성하며, Adwaita는 GNOME의 접근성과 스타일 지침을 반영한 위젯을 제공함 The Elm Architecture에 따라 상태, 화면, 갱신 로직을 분리하고, 사용자 동작과 저장 작업을 데이터로 모델링해 GTK의 명령형 동작을 다룸 순수한 update 함수가 할 일 추가와 완료 상태 변경을 처리하며, 목록이 실제로 바뀔 때만 Save 효과를 반환함 런타임은 메시지를 GTK 실행 루프에 전달하고 갱신된 모델로 화면을 다시 구성함. 이번 구현은 저장 효과를 실행하지 않고, 모델 갱신과 화면 연결까지 다룸 GTK 4와 Adwaita로 시작하기 중급 Haskell 개발자를 대상으로 할 일 목록 앱을 구현하며, Adwaita의 위젯과 스타일을 활용함 Adwaita는 GNOME의 디자인 언어를 구현하는 GTK 컴포넌트 라이브러리로, 접근성과 스타일에 관한 사용자 인터페이스 지침(HIG)을 반영함 반응형 디자인을 지원하고, 데스크톱이 밝은 테마와 어두운 테마 사이를 전환하면 실행 중인 앱의 색상도 바뀜 haskell-gi 는 GTK 라이브러리에서 Haskell 바인딩을 자동 생성하며, C API와 대응 관계를 파악할 수 있는 Haskell 인터페이스를 제공함 개념에 집중하기 위해 본문의 코드는 일부를 생략하며, 전체 프로젝트는 adwaita-todo 에서 확인할 수 있음 첫 번째 창 생성 Adw.Application 이 Adwaita 스타일시트를 포함한 리소스를 관리함 new X [#attribute := value] 형태로 GTK 객체와 속성을 생성하며, # 표기는 OverloadedLabels를 사용함 activate 신호에 창 생성 핸들러를 연결하고, Gio.applicationRun으로 메인 애플리케이션 루프를 실행함 Adw.HeaderBar를 Adw.ToolbarView의 상단에 넣고 이를 Adw.ApplicationWindow의 콘텐츠로 설정함 제목은 Todos, 기본 크기는 480×640이며, Gtk.windowPresent로 창을 표시함 Model-View-Update 구조 The Elm Architecture 는 대화형 프로그램을 세 가지 중심 개념으로 구성함 Model은 애플리케이션 상...
Haskell로 GTK 애플리케이션 만들기, 1부
1 day ago
2
Related
Octop - 가족과 소규모 팀이 함께 쓰는 셀프 호스팅 AI 비서
16 minutes ago
0
Show GN: brgr – Claude Code나 Codex가 다른 코딩 에이전트에게 일을 맡기는 herd...
17 minutes ago
0
이메일을 직접 호스팅하는 분들, 무엇을 사용하시나요?
44 minutes ago
0
질량으로 따지면 지구에서 가장 우세한 종은 무엇일까?
1 hour ago
3
OpenAI, AI가 도출한 수학 연구 원고 722편과 증명 자료 공개
1 hour ago
2
Show GN: 안심품 - KC인증 제품만 검색
1 hour ago
3
밀리초 단위로 벤치마크하기
2 hours ago
3
Tips
click
Popular
프로들도 줄지어 샷 점검… KLPGA 스타 사랑방 된 더헤븐CC 연습장
2 weeks ago
73
iOS 27, iPadOS 27, macOS 27
3 weeks ago
69
손흥민 선제골 발판·골대 불운…LAFC, 7경기 만에 승리
3 weeks ago
65
영림원소프트랩, 나람 통합 ERP 구축…사료 제조·물류·회계 데이터 하나로
2 weeks ago
62
'이 악문' 김영범, 자유형 50m '대회 신기록' 금메달
2 weeks ago
55
© Clint IT 2026. All rights are reserved









English (US) ·