✨Giao diện đồ họa người dùng

Giao diện đồ họa người dùng

Giao diện đồ họa người dùng (tiếng Anh: graphical user interface, viết tắt là GUI) là một dạng giao diện người dùng cho phép giao tiếp với máy tính hay các thiết bị điện tử bằng hình ảnh và chữ viết thay vì chỉ là các dòng lệnh đơn thuần. GUI được sử dụng phổ biến trong máy tính, các thiết bị cầm tay, các thiết bị đa phương tiện, hoặc các linh kiện điện tử trong văn phòng, nhà ở,...

Phạm vi sử dụng thuật ngữ GUI hầu như chỉ được giới hạn trong các thiết bị có màn hình 2 chiều. Nó ít được sử dụng trong các thiết bị với giao diện có độ phân giải thấp như một số thiết bị chơi game (HUD được sử dụng nhiều hơn).

GUI được các nhà nghiên cứu tại Xerox PARC phát triển trong thập niên 1970. Ngày nay hầu hết các hệ điều hành máy tính nhiều người dùng đều sử dụng giao diện này.

Cha đẻ của GUI

Douglas Englebart hiện được xem là cha đẻ của giao diện người dùng đồ họa lúc còn sơ khai. Sau khi tốt nghiệp ngành kĩ thuật điện vào năm 1948, Douglas làm việc tại Viện NACA (NACA Institute, tiền thân của NASA hiện giờ). Sau đó, với mong muốn được làm công việc có thể mang lại lợi ích cho toàn nhân loại, ông đã nghĩ đến việc xây dựng một chiếc máy có thể làm tăng trí tuệ con người.

Trong giai đoạn chiến tranh, Douglas làm việc với vai trò là một kiểm soát viên rađa để có thể hình dung ra một thiết bị hiển thị được xây dựng xoay quanh các ống tia cathode mà qua đó người dùng có thể xây dựng các mô hình thông tin một cách trực quan thông qua đồ họa, và họ có thể tương tác với bất cứ những gì họ nhìn thấy. Để có thể thực hiện được ý tưởng này, ông phải tìm nguồn tài trợ. Song, đó không phải là việc dễ dàng mà có thể thực hiện được trong thời gian ngắn.

Năm 1955, Douglas đạt được học vị tiến sĩ và vào làm việc tại Học viện Nghiên cứu Stanford (Standford Research Institute), và tại đó ông đã đạt được nhiều bằng sáng chế về "các thành phần tiểu hóa máy tính" (miniaturizing computer components). 1959, ông đã thuyết phục được Không quân Hoa Kỳ (United States Air Force) hỗ trợ quỹ cho ý tưởng của ông. 1962, ông cho xuất bản luận văn Augmenting Human Intellect với nội dung chính là các ý tưởng mà ông đã ấp ủ. Qua luận văn này, ông khẳng định "máy tính không phải để thay thế trí tuệ con người, mà là để cải thiện nó". Một trong những ví dụ mà ông sử dụng trong luận văn này là một kiến trúc sư sử dụng một công cụ nào đó tương tự các phần mềm CAD ngày nay để thiết kế nên các tòa nhà.

Douglas và các cộng sự của ông tiếp tục làm việc để phát triển các ý tưởng và công nghệ này. Và vào năm 1968, một sự trình diễn công khai được thực hiện trước hơn 1000 các chuyên gia máy tính về những thành quả từ những ý tưởng ban đầu của ông.

Lịch sử

Tiền thân

Tiền thân của GUI được khai sinh bởi những nhà nghiên cứu tại Standford Research Institute - được dẫn đầu bởi Douglas Engelbart. Khi đó, họ phát triển việc sử dụng những siêu liên kết (hyperlinks) dựa trên chữ cho hệ thống trực tuyến (On-Line System), trong đó các liên kết được thao tác với một 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 sang phạm vi đồ họa.

1963, Sketchpad, một hệ thống dựa trên con trỏ (pointer) được phát triển bởi Ivan Sutherland. Hệ thống này sử dụng một cây bút phát sáng để thao tác việc tạo và thao tác với các đối tượng trong các bản vẽ kĩ thuật.

Giao diện người dùng PARC

Giao diện người dùng PARC gồm các thành phần đồ họa như cửa sổ (window), thực đơn (menu), nút kiểm tròn (radio button), ô kiểm vuông (check box) và các biểu tượng (icon).

Tiến hóa

