DEV Community

Cover image for Alternatif BloomRPC Terbaik
Walse
Walse

Posted on Originally published at apidog.com

Alternatif BloomRPC Terbaik

BloomRPC adalah jawaban atas pertanyaan yang pada akhirnya ditanyakan oleh setiap pengembang gRPC: “mana Postman saya untuk gRPC?” Muat berkas .proto, dapatkan badan permintaan JSON yang dapat diedit, lalu kirim. Itu sederhana, gratis, dan memperoleh sekitar 9.000 bintang GitHub karena melakukan satu hal dengan baik. Kemudian, pada 4 Januari 2023, repositori tersebut diarsipkan. README tidak berbasa-basi: proyek terhenti, masalah menumpuk, dan para pengelola menyatakan dengan jelas bahwa “penggunaannya tidak lagi disarankan.” Mereka mengarahkan Anda ke daftar awesome-grpc dan mendoakan yang terbaik.

Coba Apidog hari ini

Jawaban langsungnya: Apidog adalah alternatif BloomRPC terbaik untuk sebagian besar tim. Apidog tidak hanya menggantikan jendela untuk memuat .proto, tetapi juga mendukung empat jenis panggilan gRPC:

  • Unary
  • Server streaming
  • Client streaming
  • Bidirectional streaming

Anda dapat mengimpor .proto dari jalur lokal, URL, atau refleksi server. Selain itu, pekerjaan gRPC dapat berada dalam proyek yang sama dengan endpoint REST, WebSocket, dan GraphQL, termasuk dokumentasi, kolaborasi, serta pengaturan debugging yang tersimpan.

Jika Anda hanya membutuhkan panggilan satu kali dari terminal, alat yang lebih ringan mungkin lebih cocok. Artikel ini membahas apa yang hilang setelah BloomRPC dihentikan, opsi penggantinya, dan langkah migrasinya.

Apa itu BloomRPC, dan mengapa sekarang tiada?

BloomRPC dirilis pada 2018 sebagai aplikasi desktop Electron dengan satu tugas: melakukan panggilan gRPC tanpa menulis klien.

Alur kerjanya sederhana:

  1. Impor berkas .proto.
  2. Pilih layanan dan metode RPC.
  3. Edit JSON yang dibuat dari pesan request protobuf.
  4. Tambahkan metadata jika diperlukan.
  5. Kirim request.

Untuk panggilan unary dan streaming dasar, BloomRPC cukup baik. Kombinasi “cukup baik dan gratis” membuatnya menjadi GUI gRPC standar selama bertahun-tahun.

Namun, status repositori yang diarsipkan berarti:

  • Tidak ada perbaikan bug.
  • Tidak ada pembaruan dependensi.
  • Tidak ada rilis baru.
  • Tidak ada pembaruan keamanan untuk komponen Electron, Chromium, atau Node yang dibundel.
  • Masalah lama, termasuk impor proto dan alur streaming tertentu, tetap tidak terselesaikan.

Untuk proyek baru, jangan lagi menjadikan BloomRPC sebagai pilihan utama.

Pengembang masih mencarinya karena bentuk alatnya memang tepat: GUI sederhana untuk memuat proto dan mengirim RPC. Namun, sebagian besar tim yang menggunakan gRPC juga memiliki REST API. Menguji dua protokol dalam alat yang tidak terhubung menciptakan biaya operasional tambahan.

Kami sebelumnya membahas karakteristik klien gRPC yang baik. Saat ini, kemampuan “memuat proto lalu mengirim request” adalah standar dasar. Pembeda utamanya ada pada workflow debugging, testing, dokumentasi, dan kolaborasi.

Jawabannya: Apidog

Apidog adalah platform pengembangan API yang digunakan oleh lebih dari 500.000 pengembang untuk desain, debugging, pengujian, mocking, dan dokumentasi API.

Berdasarkan dokumentasi resmi gRPC Apidog, berikut kemampuan yang dapat menggantikan BloomRPC.

1. Mendukung keempat jenis panggilan gRPC

Apidog mendukung:

  • Unary
  • Server streaming
  • Client streaming
  • Bidirectional streaming

