Graphical user interface
그래픽 사용자 인터페이스(graphical user interface, GUI)는 컴퓨터를 사용하면서, 그림으로 된 화면 위의 물체나 틀, 색상과 같은 그래픽 요소들을 어떠한 기능과 용도를 나타내기 위해 고안된 사용자를 위한 컴퓨터 인터페이스이다. 그래픽 사용자 인터페이스에서 어떤 요소를 제어하려면 그 요소에 해당하는 그래픽을 직접 조작하여야 한다. 일반적으로 2차원이나 3차원의 가상 공간에서 그 기능을 은유적 혹은 대표적으로 나타내는 그래픽으로 요소를 꾸미고 이를 선택, 이동, 복사하여 작동한다. 이를테면, X자와 같은 형태의 그래픽 요소는 이를 선택하면 삭제하거나 취소하는 기능을 수행하게 되며 어떤 파일을 나타내는 아이콘을 어느 위치에서 다른 하드 디스크의 장소를 나타내는 공간으로 이동하면 복사가 된다. 이전의 명령 줄 입력 인터페이스에서는 copy와 같은 명령어에 그 파일의 현재 이름과 장소를 입력하고 연달아 이동할 장소를 입력하는 방식으로 실행해야 하므로 불편하다.
Categories
- Color picker
- DOM Event Architecture - UI 이벤트 전파 구현시 사용 가능한 DOM 이벤트 전파에 대한 아키텍처 참조.
Libraries
- Guichan
- GWEN: https://github.com/garrynewman/GWEN
- ImGui
-
OtterUI - Turbo Badger: https://github.com/fruxo/turbobadger
- nana
- wxWidgets
- uno (C#)
- Avalonia (C#, XAML)
- Windows Forms (C#)
- qt
- Electron
- Flutter (Dart)
- React Native
- AWT/Swing (Java 런타임 기본 내장 GUI 라이브러리)
- JavaFX (Java)
- SWT - (Java, Eclipse)
- SwingX (Java)
- Cocoa (macOS)
- Windows API
- MFC
- ImGUI - Bloat-free Graphical User interface for C++ with minimal dependencies
- Skia
- Allegro
- pystray - 시스템 트레이 아이콘을 출력하는 python 라이브러리.
- Tauri - 모든 주요 데스크톱(macOS, Linux, Windows)과 모바일(iOS, Android) 플랫폼을 위한 작고 빠른 바이너리를 구축하기 위한 프레임워크
- Zenity - Zenity는 명령줄 및 셸 스크립트에서 GTK 대화 상자를 실행할 수 있는 자유 소프트웨어이자 크로스 플랫폼 프로그램입니다.
UI Placeholder
- UI Fillers - 디자인을 위한 플레이스홀더들
- ImgSrc.Space - 쓰기 편한 이미지/비디오 플레이스홀더
- SQIP - SVG 기반 이미지 플레이스홀더
- BlurHash - 블러 처리된 이미지 플레이스홀더 생성기
- Lorem Faces - AI로 자동 생성된 아바타용 얼굴들
- ThumbHash - 더욱 가벼워지는 썸네일 이미지
See also
Favorite site
- Wikipedia (en) GUI에 대한 설명
- Reddit - Anyone know a flexible GUI library for games in C++? (self.gamedev)
- Modern iOS Navigation Patterns · Frank Rausch
- Structural Navigation : Drill-Down, Flat, Pyramid, Hub-and-Spoke
- Overlay Navigation : High-Friction Modal, Low-Friction Modal, Non-Modal
- Embedded Navigation : State Change, Step-by-Step, Content-Driven
- 1970년대 부터 발전된 다양한 OS들의 버전별 스크린샷을 통해서 GUI의 변화를 감상 가능
- Xerox, Visi On, GEM, Deskmate, GEOS, Desqview/X, AmigaOS, RISC OS, BeOS, QNX, OS/2, Apple(Lisa, Apple II, NeXTSTEP), Linux/Unix, Windows, Win Shells