Dari Presentasi AppleApple telah memperbarui dokumentasi pengembang. Bagian
"Apa yang Baru?" dikhususkan untuk perubahan kunci di macOS 10.14: skema warna gelap Mode Gelap, teknologi Buat ML baru untuk membuat dan melatih jaringan saraf pada Mac, Mac App Store yang diperbarui dengan antarmuka pemrograman baru untuk penilaian dan ulasan (untuk macOS 10.14 SDK), kerangka kerja jaringan baru Kerangka Kerja Jaringan , yang menyediakan akses langsung ke protokol jaringan TLS, TCP dan UDP dari aplikasi, kerangka kerja Natural Language untuk menganalisis ucapan alami dan mengisolasi metadata khusus ke bahasa tertentu darinya (kerangka kerja tersebut dapat digunakan bersama dengan Create ML untuk pelatihan jaringan saraf).
Tetapi hal yang paling menarik disembunyikan di basement, yaitu di bagian Deprecations and Removed APIs. Disebutkan ditinggalkannya teknologi OpenGL dan OpenCL yang "usang". Teknologi ini dianugerahi "tanda hitam", yaitu, Apple sangat mencegah penggunaan OpenGL dan OpenCL dalam pengembangan produk baru.
"Apple secara berkala menambahkan makro penghentian ke API untuk menunjukkan bahwa API ini seharusnya tidak lagi digunakan dalam pengembangan aktif," kata dokumentasi. - Ketika usang, ini tidak berarti akhir langsung dari antarmuka perangkat lunak ini. Ini menandai awal masa tenggang untuk transisi dari API ini ke alternatif yang lebih baru dan lebih modern yang sedang diganti. "
Apple mencatat bahwa API usang biasanya tetap ada di sistem dan dapat digunakan untuk "waktu yang masuk akal" setelah rilis ketika mereka tidak digunakan lagi. Namun, pengembangan aktif pada mereka berhenti, dan API hanya menerima pembaruan keamanan kecil atau kesalahan kritis lainnya. Pengembang diperingatkan bahwa
API usang dapat sepenuhnya dihapus dari versi masa depan sistem operasi .
Apple merekomendasikan untuk menyingkirkan API usang dalam kodenya sesegera mungkin. Minimal, kode baru tidak boleh menggunakan OpenGL dan OpenCL. Dan jika beberapa kode lama menggunakan antarmuka ini, maka perlu diganti secepat mungkin.
Alternatif: Logam
Aplikasi yang dibangun menggunakan OpenGL dan OpenCL akan terus berjalan di macOS 10.14, tetapi ini sudah teknologi usang. “Game dan aplikasi grafis menggunakan OpenGL sekarang harus menggunakan Metal. Demikian juga, aplikasi yang menggunakan OpenCL untuk tugas komputasi sekarang harus menggunakan Metal dan Metal Performance Shaders. "
Logam - antarmuka perangkat lunak baru dikembangkan dari awal tanpa kompatibilitas ke belakang. Menurut Apple, mereka memberikan akses yang lebih baik ke prosesor grafis modern di iOS, macOS, serta perangkat tvOS: “Metal menghindari overhead yang melekat pada teknologi yang sudah ketinggalan zaman dan mewakili fungsi pemrosesan grafik terbaru. Grafis terpadu dan dukungan komputasi dari Metal memungkinkan aplikasi untuk memanfaatkan teknologi visualisasi terbaru. Untuk informasi tentang pengembangan aplikasi dan game menggunakan Metal, lihat dokumentasi pengembang untuk
Metal ,
Metal Performance Shaders, dan
MetalKit . "
Untuk informasi tentang migrasi kode OpenGL ke Logam, lihat
Mencampur Logam dan Rendering OpenGL dalam Tampilan .
Pengembang di Hacker News
skeptis tentang Apple. Secara umum, konsensusnya adalah ini: perusahaan ini benar-benar membenci permainan komputer, atau sangat menderita dari
sindrom penolakan terhadap perkembangan orang lain (sindrom NIH). Ini adalah posisi dalam budaya sosial, perusahaan atau organisasi yang menghindari penggunaan perkembangan pihak ketiga karena berbagai alasan: ketakutan akan pelanggaran paten, kesalahpahaman tentang pekerjaan orang lain, keengganan untuk mengenali atau menghargai karya orang lain, kecemburuan atau sebagai bagian dari “perang untuk wilayah” yang lebih luas. Diduga, teknologi Metal menegaskan keberadaan sindrom NIH.
Komentator juga ingat bahwa karena dukungan yang ceroboh untuk OpenGL, proyek Elite Dangerous untuk Mac baru
- baru ini
harus ditutup .
Di sisi lain, saat ini sebagian besar game dibuat di Unity3D, Unreal Engine dan mesin lain yang mendukung Metal. Nah, siapa pun yang menginvestasikan waktu dan uang untuk pengembangan OpenGL / OpenCL adalah yang harus disalahkan.