Untuk streaming, workflow-nya berbentuk sesi langsung:

  1. Buka request streaming.
  2. Kirim pesan dari tab Messages.
  3. Pantau urutan pesan masuk dan keluar pada tampilan linimasa.

Ini penting jika layanan Anda menggunakan client streaming atau bidirectional streaming secara intensif.

2. Mengimpor definisi API dengan tiga cara

Anda dapat memuat definisi gRPC dari:

  • Berkas .proto lokal.
  • URL berkas proto.
  • Refleksi server gRPC.

Jika proto Anda memiliki dependency, tambahkan direktori dependency saat impor. Jika server sudah mendukung reflection, Anda bahkan dapat menelusuri layanan tanpa mencari revisi .proto yang tepat.

3. Menggunakan JSON untuk request dan response

Seperti BloomRPC, Apidog merender pesan protobuf sebagai JSON yang dapat diedit.

Contoh request unary:

{
  "userId": "12345",
  "includeProfile": true
}
Enter fullscreen mode Exit fullscreen mode

Anda tidak perlu menulis payload protobuf biner secara manual. Untuk memahami aturan pemetaannya, lihat panduan protobuf ke JSON.

4. Mengatur TLS, metadata, dan autentikasi

Untuk setiap request, Anda dapat:

  • Menentukan grpc:// atau grpcs://.
  • Menambahkan metadata.
  • Menyimpan konfigurasi autentikasi.
  • Menggunakan pengaturan TLS sesuai endpoint target.

Contoh metadata yang umum:

authorization: Bearer <token>
x-request-id: debug-001
Enter fullscreen mode Exit fullscreen mode

Untuk pola token dan mTLS, gunakan panduan praktik terbaik autentikasi gRPC.

5. Menyimpan dan membagikan konfigurasi request

Di BloomRPC, konfigurasi debugging umumnya hanya berada di mesin lokal. Di Apidog, request yang disimpan—termasuk URL server, payload, metadata, dan autentikasi—dapat dibagikan dalam ruang kerja tim.

Artinya, rekan tim tidak perlu:

  • Mengimpor ulang proto.
  • Menebak endpoint staging.
  • Menyalin metadata secara manual.
  • Menyusun ulang request debugging yang sama.

Seperti apa peralihan fitur demi fitur?

Melakukan panggilan

Workflow harian tetap familiar:

  1. Impor proto.
  2. Pilih service dan method.
  3. Edit JSON request.
  4. Atur alamat server.
  5. Kirim request.
  6. Periksa response atau alur pesan streaming.

Panggilan unary mengembalikan response seperti request API biasa. Panggilan streaming membuka sesi aktif untuk mengirim dan menerima pesan.

Perhatikan bahwa gRPC menggunakan kode status sendiri, bukan status HTTP biasa. Simpan referensi kode status gRPC saat melakukan debugging pada minggu pertama migrasi.

Streaming, secara spesifik

Streaming adalah peningkatan paling signifikan dibandingkan BloomRPC.

Apidog memperlakukan request streaming sebagai sesi langsung, bukan request satu kali. Ini membantu saat Anda perlu:

  • Mengirim beberapa pesan dari client.
  • Melihat pesan server secara berurutan.
  • Menguji komunikasi dua arah.
  • Melacak urutan traffic selama debugging.

Jika layanan Anda sangat bergantung pada aliran data, dukungan client streaming dan bidirectional streaming yang terdokumentasi dapat menjadi faktor utama dalam keputusan migrasi.

Untuk dasar konsepnya, lihat penjelasan streaming gRPC.

Refleksi server

BloomRPC memerlukan berkas proto. Apidog juga mendukung refleksi server.

Gunakan refleksi server ketika:

  • Anda ingin memeriksa server staging dengan cepat.
  • Berkas proto tidak tersedia secara lokal.
  • Anda tidak yakin versi proto mana yang sedang digunakan server.
  • Tim lain memiliki server, tetapi tidak mengirimkan proto secara langsung.

Cukup arahkan Apidog ke server yang mendukung reflection, lalu telusuri layanan dan metode yang tersedia.

Di luar klien gRPC

Perbedaan utamanya bukan hanya pada kemampuan mengirim RPC.

