Konten dihapus Konten ditambahkan
Penambahan sedikit sejarah tentang GTK 4
Tag: pengguna baru menambah pranala merah VisualEditor Suntingan perangkat seluler Suntingan peramban seluler
Reno-Sifana (bicara | kontrib)
k Perbaikan Tata Bahasa
 
(24 revisi perantara oleh 5 pengguna tidak ditampilkan)
Baris 8:
| developer = The GNOME Project, eXperimental Computing Facility (XCF)
| released = {{start date and age|1998|04|14}}
| latest release version = 4.02.30
| latest release date = {{release date|2021|0203|0730}}<ref name="latest stable">{{cite mailing list
| url = https://mail.gnome.org/archives/ftp-release-list/2021-FebruaryMarch/msg00015msg00201.html
| title = gtk 4.02.30
| date = 730 FebruariMaret 2021
| accessdate = 221 FebruariApril 2021
| last = Clasen
| first = Matthias
Baris 29:
| programming language = [[C (bahasa pemrograman)|C]], [[CSS]]
| operating system = [[Linux]], [[Mirip Unix]], [[Microsoft Windows|Windows]], [[OS X]]
| genre = [[WidgetPeralatan toolkitgawit]]
| license = [[LGPL|LGPLv2.1+]]
| website = {{URL|https://www.gtk.org/}}
}}
 
'''GTK''' atau '''GIMP Toolkit''' adalah sebuah [[widgetPeralatan gawit|toolkit gawit]] (''widget toolkit'') [[lintas platform]] untuk menghasilkan [[GUI]]. GTK adalah salah satu toolkit terpopularterpopuler untuk [[X Window System|Sistem X Window]] dan [[Wayland]], bersama-sama dengan [[Qt]].
 
GTK mulanya dibuat untuk [[GIMP|GNU Image Manipulation Program]], sebuah penyunting grafik raster, pada 1997 oleh [[Spencer Kimball]] dan [[Peter Mattis]], anggota [[XCF|eXperimental Computing Facility]] di [[University of California, Berkeley]].
Baris 41:
 
== Desain ==
{{main|Daftar ikatan bahasa untuk GTK}}{{Pemutakhiran|date=Maret 2021|reason=Untuk bagian "platform" dan "tampilan dan citarasa" perlu dimutakhirkan agar sesuai dengan perkembangan terbaru}}
GTK ditulis di dalam [[bahasa pemrograman C]], dan desainnya menggunakan [[sistem objek]] [[GObject]]. [[Platform]] [[GNOME]] menyediakan [[language binding]] untuk:
GTK ditulis di dalam [[bahasa pemrograman C]], dan desainnya menggunakan [[sistem objek]] [[GObject]]. Berikut adalah beberapa ''[[language binding]]'' (ikatan bahasa) untuk GTK:<ref>{{Cite web|url=https://www.gtk.org/docs/language-bindings/index|title=Language Bindings|website=The GTK Project|access-date=23 Februari 2021|archive-date=2023-06-25|archive-url=https://web.archive.org/web/20230625053241/https://www.gtk.org/docs/language-bindings/index|dead-url=no}}</ref>
* [[C++]] ([[gtkmm]])
* [[PerlGJS (perangkat lunak)|GJS]] ([[Gtk2-perlJavaScript]])
* [[Rubygotk3]] ([[Ruby-gnome2Golang|Go]])
* [[PythonGtk-rs]] ([[Rust (bahasa pemrograman)|PythonRust]] ([[PyGTK]] / PyGObject untuk GTK+ 3)
* [[C++gtk2-perl]] ([[gtkmmPerl]])
* [[Java (bahasa pemrograman)|Java]] ([[Java-gnome]]) (tidak tersedia untuk [[Microsoft Windows]])
* [[CGtkD]] Sharp([[D (bahasa pemrograman)|C#]] ([[Gtk Sharp|Gtk#D]])
* [[PHPgtkmm]] ([[PHP-GTKC++]])
* [[PyGObject]] ([[Python (bahasa pemrograman)|Python]])
* Vala ([[Vala (bahasa pemrograman)|Vala]])
 
Yang lainnya telah menuliskan beberapa binding untuk banyak [[bahasa pemrograman]] lainnya (termasukseperti [[AdaC (bahasa pemrograman)|AdaSharp]], [[D (bahasa pemrograman)|D]]), [[Fortran]], [[Haskell (bahasa pemrograman)|Haskell]], [[Java]], [[Lua (bahasa pemrograman)|Lua]], [[Ocaml]], [[Pascal (bahasa pemrograman)|Pascal]], [[Pike (bahasa pemrograman)|Pike]], [[JavaScriptPHP]] <ref>http://svn.gnome.org/viewvc/seed/</ref><ref>http://svn.gnome.org/viewvc/gjs/</ref><ref>http://svn.gnome.org/viewvc/gscript/</ref>, [[TclRuby (bahasa pemrograman)|TclRuby]], [[EuphoriaTcl (bahasa pemrograman)|EuphoriaTcl]], dan semua[[Euphoria (bahasa pemrograman [[.NET Framework)|.NETEuphoria]]). [[GTK-server]] menyediakan antarmuka [[komunikasi antar-proses|IPC]] bagi GTK yang memungkinkannya digunakan dari beraneka bahasa dengan kapabilitas [[Input/output|I/O]], termasuk [[shell script]].<ref>{{Cite web |url=http://www.gtk.org/language-bindings.html |title=Salinan arsip |access-date=2009-04-21 |archive-date=2011-04-02 |archive-url=https://web.archive.org/web/20110402012219/http://www.gtk.org/language-bindings.html |dead-url=yes }}</ref> Binding untuk banyak bahasa dapat dibangkitkan secara automatik melalui GObject-introspection.
 
Salah satu languange binding untuk GTK yang menggunakan GObject-introspection diantaranya PyGObject, Vala, GJS dan seed.
Bahasa-bahasa purpose-written untuk GObject dan oleh karenanya juga, GTK menyertakan [[Vala (bahasa pemrograman)|Vala]] dan GOB.
 
Seperti [[Qt]], tetapi tidak sama dengan beberapa toolkit widget lainnya, GTK tidak didasarkan pada [[Intrinsics|Xt]]. Ini memungkinkan fleksibilitas dan memungkinkan GTK dapat digunakan pada semua platform yang tidak memiliki [[Sistem X Window]]. Tetapi, tanpa kebergantungan ini, GTK memiliki kelemahan akses terhadap basis data [[X resources]], cara tradisional untuk mengkustomisasi aplikasi-aplikasi [[X11]].
Baris 62 ⟶ 64:
 
=== Tampilan dan citarasa ===
Pengguna-akhir dapat mengonfigurasi tampilan toolkit-nya, hingga kepada pemberian sejumlah ''mesin'' tampilan yang berbeda. Mesin-mesin yang ada yang berupaya mengemulasi tampilan toolkit atau platform popularpopuler lainnya seperti [[Windows 95]], [[Motif (widget toolkit)|Motif]], [[Qt (toolkit)|Qt]] dan [[NEXTSTEP]].
 
== Sejarah ==
Baris 69 ⟶ 71:
Mulai versi 2.8, GTK+ 2 bergantung kepada pustaka [[Cairo (graphics)|Cairo]] untuk merender grafik vektor pada GTK+ 2.
 
GTK+ 3.0 merupakan pembaruan besar yang dirilis pada bulan Februari 2011 sebagai pengganti dari GTK+ 2. Fitur-fitur utama barunya mencakup pembaruan penanganan perangkat input, API tema baru menggunakan [[Cascading Style Sheets|CSS]] untuk membuat tema, dukungan untuk memilih beberapa backend untuk GDK saat runtime, beberapa widget baru, dan masih banyak lagi.<ref>{{Cite web|title=February 2011 – GTK Development Blog|url=https://blog.gtk.org/2011/02/|language=en-US|access-date=2021-02-23|archive-date=2023-05-18|archive-url=https://web.archive.org/web/20230518234813/https://blog.gtk.org/2011/02/|dead-url=no}}</ref>
 
Huruf '+' pada GTK+ dihilangkan menjadi GTK saja pada saat [[Hackathon|Hackaton]].<ref>{{Cite web|title=Rename some references to GTK+ (d080be3e) · Commits · GNOME / gtk|url=https://gitlab.gnome.org/GNOME/gtk/commit/d080be3e5091c98d5171063a95d55c01170881f3|website=GitLab|language=en|access-date=2021-02-23}}</ref>
 
Huruf '+' pada GTK+ dihilangkan menjadi GTK saja pada saat [[Hackathon|Hackaton]].<ref>{{Cite web|title=Rename some references to GTK+ (d080be3e) · Commits · GNOME / gtk|url=https://gitlab.gnome.org/GNOME/gtk/commit/d080be3e5091c98d5171063a95d55c01170881f3|website=GitLab|language=en|access-date=2021-02-23|archive-date=2021-02-25|archive-url=https://web.archive.org/web/20210225124433/https://gitlab.gnome.org/GNOME/gtk/commit/d080be3e5091c98d5171063a95d55c01170881f3|dead-url=no}}</ref>
GTK 4 yang merupakan versi terbaru dari GTK, dirilis pada Desember 2020. GTK 4 menghadirkan fitur-fitur baru seperti perenderan menggunakan [[Vulkan (API)|Vulkan]], pembaruan untuk API [[Drag and Drop|drag-and-drop]], dukungan untuk shaders, dan masih banyak lagi.<ref>{{Cite web|title=GTK 4.0 – GTK Development Blog|url=https://blog.gtk.org/2020/12/16/gtk-4-0/|language=en-US|access-date=2021-02-23}}</ref>
 
GTK 4 yang merupakan versi terbaru dari GTK, dirilis pada Desember 2020. GTK 4 menghadirkan fitur-fitur baru seperti perenderan menggunakan [[Vulkan (API)|Vulkan]], pembaruan untuk API [[Drag and Drop|drag-and-drop]], dukungan untuk shaders, dan masih banyak lagi.<ref>{{Cite web|title=GTK 4.0 – GTK Development Blog|url=https://blog.gtk.org/2020/12/16/gtk-4-0/|language=en-US|access-date=2021-02-23|archive-date=2023-05-28|archive-url=https://web.archive.org/web/20230528122452/https://blog.gtk.org/2020/12/16/gtk-4-0/|dead-url=no}}</ref>
 
== GTK hello world ==
=== Sampel 1 ===
<sourcesyntaxhighlight lang="c">
#include <gtk/gtk.h>
 
Baris 91 ⟶ 92:
return 0;
}
</syntaxhighlight>
</source>
=== Sampel 2 ===
<sourcesyntaxhighlight lang="c">
#include <gtk/gtk.h>
 
Baris 106 ⟶ 107:
return 0;
}
</syntaxhighlight>
</source>
 
== Penggunaan ==
Baris 142 ⟶ 143:
* [[Pidgin (software)|Pidgin]] - Pesan instan
* [[VMware Player]] - Mesin virtual
* [[Wireshark]] - Analis, dekode, dan capture paket (diganti dengan [[Qt]] sejak versi 1.11.0<ref>{{Cite web|title=We’re switching to Qt. {{!}} Sniff free or die|url=https://blog.wireshark.org/2013/10/switching-to-qt/|language=en-US|access-date=2021-02-23|archive-date=2013-10-19|archive-url=https://web.archive.org/web/20131019164809/https://blog.wireshark.org/2013/10/switching-to-qt/|dead-url=no}}</ref>)
* [[Wireshark]] - Analis, dekode, dan capture paket
 
== Lihat pula ==
* [[Daftar toolkit widget|Daftar toolkit gawit]]
* [http://en.wiki-indonesia.club/wiki/Portal:Free_software Portal perangkat lunak bebas] {{Webarchive|url=https://web.archive.org/web/20230625000052/https://en.wiki-indonesia.club/wiki/Portal:Free_software |date=2023-06-25 }}
* [http://en.wikibooks.org/wiki/X_Window_Programming/GTK+ Buku wiki tentang GTK] {{Webarchive|url=https://web.archive.org/web/20230118211705/https://en.wikibooks.org/wiki/X_Window_Programming/GTK%2B |date=2023-01-18 }}
 
== Referensi ==
Baris 153 ⟶ 154:
 
== Pranala luar ==
* [http://www.gtk.org/ Situs web GTK] {{Webarchive|url=https://web.archive.org/web/20110222211023/http://www.gtk.org/ |date=2011-02-22 }}
* [http://expander.gtk.org/ Planet GTK] {{Webarchive|url=https://web.archive.org/web/20080913233410/http://expander.gtk.org/ |date=2008-09-13 }}
* [http://www.gtk-apps.org/ Daftar aplikasi GTK] {{Webarchive|url=https://web.archive.org/web/20160624083231/http://gtk-apps.org/ |date=2016-06-24 }}
 
[[Kategori:GTK| ]]
[[Kategori:Projek GNU]]
[[Kategori:Perangkat lunak projek GNU]]
[[Kategori:Toolkit widget]]
[[Kategori:Antarmuka pemrograman aplikasi]]
[[Kategori:Pustaka dan toolkit pengembangan bebas]]
[[Kategori:Pustaka berbasis-X]]
[[Kategori:Perangkat lunak bebas yang diprogram dengan C]]
[[Kategori:PerangkatPeralatan lunak antar-platformgawit]]
[[Kategori:Perangkat lunak lintas platform]]
[[Kategori:ToolkitPustaka widgetGNOME]]