Dựa trên hệ thống tiền thân, lần lượt các hệ thống đồ họa được ra đời. Năm 1981, mô hình điều hành máy tính dựa trên GUI đầu tiên được ra đời là Xerox 8010 Star Information System. Tiếp theo đó là Apple Lisa năm 1983, Macintosh 128K của Apple năm 1984, Atari ST và Commodore Amiga năm 1985. Việc điều khiển đồ họa bằng lệnh (command) được khai sinh khi IBM cho ra đời Common User Access (1987), trong đó các chuỗi lệnh khác nhau sẽ được áp dụng cho các chương trình khác nhau như: phím F3 sẽ kích hoạt chế độ hỗ trợ trong WordPerfect, nhưng nó sẽ đóng chương trình trong các ứng dụng khác của IBM.

Tiếp nối sự phát triển của các hệ thống GUI là sự ra đời của các keyboard overlays (tạm dịch, bàn phím cho phép điều chỉnh bố cục chức năng). Đó là những mảnh giấy hay plastic được đặt trong những chỗ trống giữa các phím, nó có nhiệm vụ cung cấp cho người dùng chức năng của các phím khác nhau của các ứng dụng đã được xác định. Có thể hình dung những bàn phím như vậy với những keystroke ngày nay như: Control-Alt-Delete sẽ mở Task Manager trong hệ điều hành Windows, còn trong các hệ thống Unix thì sẽ tắt máy tính.

Các hệ thống GUI phổ biến ngày nay là Microsoft Windows, Mac OS X, X Window System trên các PC (Personal Computer), laptop. Ngoài ra còn có sự góp mặt của các thiết bị di động như Symbian, BlackBerry OS, Android, iOS. Các hệ thống này đều được phát triển dựa trên những ý tưởng ban đầu của Xerox, cho nên chúng gần như có các khái niệm tương tự nhau (như button, radio button, menu...)

Các thành phần trong GUI

Một hệ thống GUI là sự kết hợp của các công nghệ, thiết bị để cung cấp cho người dùng một nền tảng cho phép người sử dụng có thể tương tác với nó.

Một chuỗi các thành phần của GUI tuân theo một ngôn ngữ trực quan (visual language) để biểu diễn thông tin được lưu trữ trong các máy tính. Thông dụng nhất khi kể đến sự kết hợp các thành phần như vậy là mô hình WIMP (window, icon, menu, pointing device) trong các máy tính cá nhân.

👁️ 93 | ⌚2025-09-16 22:26:20.179

