Ngôn ngữ và bộ công cụ lập trình là những chủ đề phức tạp. Người dùng có thể sử dụng máy tính trong một thời gian dài mà không suy nghĩ nhiều về vấn đề này.
Nhưng khi chuyển sang Linux, vấn đề này đột nhiên trở nên rất liên quan. Đó là bởi vì một ứng dụng tích hợp tốt với phần còn lại của desktop như thế nào thường phụ thuộc vào việc nó được tạo ra trong GTK+ hay Qt?
Phân biệt GTK+ và Qt
GTK+ và Qt là gì?
GTK+ và Qt là những bộ công cụ mà các nhà phát triển sử dụng để cấu trúc cách ứng dụng trông sẽ như thế nào. Những bộ công cụ này cung cấp các nút, thanh công cụ, thanh trượt và menu người dùng nhìn thấy khi sử dụng một ứng dụng.
Chúng giúp nhà phát triển tiết kiệm thời gian. Thay vì phải lập trình hoặc thiết kế kích thước, hình dạng và giao diện của mọi nút, nhà phát triển có thể để bộ công cụ đảm nhiệm công việc này, và có thêm thời gian để tập trung vào chức năng cốt lõi mà ứng dụng cung cấp, chẳng hạn như chỉnh sửa tài liệu hoặc phát nhạc.
Lịch sử của GTK+ và Qt
Haarvard Nord và Eirik Chambe-Eng bắt đầu phát triển Qt vào năm 1991. Tên gọi của công cụ này được phát âm giống từ “cute” (dễ thương) trong tiếng Anh.
Nord và Chambe-Eng sau đó đồng sáng lập Quasar Technologies, sau này trở thành Throll Tech, rồi đến Throlltech và hiện là The Qt Company.
Năm 1995, Throll Tech đã phát hành mã nguồn cho phiên bản Qt trên Linux. Nhưng điều này không đáp ứng định nghĩa “miễn phí” của Free Software Foundation vì mọi người không được phép phân phối lại code nếu họ thực hiện bất kỳ sửa đổi nào. Đến năm 2000, Throlltech đã cho phép người dùng tự do chỉnh sửa và phân phối lại code.
GTK+ bắt đầu với tư cách là GIMP Toolkit, được Peter Mattis tạo ra để thay thế cho giao diện hiện được sử dụng trong GNU Image Manipulation Program. Sau khi viết lại, bộ công cụ này đã trở thành GTK+ và được phát hành vào năm 1998. Không giống như Qt, mọi người có quyền tự do chỉnh sửa, thay đổi và chia sẻ GTK+ ngay từ đầu.
Mặc dù Qt về mặt nào đó là một bộ công cụ linh hoạt và dễ thích nghi hơn, nhưng một cộng đồng sử dụng GTK+ cũng đã được hình thành trong suốt những năm đầu tiên này. Đáng chú ý là tổ chức GNOME Foundation phi lợi nhuận hiện đang duy trì GTK+, trong khi The Qt Company dẫn dắt sự phát triển của Qt. Tuy nhiên, tại thời điểm này, không có bộ công cụ nào chiếm ưu thế hơn đối thủ còn lại.
Phần mềm và desktop dựa trên GTK
Nếu gần đây, bạn mới chuyển sang dùng Linux, thì có khả năng bạn sẽ sử dụng desktop dựa trên GTK, vì nhiều môi trường desktop Linux tốt nhất đều sử dụng GTK+.
Hãy chọn GNOME, tùy chọn mặc định trên các hệ điều hành Linux nổi bật và được thiết lập tốt như Ubuntu, Fedora và Debian. Nếu không, hãy xem xét những lựa chọn thay thế như MATE và Xfce, cả hai đều cung cấp giao diện gọn nhẹ và truyền thống hơn.
Đừng quên nhắc đến elementaryOS, một cái tên mới nhắm đến những người mới chuyển đổi sang Linux gần đây hơn là người dùng Linux lâu năm.
Nhiều ứng dụng mã nguồn mở phổ biến nhất tích hợp tốt hơn với desktop dựa trên GTK, như Firefox, Thunderbird, LibreOffice và GIMP, hay các ứng dụng đa nền tảng dựa trên GTK ít được biết đến hơn như AbiWord, Inkscape và Pidgin.
Mức độ đa dạng giữa các ứng dụng GTK+ đang ngày càng tăng. Phần mềm được thiết kế dành riêng cho GNOME có thể trông không phù hợp ngay cả trên các desktop dựa trên GTK khác. Đó là vì nguyên tắc Human Interface Design của GNOME không khuyến khích việc sử dụng các thanh menu và đưa ra các thay đổi ít phổ biến khác.
Nhiều ứng dụng dành cho elementaryOS không có sẵn cho các desktop khác.
Phần mềm và desktop dựa trên Qt
KDE Plasma là môi trường desktop đầy đủ tính năng lâu đời nhất dành cho Linux. Sau hơn hai thập kỷ, cộng đồng KDE tiếp tục duy trì desktop Linux giàu tính năng nhất này.
Với rất ít desktop dựa trên Qt khác, nhiều ứng dụng Qt được thiết kế riêng cho desktop Plasma và thậm chí có thể phụ thuộc vào các thành phần KDE khác nhau. Vì lý do này, tích hợp phần mềm KDE là một trong những tính năng tốt nhất của bất cứ desktop nào.
Người dùng có thể thực hiện các chỉnh sửa giao diện tác động đến mọi ứng dụng hoặc có thể điều chỉnh một ứng dụng cụ thể cho đến khi cảm thấy hài lòng. Điều đó có nghĩa desktop Plasma không phải là desktop duy nhất sử dụng Qt. LXQt là một phương án thay thế gọn nhẹ và đơn giản hơn.
Dù một số phần mềm KDE là đa nền tảng, nhưng các chương trình này chỉ được cộng đồng Linux biết đến. Các ngoại lệ đáng chú ý nhất có thể là Krita và digiKam.
Không phải tất cả phần mềm Qt được thiết kế riêng cho KDE. Các chương trình này bao gồm trình phát media VLC và ứng dụng Scribus.
Sự khác biệt giữa GTK+ và Qt là gì?
Có sự khác biệt về kỹ thuật giữa GTK+ và Qt, nhưng hầu hết những khác biệt này được các nhà phát triển quan tâm nhiều hơn là người dùng thông thường. Nhờ có những theme tuyệt vời mà nhiều ứng dụng GTK+ trên desktop Plasma Qt trông cũng giống như trên desktop GTK.
Trong khi đó, người dùng cũng có thể cài đặt Scribus hoặc VLC trên desktop dựa trên GTK mà không bao giờ nhận ra rằng có một sự khác biệt ẩn sau đó.
Hiện tượng không tương thích thỉnh thoảng cũng xuất hiện. Các ứng dụng có thể mở một cửa sổ chọn file khác khi người dùng đang tìm kiếm một file để mở. Các tinh chỉnh trên theme hệ thống có thể áp dụng cho ứng dụng này nhưng lại không xuất hiện trên ứng dụng khác.