Antarmuka Pemrograman Aplikasi Windows: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Willysaef (bicara | kontrib)
Borgxbot (bicara | kontrib)
k Robot: Cosmetic changes
Baris 2:
 
Agar para pengembang perangkat lunak dapat menggunakan versi-versi Windows baru, Microsoft sering merilis ''[[Software Development Kit]]'' (SDK), yang terdiri atas dokumentasi dan alat bantu untuk membangun aplikasi-aplikasi Windows dengan teknologi terbaru Microsoft Windows.
== Versi-versi Windows API ==
Hampir pada setiap peluncuran versi baru Windows, Microsoft memperkenalkan API baru terhadap Windows API. Meskipun demikian, nama dari panggilan API tersebut tetap dipertahankan dan konsisten antara satu versi dengan versi yang lainnya, dan perubahan nama pun mungkin dilakukan jika memang terjadi di sana perubahan besar-besaran pada platform Windows itu sendiri. Microsoft pun kemudian akan mengubah nama keluarga Win32 API yang digunakan saat ini menjadi Windows API, dan membuatnya dapat digunakan oleh semua versi API sistem operasi Windows.
=== Win16 API ===
Windows 16 API atau Win16 API merupakan API yang digunakan pertama kali pada versi Windows 16-bit. Pada awalnya, Win16 API disebut dengan Windows API, tapi kemudian diubah menjadi Win16 dalam usaha Microsoft untuk membedakannya dengan versi Windows API yang lebih baru yang berjalan pada Windows 32-bit, Win32 API. Fungsi-fungsi Win16 API umumnya terdapat di dalam berkas-berkas inti sistem operasi: <code>kernel.exe</code> (atau <code>krnl286.exe</code> pada Windows for 286 atau <code>krnl386.exe</code> pada Windows yang berjalan pada Enhanced 386), <code>user.exe</code>, dan <code>gdi.exe</code>. Meskipun memiliki ekstensi EXE, sebenarnya mereka bukanlah berkas yang dapat dieksekusi (''executable''), melainkan mereka adalah DLL (''[[Dynamic Linking Library]]'').
=== Win32 API ===
Win32 API merupakan antarmuka pemrograman yang terdapat di dalam sistem operasi Windows 32-bit modern. Seperti halnya Win16 API, Win32 API juga sama mengimplementasikan fungsi-fungsi di dalam DLL sistem operasi. DLL inti yang dimiliki oleh Win32 API antara lain <code>kernel32.dll</code>, <code>user32.dll</code>, dan <code>gdi32.dll</code>. Win32 pertama kali muncul pada tahun [[1993]], saat Windows NT diluncurkan. Windows 95 juga menggunakan Win32 API, dan pada awalnya dikenal dengan sebutan '''Win32c''', di mana huruf "c" di sana merujuk kepada "''compatibility''", tapi istilah ini akhirnya ditinggalkan oleh Microsoft demi konsistensi nama "Win32".
 
Dalam [[Windows NT 4.0]] dan para penerusnya (termasuk di antaranya versi-versi terbaru Windows), panggilan-panggilan Win32 dieksekusi oleh dua modul, yakni <code>csrss.exe</code> (Client/Server Runtime SubSystem) di dalam [[modus pengguna]] dan <code>Win32K.sys</code> di dalam [[modus kernel]].
 
==== Win32s API ====
[[Win32s]] API merupakan sebuah ekstensi untuk keluarga Windows 3.1x yang mengimplementasikan sekumpulan kecil dari Win32 API untuk sistem-sistem tersebut, yang merupakan sistem operasi [[16-bit]]. Huruf "s" di sana merupakan singkatan dari "subset."
 