QC Shopee
**Giao diện đồ họa người dùng** (tiếng Anh: graphical user interface, viết tắt là **GUI**) là một dạng giao diện người dùng cho phép giao tiếp với máy tính hay các thiết bị điện tử
**Giao diện đồ họa người dùng** (tiếng Anh: graphical user interface, viết tắt là **GUI**) là một dạng giao diện người dùng cho phép giao tiếp với máy tính hay các thiết bị điện tử
Trước đây, việc điều khiển một cỗ máy bằng cách nói chuyện với chúng chỉ là những câu chuyện trong khoa học viễn tưởng. Nhưng viễn tưởng này đang dần trở thành hiện thực với
Trước đây, việc điều khiển một cỗ máy bằng cách nói chuyện với chúng chỉ là những câu chuyện trong khoa học viễn tưởng. Nhưng viễn tưởng này đang dần trở thành hiện thực với
Trong giao diện người dùng bằng đồ hoạ (GUI), **thành tố điều khiển đồ họa** (tiếng Anhː **graphical widget**, viết gọn là **widget**, còn được gọi là **control**) là một thành phần dùng để tương
Trong giao diện người dùng bằng đồ hoạ (GUI), **thành tố điều khiển đồ họa** (tiếng Anhː **graphical widget**, viết gọn là **widget**, còn được gọi là **control**) là một thành phần dùng để tương
Trong thiết kế phần mềm, **diện mạo và cảm nhận** hay **cái nhìn và cảm nhận** của giao diện đồ họa người dùng (GUI) bao gồm những khía cạnh của thiết kế, gồm các thành
Trong thiết kế phần mềm, **diện mạo và cảm nhận** hay **cái nhìn và cảm nhận** của giao diện đồ họa người dùng (GUI) bao gồm những khía cạnh của thiết kế, gồm các thành
Trong thiết kế phần mềm, **diện mạo và cảm nhận** hay **cái nhìn và cảm nhận** của giao diện đồ họa người dùng (GUI) bao gồm những khía cạnh của thiết kế, gồm các thành
**Unity** là một là một môi trường desktop phân nhánh từ GNOME được phát triển bởi Canonical Ltd. cho hệ điều hành Ubuntu. Unity ra mắt trong phiên bản netbook edition của Ubuntu 10.10. Ban
**Unity** là một là một môi trường desktop phân nhánh từ GNOME được phát triển bởi Canonical Ltd. cho hệ điều hành Ubuntu. Unity ra mắt trong phiên bản netbook edition của Ubuntu 10.10. Ban
**Unity** là một là một môi trường desktop phân nhánh từ GNOME được phát triển bởi Canonical Ltd. cho hệ điều hành Ubuntu. Unity ra mắt trong phiên bản netbook edition của Ubuntu 10.10. Ban
thumb|Một quá trình gồm nhiều kỹ thuật kết xuất được áp dụng lên một cảnh phim 3D đơn lẻ thumb|Một hình ảnh tạo bằng phần mềm [[POV-Ray 3.6.]] Trong đồ họa máy tính, **kết xuất
thumb|Một quá trình gồm nhiều kỹ thuật kết xuất được áp dụng lên một cảnh phim 3D đơn lẻ thumb|Một hình ảnh tạo bằng phần mềm [[POV-Ray 3.6.]] Trong đồ họa máy tính, **kết xuất
nhỏ|300x300px| Kodi là một ví dụ về phần mềm máy tính tại nhà, được thiết kế để hiển thị trên TV. Nó có thể được điều khiển bằng điều khiển từ xa, bộ điều khiển
nhỏ|300x300px| Kodi là một ví dụ về phần mềm máy tính tại nhà, được thiết kế để hiển thị trên TV. Nó có thể được điều khiển bằng điều khiển từ xa, bộ điều khiển
Một **chương trình quản lý cửa sổ X** (tiếng Anh: _X window manager_) là một phần mềm điều khiển sự bố trí và ngoại hình của các cửa sổ trong hệ thống X Window, một
Một **chương trình quản lý cửa sổ X** (tiếng Anh: _X window manager_) là một phần mềm điều khiển sự bố trí và ngoại hình của các cửa sổ trong hệ thống X Window, một
nhỏ|Ảnh chụp màn hình tài liệu [[API web viết bởi NASA]] Một **giao diện lập trình ứng dụng** (, viết tắt: _API_) là một giao diện mà một hệ thống máy tính hay ứng dụng
nhỏ|Ảnh chụp màn hình tài liệu [[API web viết bởi NASA]] Một **giao diện lập trình ứng dụng** (, viết tắt: _API_) là một giao diện mà một hệ thống máy tính hay ứng dụng
nhỏ|300x300px| So sánh cấp cao các API và ABI trong nhân-không gian người dùng và nội bộ nhân nhỏ|300x300px| [[Hạt nhân Linux|Nhân Linux và Thư viện GNU C định nghĩa API Linux. Sau khi biên
nhỏ|300x300px| So sánh cấp cao các API và ABI trong nhân-không gian người dùng và nội bộ nhân nhỏ|300x300px| [[Hạt nhân Linux|Nhân Linux và Thư viện GNU C định nghĩa API Linux. Sau khi biên
nhỏ|300x300px| So sánh cấp cao các API và ABI trong nhân-không gian người dùng và nội bộ nhân nhỏ|300x300px| [[Hạt nhân Linux|Nhân Linux và Thư viện GNU C định nghĩa API Linux. Sau khi biên
**Hệ thống Fluent Design** (, tên mã là **Dự án Neon**), tên chính thức là **Microsoft Fluent Design System** là một ngôn ngữ thiết kế được phát triển vào năm 2017 bởi Microsoft. Fluent Design
**Hệ thống Fluent Design** (, tên mã là **Dự án Neon**), tên chính thức là **Microsoft Fluent Design System** là một ngôn ngữ thiết kế được phát triển vào năm 2017 bởi Microsoft. Fluent Design
**Hệ thống Fluent Design** (, tên mã là **Dự án Neon**), tên chính thức là **Microsoft Fluent Design System** là một ngôn ngữ thiết kế được phát triển vào năm 2017 bởi Microsoft. Fluent Design
nhỏ|Các loại con trỏ thông thường. Trong giao diện người dùng máy tính, **con trỏ** (tiếng Anh: _mouse cursor_ hoặc _mouse pointer_) là một biểu tượng được sử dụng để hiển thị vị trí hiện
nhỏ|Các loại con trỏ thông thường. Trong giao diện người dùng máy tính, **con trỏ** (tiếng Anh: _mouse cursor_ hoặc _mouse pointer_) là một biểu tượng được sử dụng để hiển thị vị trí hiện
nhỏ|Các loại con trỏ thông thường. Trong giao diện người dùng máy tính, **con trỏ** (tiếng Anh: _mouse cursor_ hoặc _mouse pointer_) là một biểu tượng được sử dụng để hiển thị vị trí hiện
thumb|right|Giao diện người dùng trên máy tính **Giao diện người sử dụng** (tiếng Anh: **User Interface**, viết tắt: UI) là điểm tương tác và giao tiếp giữa người và máy tính trong một thiết bị.
thumb|right|Giao diện người dùng trên máy tính **Giao diện người sử dụng** (tiếng Anh: **User Interface**, viết tắt: UI) là điểm tương tác và giao tiếp giữa người và máy tính trong một thiết bị.
**Thanh tác vụ** (**Taskbar**) là một phần của giao diện đồ hoạ người dùng có nhiều mục đích khác nhau. Taskbar thường hiển thị chương trình máy tính nào hiện đang chạy. Thiết kế và
**Thanh tác vụ** (**Taskbar**) là một phần của giao diện đồ hoạ người dùng có nhiều mục đích khác nhau. Taskbar thường hiển thị chương trình máy tính nào hiện đang chạy. Thiết kế và
**Thanh tác vụ** (**Taskbar**) là một phần của giao diện đồ hoạ người dùng có nhiều mục đích khác nhau. Taskbar thường hiển thị chương trình máy tính nào hiện đang chạy. Thiết kế và
thumb|Ảnh chụp màn hình của một phiên [[Bash (Unix shell)|Bash mẫu trong GNOME Terminal 3, Fedora 15]] thumb|Ảnh chụp màn hình của [[PowerShell|Windows PowerShell 1.0, chạy trên Windows Vista ]] **Giao diện dòng lệnh** (
thumb|Ảnh chụp màn hình của một phiên [[Bash (Unix shell)|Bash mẫu trong GNOME Terminal 3, Fedora 15]] thumb|Ảnh chụp màn hình của [[PowerShell|Windows PowerShell 1.0, chạy trên Windows Vista ]] **Giao diện dòng lệnh** (
thumb|[[Menu thả xuống gồm các lệnh thao tác tập tin trong chương trình trên Microsoft Windows.]] Trong điện toán và viễn thông thì **menu** là danh sách các tùy chọn hoặc các lệnh được trình
thumb|[[Menu thả xuống gồm các lệnh thao tác tập tin trong chương trình trên Microsoft Windows.]] Trong điện toán và viễn thông thì **menu** là danh sách các tùy chọn hoặc các lệnh được trình
thumb|right|Ảnh chụp màn hình trang chính của Wikipedia tiếng Việt tháng 12 năm 2020 **Ảnh chụp màn hình** (tiếng Anh: _screenshot_, _screen capture_ hay _screen grab_) là một hình ảnh thu lại những gì được
thumb|right|Ảnh chụp màn hình trang chính của Wikipedia tiếng Việt tháng 12 năm 2020 **Ảnh chụp màn hình** (tiếng Anh: _screenshot_, _screen capture_ hay _screen grab_) là một hình ảnh thu lại những gì được
thumb|right|Ảnh chụp màn hình trang chính của Wikipedia tiếng Việt tháng 12 năm 2020 **Ảnh chụp màn hình** (tiếng Anh: _screenshot_, _screen capture_ hay _screen grab_) là một hình ảnh thu lại những gì được
Trong điện toán, **mệnh lệnh** (_command_) là một chỉ thị tới chương trình máy tính hoạt động như một thông dịch viên của một số loại, để thực hiện một tác vụ cụ thể. Thông
Trong điện toán, **mệnh lệnh** (_command_) là một chỉ thị tới chương trình máy tính hoạt động như một thông dịch viên của một số loại, để thực hiện một tác vụ cụ thể. Thông
Trong điện toán, **mệnh lệnh** (_command_) là một chỉ thị tới chương trình máy tính hoạt động như một thông dịch viên của một số loại, để thực hiện một tác vụ cụ thể. Thông
**Bảng mạch đồ họa**, **Bộ chuyển đổi đồ hoạ** (_graphics adapter_), **thẻ đồ họa, card đồ họa (graphics card)**, **thẻ màn hình**, **card màn hình** là một bảng mạch mở rộng (expansion card) dùng để