Saya memulai proyek Java baru yang akan membutuhkan API tenang. Ini akan menjadi aplikasi bisnis SaaS yang melayani klien seluler.
Saya telah mengembangkan satu proyek dengan Java EE 6, tetapi saya tidak terlalu akrab dengan ekosistem, karena sebagian besar pengalaman saya ada di platform Microsoft.
Mana yang akan menjadi pilihan yang masuk akal untuk implementasi JAX-RS untuk proyek baru seperti yang dijelaskan?
Dilihat dari daftar Wikipedia , pesaing utama tampaknya adalah Jersey, Apache CXF, RESTeasy dan Restlet. Tetapi Perbandingan Implementasi JAX-RS yang dikutip di Wikipedia adalah dari 2008.
Kesan pertama saya dari beranda masing-masing adalah:
- CXF bertujuan untuk menjadi solusi yang sangat komprehensif (mengingatkan saya pada WCF di ruang Microsoft), yang membuat saya berpikir akan lebih kompleks untuk memahami, mengatur dan men-debug daripada yang saya butuhkan;
- Jersey adalah implementasi referensi dan mungkin merupakan pilihan yang baik, tetapi ini adalah warisan dari Sun dan saya tidak yakin bagaimana Oracle memperlakukannya (halaman pengumuman tidak berfungsi dan pemberitahuan komit terakhir dari 4 bulan lalu);
- RESTeasy berasal dari JBoss dan mungkin merupakan opsi yang solid, meskipun saya tidak yakin tentang kurva pembelajaran;
- Restlet tampaknya populer tetapi memiliki banyak sejarah, saya tidak yakin seberapa mutakhirnya di dunia Java EE 6 atau jika ia membawa pola pikir J2EE yang berat (seperti banyak konfigurasi XML).
Apa manfaat dari masing-masing alternatif ini? Bagaimana dengan kurva belajar? Dukungan fitur? Tooling (mis. NetBeans atau Eclipse wizards)? Bagaimana dengan kemudahan debugging dan juga penyebaran? Apakah ada di antara proyek ini yang lebih mutakhir daripada yang lain? Seberapa stabil mereka?