Skip to main content

Java Framework Quarkus

 

Tujuan Awal Dibuatnya Quarkus

Quarkus dikembangkan oleh Red Hat dengan tujuan utama untuk mengoptimalkan Java dalam lingkungan cloud-native dan serverless, terutama pada platform seperti Kubernetes dan AWS Lambda. Framework ini dirancang agar Java lebih kompetitif dalam ekosistem microservices, yang sebelumnya lebih didominasi oleh bahasa seperti Go dan Node.js karena masalah performa dan konsumsi memori pada Java tradisional.

Beberapa tujuan utama Quarkus:

  1. Startup Time Cepat: Meminimalkan waktu startup aplikasi dengan teknik seperti GraalVM Native Image.

  2. Memory Footprint Rendah: Mengurangi penggunaan memori dibandingkan Java tradisional.

  3. Developer Productivity: Menyediakan pengalaman pengembangan yang lebih cepat dan fleksibel dengan live reload dan Dev Services.

  4. Integrasi dengan Kubernetes dan Cloud-Native Environments: Dibangun dengan pendekatan container-first.

  5. Optimasi untuk GraalVM dan OpenJDK: Bisa dijalankan dalam mode JVM atau native.

     

Tim Pengembang Quarkus

Quarkus dikembangkan oleh Red Hat, perusahaan yang juga berada di balik Jakarta EE, WildFly, dan Hibernate. Framework ini pertama kali dirilis pada 2019 sebagai bagian dari upaya Red Hat untuk membawa Java ke cloud-native dan serverless computing.

Meskipun Red Hat adalah pengembang utama, Quarkus adalah proyek open-source dengan kontribusi dari komunitas global. Beberapa anggota inti dalam pengembangan Quarkus antara lain:

Core Team dari Red Hat:

  1. Emmanuel Bernard - Chief Architect Quarkus

  2. Gavin King - Pencipta Hibernate & Kontributor Quarkus

  3. Stéphane Epardaud - Principal Software Engineer

  4. Georgios Andrianakis - Senior Software Engineer

  5. Clement Escoffier - Ahli Reactive Programming & Quarkus Developer

  6. Loic Mathieu - Software Engineer di Quarkus

  7. Max Rydahl Andersen - Principal Software Engineer, Developer Experience

Selain itu, ada banyak kontributor komunitas yang aktif dalam pengembangan fitur, bug fixes, dan dokumentasi. Kamu bisa melihat daftar lengkap kontributor di GitHub Quarkus:
🔗 https://github.com/quarkusio/quarkus/graphs/contributors

Apakah kamu tertarik untuk berkontribusi dalam proyek Quarkus juga?

 

Perbedaan Quarkus vs Spring vs Jakarta EE (JEE)

AspekQuarkusSpring BootJakarta EE (JEE)
Tujuan UtamaCloud-native, serverless, microservicesGeneral-purpose, enterprise apps & microservicesEnterprise apps, monoliths, dan microservices
Startup TimeSangat cepat (optimized for GraalVM)Cukup cepat, tapi lebih lambat dari QuarkusPaling lambat (tradisional)
Memory UsagePaling rendah (footprint kecil)Lebih besar dari QuarkusPaling besar
DeploymentKubernetes-first, mendukung native imageBisa untuk microservices, tapi lebih beratFokus pada aplikasi enterprise besar
Reactive SupportBuilt-in (Vert.x, Mutiny)Mendukung (Spring WebFlux)Tidak terlalu fokus pada reaktif
Dev ExperienceLive reload bawaan, lightweightPerlu tambahan DevToolsCenderung lebih berat
Dependency Injection (DI)Arc (lebih ringan dari Spring DI)Spring Framework (lebih kompleks)CDI (standar EE)
Native CompilationDidukung penuh (GraalVM Native Image)Terbatas (Spring Native, masih berkembang)Tidak mendukung

Kesimpulan

  • Quarkus → Pilihan terbaik untuk cloud-native dan serverless applications yang butuh start-up cepat dan konsumsi memori rendah.

  • Spring Boot → Fleksibel dan masih menjadi standar industri untuk enterprise applications, dengan dukungan ekosistem yang luas.

  • Jakarta EE (JEE) → Cocok untuk enterprise-level monoliths dengan pendekatan lebih konvensional dan berbasis standar industri.

Jika kamu ingin membangun microservices yang ringan dan cepat untuk cloud-native environments, Quarkus lebih unggul. Namun, Spring Boot masih lebih populer dan matang dalam dunia enterprise.

 

