Giao diện người dùng đồ họa (tiếng Anh: graphical user interface, viết tắt là GUI) là loại giao diện cho phép người dùng tương tác với máy tính hoặc thiết bị điện tử qua hình ảnh và văn bản thay vì chỉ sử dụng các lệnh văn bản. GUI hiện diện rộng rãi trong máy tính, thiết bị cầm tay, thiết bị đa phương tiện, cũng như các linh kiện điện tử trong văn phòng và nhà ở,...
Thuật ngữ GUI chủ yếu được áp dụng cho các thiết bị có màn hình 2D và ít được sử dụng trên các thiết bị với độ phân giải thấp, như một số thiết bị chơi game, nơi HUD thường được ưa chuộng hơn.
GUI được phát triển bởi các nhà nghiên cứu tại Xerox PARC vào thập niên 1970. Hiện nay, hầu hết các hệ điều hành máy tính đa người dùng đều sử dụng loại giao diện này.
Người sáng lập GUI
Douglas Englebart được coi là người sáng lập giao diện người dùng đồ họa ở giai đoạn đầu. Sau khi tốt nghiệp ngành kỹ thuật điện vào năm 1948, ông làm việc tại Viện NACA (tiền thân của NASA). Với mong muốn cống hiến cho nhân loại, ông đã nghĩ đến việc phát triển một thiết bị nhằm nâng cao trí tuệ con người.
Trong thời kỳ chiến tranh, Douglas làm việc như một kiểm soát viên rađa và hình dung ra một thiết bị hiển thị sử dụng ống tia cathode, cho phép người dùng tạo ra các mô hình thông tin trực quan qua đồ họa và tương tác với chúng. Để hiện thực hóa ý tưởng này, ông cần tìm nguồn tài trợ, một công việc không hề dễ dàng.
Năm 1955, Douglas hoàn thành chương trình tiến sĩ và gia nhập Học viện Nghiên cứu Stanford (Standford Research Institute), nơi ông đạt nhiều bằng sáng chế về 'các thành phần máy tính nhỏ gọn' (miniaturizing computer components). Năm 1959, ông thuyết phục Không quân Hoa Kỳ (United States Air Force) tài trợ cho dự án của mình. Đến năm 1962, ông công bố luận văn Augmenting Human Intellect, trình bày các ý tưởng của mình và nhấn mạnh rằng 'máy tính không phải thay thế trí tuệ con người, mà là nâng cao nó'. Ông sử dụng ví dụ về một kiến trúc sư dùng công cụ tương tự phần mềm CAD hiện đại để thiết kế các tòa nhà.
Douglas cùng các cộng sự tiếp tục phát triển các ý tưởng và công nghệ của mình. Vào năm 1968, ông thực hiện một buổi trình diễn công khai trước hơn 1000 chuyên gia máy tính, giới thiệu những thành tựu từ các ý tưởng ban đầu của ông.
Diễn biến lịch sử
Nguồn gốc
Nguồn gốc của GUI bắt đầu từ các nghiên cứu tại Standford Research Institute dưới sự lãnh đạo của Douglas Engelbart. Họ đã phát triển việc sử dụng siêu liên kết (hyperlinks) dựa trên văn bản cho hệ thống trực tuyến (On-Line System), nơi các liên kết được thao tác bằng con chuột. Khái niệm siêu liên kết sau đó được các nhà nghiên cứu tại Xerox PARC mở rộng thành đồ họa.
Vào năm 1963, Ivan Sutherland phát triển Sketchpad, một hệ thống dựa trên con trỏ (pointer). Hệ thống này sử dụng bút phát sáng để thao tác tạo và chỉnh sửa các đối tượng trong bản vẽ kỹ thuật.
Giao diện người dùng của PARC
Giao diện người dùng của PARC bao gồm các yếu tố đồ họa như cửa sổ (window), thực đơn (menu), nút radio (radio button), ô kiểm (check box) và các biểu tượng (icon).
Quá trình phát triển
Dựa trên các hệ thống trước đó, các hệ thống đồ họa lần lượt được phát triển. Vào năm 1981, mô hình GUI đầu tiên, Xerox 8010 Star Information System, được giới thiệu. Tiếp theo là Apple Lisa vào năm 1983, Macintosh 128K của Apple vào năm 1984, và Atari ST cùng Commodore Amiga vào năm 1985. Việc điều khiển đồ họa qua lệnh (command) bắt đầu với Common User Access (1987) của IBM, cho phép các chuỗi lệnh khác nhau điều khiển các chương trình khác nhau, như phím F3 kích hoạt chế độ hỗ trợ trong WordPerfect nhưng đóng chương trình trong các ứng dụng khác.
Tiếp theo sự phát triển của GUI là các keyboard overlays (bàn phím điều chỉnh chức năng). Những mảnh giấy hoặc nhựa này đặt giữa các phím để cung cấp thông tin về chức năng của từng phím cho các ứng dụng cụ thể. Ví dụ, phím Control-Alt-Delete mở Task Manager trên Windows, còn trên Unix sẽ tắt máy tính.
Hiện nay, các hệ thống GUI phổ biến bao gồm Microsoft Windows, Mac OS X và X Window System trên PC và laptop. Ngoài ra, các thiết bị di động như Symbian, BlackBerry OS, Android và iOS cũng sử dụng GUI. Các hệ thống này đều dựa trên các ý tưởng của Xerox, vì vậy chúng có nhiều khái niệm tương đồng như nút bấm, radio button, menu, v.v.
Các thành phần chính của GUI
Hệ thống GUI tích hợp nhiều công nghệ và thiết bị để tạo ra một nền tảng mà người dùng có thể tương tác một cách hiệu quả.
Các thành phần của GUI hoạt động theo một ngôn ngữ trực quan (visual language) để hiển thị thông tin trong máy tính. Một ví dụ phổ biến là mô hình WIMP (window, icon, menu, pointing device) được sử dụng trong máy tính cá nhân.
- Các yếu tố điều khiển trong GUI
Hệ điều hành | |||||
---|---|---|---|---|---|
Chung |
| ||||
Hạt nhân |
| ||||
Quản lý tiến trình |
| ||||
Quản lý bộ nhớ và bảo vệ tài nguyên |
| ||||
Truy cập lưu trữ và hệ thống tập tin |
| ||||
Danh sách |
| ||||
Khái niệm khác |
|