Di BloomRPC, request debugging biasanya menguap ketika Anda menutup aplikasi. Di Apidog, layanan gRPC menjadi bagian dari proyek API yang lebih besar, bersama:

  • Endpoint REST.
  • WebSocket.
  • SSE.
  • GraphQL.
  • Pengujian API gRPC.
  • Mock untuk endpoint HTTP.
  • Dokumentasi yang dapat diterbitkan.

Jika backend Anda mengekspos lebih dari satu protokol, satu ruang kerja dapat mengurangi fragmentasi alat. Untuk membandingkan batas protokol tersebut, baca REST vs GraphQL vs gRPC dan gRPC vs REST.

Sekilas BloomRPC vs Apidog

Fitur BloomRPC Apidog
Status Diarsipkan Januari 2023; README menyatakan penggunaan tidak disarankan Dikembangkan secara aktif
Panggilan unary Ya Ya
Server streaming / client streaming / bidirectional streaming Parsial, dengan masalah yang diketahui Semua didukung, gaya sesi dengan linimasa
Impor proto Berkas .proto lokal Berkas lokal, URL, refleksi server
TLS Dasar Pilihan grpc:// / grpcs:// per request
Metadata dan autentikasi Pengeditan metadata Metadata dan konfigurasi autentikasi
Berbagi tim Tidak ada, hanya lokal Request tersimpan dibagikan dalam ruang kerja tim
Protokol lain Hanya gRPC REST, WebSocket, SSE, GraphQL, gRPC
Dokumentasi, tes, mock Tidak ada Dalam platform dan proyek yang sama
Harga Gratis, tetapi ditinggalkan Paket gratis hingga 4 pengguna

Migrasi dari BloomRPC

Tidak ada ekspor besar yang perlu dilakukan. BloomRPC tidak menyimpan status portabel yang berarti, sehingga proses migrasinya relatif sederhana.

1. Kumpulkan berkas .proto

Proto Anda seharusnya sudah berada di repository source code, bukan di BloomRPC. Itulah sumber definisi API yang Anda perlukan.

Pastikan Anda juga memiliki proto dependency, misalnya proto Google atau proto internal dari repository lain.

2. Impor proto ke Apidog

Buat proyek, lalu impor proto dari berkas lokal atau URL.

Jika proto mengimpor file lain, tambahkan direktori dependency. Setelah impor selesai, layanan dan metode RPC akan muncul untuk dipilih.

Alternatifnya, gunakan server reflection jika server target mendukungnya.

3. Atur alamat server dan TLS

Masukkan endpoint target dan pilih skema yang sesuai:

grpc://localhost:50051
Enter fullscreen mode Exit fullscreen mode

atau:

grpcs://grpc.example.com:443
Enter fullscreen mode Exit fullscreen mode

Gunakan grpcs:// untuk endpoint TLS.

4. Buat ulang metadata dan autentikasi

Tambahkan kembali metadata, token, atau header lain yang sebelumnya ditempelkan ke BloomRPC.

Contoh:

authorization: Bearer <token>
x-tenant-id: tenant-a
Enter fullscreen mode Exit fullscreen mode

Simpan request setelah konfigurasi selesai agar tidak perlu mengetiknya ulang pada sesi debugging berikutnya.

5. Simpan dan bagikan request

Simpan request yang paling sering digunakan, seperti:

  • Health check.
  • Login atau token exchange.
  • Request staging.
  • Request dengan metadata khusus.
  • Skenario streaming.

Request tersebut kemudian menjadi konfigurasi debugging bersama untuk tim.

Pengguna BloomRPC yang aktif umumnya dapat mengirim request pertama dari Apidog dalam sekitar sepuluh menit, karena langkah impor proto, memilih method, dan mengirim request tetap sama.

Alternatif BloomRPC lain yang patut diketahui

  • grpcurl: curl untuk gRPC. Cocok untuk skrip shell, pemeriksaan CI, dan perintah satu baris terhadap server yang mendukung reflection. Bukan GUI, dan memang tidak ditujukan sebagai GUI. Lihat perbandingan alternatif grpcurl terbaik.

Contoh penggunaan:

  grpcurl -plaintext localhost:50051 list