=== Win32 for 64-bit Windows ===
Win32 for 64-bit Windows, yang sebelumnya dikenal dengan sebutan '''Win64''', merupakan sebuah versi Windows API yang ditargetkan untuk digunakan oleh Windows versi 64-bit, yakni Windows XP Professional x64 Edition dan Windows Server 2003 x64 Edition (untuk prosesor-prosesor [[x86-64]]) dan Windows XP 64-bit Edition dan Windows Server 2003 for Itanium-series (untuk prosesor-prosesor [[IA-64]]). Dengan kemunculan Win64, [[Windows NT]] pun akhirnya masuk ke dalam pasar komputasi 64-bit, dan kompatibilitas aplikasi 32-bit pun masih terjaga. Akan tetapi, memang semua ''pointer'' memori dialamatkan dengan menggunakan alamat 64-bit, sehingga [[kode sumber]] program harus dicek ulang untuk melihat apakah ada masalah kompatibilitas dengan ''pointer'' aritmetika 64-bit dan jika perlu ditulis ulang. Tidak ada penambahan fungsi-fungsi baru yang spesifik ditambahkan ke dalam Windows versi 64-bit.
 
== Implementasi dari pihak ketiga ==
Meskipun implementasi Windows API dilindungi [[hak cipta]], di [[Amerika Serikat]], setiap ''vendor'' pihak ketiga dapat melakukan emulasi terhadap Windows dengan menyediakan API yang identik tanpa harus melanggar kode etik hak cipta.
 
Baris 43:
** ''[[Remote Procedure Call]]'' (RPC)
** dan masih banyak yang lainnya.
=== Web API ===
Penjelajah Web, [[Microsoft Internet Explorer]] juga menawarkan banyak API yang juga digunakan oleh banyak aplikasi, dan kini dianggap sebagai bagian dari Windows API. Program Internet Explorer memang telah dimasukkan dan diintegrasikan ke dalam Windows semenjak versi Windows 98, dan menyediakan beberapa layanan terkait kepada aplikasi. Khususnya, Web API ini digunakan untuk menyediakan:
* Sebuah kontrol penjelajah Web yang dapat dibenamkan ke dalam beberapa aplikasi, yang dikandung dalam <code>shdocvw.dll</code> dan <code>mshtml.dll</code>.
Baris 51:
* Dukungan [[XML]] (yang dikandung oleh komponen [[MSXML]]).
* Akses terhadap Windows Address Book.
=== [[Multimedia]] ===
Selain sistem dan Web, Microsoft juga membuat API yang digunakan untuk memfasilitasi fitur multimedia, yang disebut dengan [[DirectX]]. DirectX pertama kali diintegrasikan di dalam Windows semenjak [[Windows 95 OSR2]]. DirectX menyediakan beberapa layanan untuk permainan dan multimedia, termasuk di antaranya adalah:
* '''Direct3D''', sebagai alternatif terhadap OpenGL untuk mengakses perangkat keras akselerasi grafik 3 dimensi.
Baris 60:
* '''DirectShow''', yang membangun dan menjalankan ''multimedia'' generik. Kira-kira sebanding dan setara dengan ''[[GStreamer]] framework'' dan sering digunakan untuk melakukan ''rendering'' [[video]] di dalam ''game'' dan juga membuat beberapa ''multimedia player'' ([[Windows Media Player]] dibangun berdasarkan teknologi DirectShow). DirectShow juga tidak disarankan untuk mengembangkan ''game''.
* '''DirectMusic''', untuk mengakses perangkat [[MIDI|''Musical Instrumentation Device Interface'' (MIDI)]].
=== Interaksi antar Program ===
Windows API sebagian besar menumpukan dirinya untuk memfasilitasi interaksi antara sistem operasi dengan aplikasi. Untuk memfasilitas komunikasi sesama aplikasi-aplikasi Windows, Microsoft telah mengembangkan sekumpulan teknologi di dalam Windows API yang utama. Hal ini dimulai dari ''[[Dynamic Data Exchange]]'' (DDE), yang kemudian digantikan ''[[Object Linking and Embedding]]'' (OLE), dan kemudian kembali digantikan oleh ''[[Component Object Model]]'' (COM).