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?
Jawaban:
Saya telah tumbuh untuk mencintai Dropwizard untuk solusi keseluruhan
Daripada menggunakan pendekatan wadah aplikasi yang besar, Dropwizard menganjurkan solusi ringan yang menawarkan siklus pengembangan yang jauh lebih cepat. Pada dasarnya, ini memberikan lem untuk kerangka kerja terkenal berikut:
Kombinasi hal di atas, ditambah dengan pendekatan yang kuat untuk pengujian fungsional, memberikan solusi lengkap untuk membuat layanan Anda berjalan dengan cepat.
Ya? Dan pertanyaan JAX-RS yang saya tanyakan ...
Anda akan melihat bahwa pilihan mereka adalah Jersey, referensi implementasi JAX-RS. Menjadi seorang pria yang RESTEasy saya pikir ini akan menjadi masalah, tetapi tidak ada kurva belajar. Keduanya sebagian besar dipertukarkan. Namun, saya akan mengatakan bahwa klien Jersey menawarkan antarmuka yang lancar untuk membuat tes. Contohnya adalah ...
sumber
Anda dapat melihat pertanyaan ini , yang membahas beberapa pengalaman dari pengembang lain.
Saya pribadi dapat merekomendasikan Jersey. Ini sangat mudah digunakan, dan memiliki pengikut yang baik karena ini adalah implementasi referensi. Ini juga berarti bahwa itu akan dipertahankan dan didukung untuk sementara waktu.
sumber