Komuniti Java sedang giat membincangkan pelbagai pendekatan untuk pengedaran aplikasi, dengan tumpuan khusus kepada jlink dan penyelesaian alternatif seperti native-image dari GraalVM. Walaupun jlink menawarkan keupayaan penciptaan runtime modular, pembangun menyuarakan pendapat yang berbeza mengenai kepraktisannya berbanding penyelesaian lain.
Pendekatan jlink
Alat jlink Java membolehkan pembangun mencipta imej runtime tersuai dengan memilih modul tertentu yang diperlukan untuk sesuatu aplikasi. Ini menghasilkan saiz yang lebih kecil berbanding penghantaran JDK lengkap. Walau bagaimanapun, sesetengah pembangun telah menunjukkan batasan dalam format outputnya. Seperti yang dinyatakan oleh seorang pembangun:
Saya berharap mereka akan membuatnya menghasilkan fail statik tunggal. Golang sangat hebat dalam aspek itu... Sekarang ia menghasilkan direktori yang serupa dengan JRE sendiri, jadi kurang bermakna bagi saya, tiada siapa yang kisah tentang saiz direktori, tetapi ergonomik fail tunggal adalah perkara yang penting. Sumber
Penyelesaian Alternatif
Komuniti telah mengetengahkan beberapa alternatif untuk menangani batasan pengedaran fail tunggal:
- jpackage : Alat ini boleh menggunakan imej output jlink sebagai input untuk mencipta format pengedaran yang lebih mudah
- ** GraalVM** : Menawarkan keupayaan imej natif, walaupun sesetengah ciri sebelum ini hanya untuk komersial
- ** OpenJ9** : Satu lagi alternatif untuk mencipta pengedaran yang lebih padat
Pelaksanaan Dunia Sebenar
Pelaksanaan praktikal jlink sudah digunakan dalam persekitaran pengeluaran. Sebagai contoh, sesetengah organisasi mengintegrasikannya ke dalam proses pembinaan Docker untuk aplikasi Java, membuktikan kesesuaiannya dalam penempatan berkontena.
Perkembangan Terkini
Perkembangan penting yang dicatatkan dalam perbincangan ialah keupayaan imej natif GraalVM kini boleh digunakan secara percuma, seperti yang disahkan oleh terma pelesenan baharu Oracle. Ini membuka lebih banyak pilihan untuk pembangun yang mencari penyelesaian pengedaran fail tunggal.
Pertimbangan Platform Silang
Alat jlink mengekalkan keupayaan platform silang Java, membolehkan pembangun menghasilkan imej runtime untuk sistem operasi yang berbeza dari satu mesin pembinaan. Ciri ini sangat berharga untuk pasukan yang menguruskan penempatan pelbagai platform.
Perbincangan ini mendedahkan bahawa walaupun jlink memenuhi tujuannya untuk penciptaan runtime modular, ekosistem Java terus berkembang dengan alat seperti jpackage dan GraalVM yang menangani keperluan penempatan yang berbeza. Pilihan antara alat-alat ini sebahagian besarnya bergantung kepada keperluan projek tertentu dan keutamaan pengedaran.
Sumber: Artikel Asal Perbincangan Komuniti