Enter fullscreen mode Exit fullscreen mode
  • grpcui: Saudara grpcurl yang menyediakan UI web sementara untuk satu server. Cocok untuk eksplorasi singkat, tetapi tidak dirancang untuk menyimpan state.

  • Kreya: Klien desktop khusus untuk gRPC dan REST dengan workflow proto yang rapi serta tingkat gratis. Ini adalah opsi yang paling mirip penerus langsung BloomRPC jika Anda memang menginginkan klien mandiri. Lihat apa itu Kreya dan alternatif Kreya terbaik.

  • Postman: Menambahkan dukungan gRPC pada 2022. Jika tim Anda sudah menggunakannya, Postman dapat digunakan, dengan pertimbangan harga dan workflow ruang kerja yang biasa. Baca alternatif Postman terbaik.

  • evans: REPL terminal interaktif untuk gRPC. Cocok bagi pengembang yang nyaman bekerja di terminal atau tmux, tetapi bukan pengganti GUI BloomRPC.

Polanya sederhana:

  • Gunakan CLI untuk otomatisasi.
  • Gunakan GUI mandiri untuk pekerjaan gRPC yang terisolasi.
  • Gunakan Apidog ketika gRPC adalah salah satu dari beberapa protokol yang dikelola tim Anda dan Anda ingin request, pengujian, serta dokumentasi berada di satu tempat.

Pertanyaan yang Sering Diajukan

Apakah BloomRPC masih dikelola?

Tidak. Repositori diarsipkan pada 4 Januari 2023, dan README menyatakan penggunaannya tidak lagi disarankan. Tidak ada pembaruan, perbaikan keamanan, atau rilis yang akan datang.

Perbandingan klien gRPC saat ini sebaiknya tidak menjadikan BloomRPC sebagai pilihan untuk setup baru.

Bisakah saya mengimpor pengaturan BloomRPC saya ke Apidog?

Tidak ada berkas impor khusus karena BloomRPC tidak menyimpan konfigurasi portabel yang berarti.

Migrasi berarti:

  1. Impor ulang .proto dari repository Anda atau gunakan server reflection.
  2. Atur alamat server.
  3. Pilih skema TLS.
  4. Tambahkan metadata dan autentikasi.
  5. Simpan request di proyek Apidog.

Setelah itu, konfigurasi dapat disimpan dan dibagikan, bukan hanya berada di satu mesin.

Apakah Apidog mendukung streaming gRPC?

Ya. Apidog mendukung unary, server streaming, client streaming, dan bidirectional streaming.

Panggilan streaming berjalan sebagai sesi langsung untuk mengirim pesan dan melihat linimasa traffic. Untuk mengetahui kapan setiap mode digunakan, lihat streaming gRPC.

Bagaimana jika saya hanya membutuhkan panggilan gRPC baris perintah yang cepat?

Gunakan grpcurl. Alat ini cocok untuk panggilan terprogram maupun ad-hoc, terutama pada server yang mendukung reflection. grpcurl juga cocok dimasukkan ke pipeline CI.

Panduan alternatif grpcurl membahas batas penggunaannya saat workflow Anda mulai membutuhkan GUI, request tersimpan, atau kolaborasi.

Bisakah saya menguji API gRPC dan REST dalam alat yang sama?

Di Apidog, ya. gRPC, REST, WebSocket, SSE, dan GraphQL dapat berada dalam satu proyek.

Ini berguna untuk layanan yang mengekspos permukaan gRPC dan REST sekaligus. Lihat panduan menguji API gRPC untuk workflow dari awal hingga akhir.

Pensiunkan klien yang diarsipkan

BloomRPC sudah menyarankan penggunanya untuk pindah. Langkah praktis berikutnya adalah mengarahkan Apidog ke berkas .proto Anda atau ke server yang mendukung reflection, lalu melakukan panggilan unary dan streaming pertama.

Simpan request tersebut di samping pekerjaan API lainnya agar konfigurasi debugging dapat digunakan kembali oleh tim.

Unduh Apidog secara gratis. Tim hingga 4 orang tidak perlu membayar, dan berkas proto Anda adalah satu-satunya bahan migrasi yang benar-benar diperlukan.

Top comments (0)