Jawaban apakah Quarkus lebih unggul dari Spring tergantung pada use case dan kebutuhan proyek. Keduanya memiliki keunggulan masing-masing, dan pemilihan framework tergantung pada faktor seperti performansi, ekosistem, kompatibilitas, dan pengalaman pengembang.

📌 Keunggulan Quarkus dibanding Spring

AspekQuarkus 🏆Spring Boot
Startup TimeSuper cepat (ms) dengan native image🚀 Cepat, tapi lebih lambat dari Quarkus
Memory Usage🏋️ Lebih ringan (50-75% lebih hemat)🔋 Lebih besar (karena JVM dan banyak fitur bawaan)
Cloud-Native🌐 Dioptimalkan untuk Kubernetes & serverless🌍 Bisa berjalan di cloud tapi tidak se-optimal Quarkus
Native CompilationDukungan penuh untuk GraalVM🔧 Ada Spring Native, tapi masih dalam tahap berkembang
Reactive Support🔥 Built-in support (Mutiny, Vert.x)⚡ Spring WebFlux (butuh konfigurasi tambahan)
Live Coding🎯 Instant reload bawaan tanpa restart aplikasi🔄 Harus pakai Spring DevTools
Footprint🏆 Lebih kecil, ideal untuk container🔋 Lebih besar, memerlukan tuning
Dependency Injection (DI)🌿 Lebih ringan (Arc, berbasis CDI)🌱 Lebih kompleks (Spring DI)

📌 Keunggulan Spring dibanding Quarkus

AspekQuarkusSpring Boot 🏆
Ekosistem & Library📦 Masih berkembang🏆 Ekosistem terbesar (Spring Cloud, Spring Security, dll.)
Enterprise Adoption🚀 Masih baru, belum banyak digunakan di perusahaan besar🏢 Sudah jadi standar industri untuk enterprise apps
Community Support📈 Berkembang cepat, tapi masih kalah luas👨‍💻 Dukungan komunitas dan dokumentasi lengkap
Integrasi dengan Database🔗 Mendukung Hibernate, Panache, dll.🏆 Spring Data JPA lebih matang
Learning Curve📖 Lebih simpel, terutama untuk microservices📚 Banyak materi pembelajaran, cocok untuk pemula

Kesimpulan: Kapan Menggunakan Quarkus atau Spring?

Use CasePilih QuarkusPilih Spring Boot
Microservices Cloud-NativeIdeal, karena startup cepat & memory kecil✅ Bisa, tapi kurang optimal dibanding Quarkus
Serverless (AWS Lambda, GCP Functions)Lebih cocok, karena startup time super cepat❌ Tidak terlalu optimal
Enterprise Monolithic Apps❌ Masih bisa, tapi kurang cocokPilihan terbaik, ekosistem lengkap
Reactive ProgrammingDukungan built-in (Mutiny, Vert.x)Spring WebFlux mendukung, tapi perlu lebih banyak konfigurasi
Banyak Third-Party Dependencies❌ Ekosistem masih berkembangLebih unggul dengan banyak integrasi Spring Cloud
Proyek baru tanpa beban legacy✅ Bisa jadi pilihan✅ Masih dominan di industri

💡 Jadi, Mana yang Lebih Unggul?

  • Jika kamu butuh microservices cloud-native, startup cepat, dan ringan, Quarkus lebih unggul.

  • Jika kamu ingin fleksibilitas, ekosistem luas, dan standar industri yang matang, Spring Boot tetap yang terbaik.

Jika proyekmu berorientasi pada cloud-native, Kubernetes, dan serverless, Quarkus adalah pilihan yang lebih modern. Namun, untuk aplikasi enterprise yang butuh stabilitas dan ekosistem luas, Spring Boot masih menjadi raja.

Mau coba Quarkus atau tetap dengan Spring Boot? 🚀

 

Sumber Belajar Quarkus

Untuk memulai belajar Quarkus, berikut beberapa sumber terpercaya yang dapat Anda manfaatkan:

1. Dokumentasi Resmi Quarkus

Dokumentasi ini menyediakan panduan lengkap, mulai dari dasar hingga fitur-fitur lanjutan. Anda dapat memulai dengan panduan "Getting Started" yang akan membantu Anda membuat aplikasi pertama menggunakan Quarkus.

2. Tutorial Video

Belajar melalui video dapat mempermudah pemahaman konsep dan praktik. Berikut beberapa tutorial video yang direkomendasikan:​

  • Membuat CRUD Sederhana di Quarkus Menggunakan Entity ORM (Bahasa Indonesia):

  • Quarkus Full Course Tutorial:

  • Quarkus for Beginners:

3. Kursus Online

Jika Anda mencari kursus yang lebih terstruktur, beberapa platform e-learning menawarkan kursus Quarkus. Pastikan untuk memilih kursus dari instruktur yang berpengalaman dan memiliki ulasan positif.​

4. Artikel dan Blog

Membaca artikel dari praktisi dapat memberikan wawasan tambahan. Salah satu artikel yang direkomendasikan adalah:​

5. Proyek Contoh

Mempelajari kode dari proyek nyata dapat membantu pemahaman Anda. Repositori berikut menyediakan contoh aplikasi Quarkus dasar:Microsoft Learn+1https://www.tempmail.us.com+1

Semoga sumber-sumber di atas membantu Anda dalam memulai perjalanan belajar Quarkus. Selamat belajar!

 

 

 

 

 

 

Comments

Popular posts from this blog

Numpang Kerja Remote dari Bandung Creative Hub

Semalam kemarin (09 Januari 2019) tidak sengaja kami sekeluarga lewat Bandung Digital Hub saat pulang dari Fish Wow Cheeseee  yang di Jl. Lombok. Bandung Digital Hub ini sendiri berlokasi tidak jauh dari dari tempat kami makan tersebut, yaitu berlokasi di Jl. Laswi No.7, Kacapiring, Batununggal, Kota Bandung, Jawa Barat 40271. Berhubung untuk bulan Januari 2019 ini sedang tidak masuk ke kantor maka saya putuskan untuk besoknya (hari ini 09 Januari 2019) nyoba untuk bekerja remote dari Bandung Digital Hub , apalagi istri yang kebetulan follower pak Ridwan Kamil di Instagram juga Facebook dan tampaknya pernah lihat ulasan mengenai tempat ini sehingga tampak antusias supaya saya datang ketempat ini ini dan mencoba bekerja dari gedung creative hub dan coworking yang keren ini.  Tempat Parkir Masalah utama saat kita datang ke coworking space terutama yang berlokasi di Bandung (atau mungkin kota-kota lainnya) adalah lahan parkir, kadang lahan parkir ...

Numpang Kerja Remote dari Bandung Digital Valley

Satu lagi co-working place  gratisan dan keren yang cukup populer dikota Bandung, co-working place yang juga memberikan fasilitas tempat kerja (co-working place) dan fitur-fitur menarik lainnya,  co-working place keren  ini adalah Bandung Digital Valley atau yang sering disingkat BDV . C o-working place  Bandung Digital Valley ini  merupakan bagian dari Telkom , mulai aktif digunakan dari sekitar tahun 2012 lalu .  Tempat ini biasanya menjadi tempat favorit bagi para pengiat startup, freelancer, dan mahasiswa . Gedung BDV Gedung BDV Gedung BDV Co-working space Bandung Digital Valley ini sendiri berlokasi di Menara Bandung Digital Valley, Jl. Gegerkalong Hilir No.47, Sukarasa, Sukasari, Kota Bandung, Jawa Barat, detailnya bisa dilihat di Google map berikut. Pemandangan jalan setelah pintu satpam. Free Co-working Space Membership Untuk mulai menggunakan fasilitas co-working space ini secara gratis maka yang pe...

Membuat Authentikasi Berbasis Token pada Spring Boot dengan Spring Security dan JWT

Setelah beberapa kali mencari tutorial tentang otentikasi aplikasi web Spring Boot dengan menggunakan JWT yang mudah dipahami akhirnya saya menemukan artikel berbahasa Inggris tapi sangat mudah dipahami  dan diikuti, artikel tersbut berada disini , dengan judul " Spring Boot Token based Authentication with Spring Security & JWT ". Untuk memudahkan orang-orang yang terbiasa membaca artikel dalam bahasa indonesia (termasuk saya sendiri), artikel ini saya buat dan susun ulang (artikel aslinya tidak tertulis dengan runtut dan dapat membuat pemula bingung dengan berbagai error yang muncul) supaya lebih mudah untuk diikuti dan dapat di gunakan bersama. Applikasi yang akan kita buat adalah aplikasi web yang setiap endpoint-nya hanya bisa di akses oleh role tertentu. 1. Tools Yang Diperlukan IntelliJ Idea text editor. Spring Assistant Plugin. Postman. PostgreSQL + DBeaver. Min Java 8 Spring Boot 2.1.8 (dengan Spring Security, Spring Web, Spring Data JPA). jjwt 0.9.1. Maven 3.6.1....