Bu yazıdaki bazı bağlantılar ortaklık (affiliate) bağlantısıdır. Komisyon alsak da sıralamalarımızı yalnızca test sonuçları belirler. Ayrıntılar için ortaklık açıklamamıza bakabilirsiniz.

API test ediyorsanız muhtemelen Postman kullanıyorsunuzdur. Ama Postman’in bazı sorunları var. Bruno bunları çözüyor.

Postman Sorunu

Postman basit bir araç olarak başladı. Şimdi kullanmak için hesap gerektiriyor. Koleksiyonlarınız Postman’in bulutuna senkronize oluyor. Ücretsiz katmanın sınırları var. Ve Postman fiyatlandırmasını yeniden değiştirirse çalışmalarınıza erişimi kaybedebilirsiniz.

Tek bir şirkete bu kadar güvenmek büyük bir risk.

Bruno Nedir?

Bruno, açık kaynak bir API istemcisi. Postman gibi çalışıyor. HTTP istekleri gönderebilir, REST API’leri, GraphQL ve gRPC’yi test edebilirsiniz. İstekleri koleksiyonlar halinde organize edebilirsiniz.

Ama Bruno önemli bir noktada farklı: her şey bilgisayarınızda kalıyor.

Hesap yok. Bulut yok. Başka birinin sunucusuna senkronizasyon yok.

Bruno’yu usebruno.com adresinden ücretsiz indirebilirsiniz.

Bruno Neden Daha İyi?

Çekirdek Ücretsiz ve Açık Kaynak

Bruno’nun çekirdeği MIT lisansı altında açık kaynak. Masaüstü uygulaması, CLI ve terminal tabanlı Git iş akışının tamamı ücretsiz. Bruno’nun ayrıca; commit, push ve merge conflict çözümü gibi özellikler sunan yerleşik bir Git arayüzü gibi gelişmiş özellikler isteyen ekipler için ücretli Pro ve Ultimate planları da var.

Koleksiyonlar Düz Metin Dosyaları

En iyi kısmı burası. Postman’de koleksiyonlarınız Postman’in bulutunda ya da büyük bir JSON dosyası olarak saklanıyor.

Bruno’da her istek bir .bru dosyası. Düz metin. İnsan tarafından okunabilir.

Bir .bru dosyası şöyle görünüyor:

meta {
  name: Get user
  type: http
}

get {
  url: {{BASE_URL}}/api/user/1
  body: none
}

headers {
  Authorization: Bearer {{TOKEN}}
}

Hepsi bu kadar. Basit ve temiz.

Koleksiyonlarınız Git Deponuzda Yaşıyor

.bru dosyaları düz metin olduğu için bunları normal Git iş akışınızla, git add, git commit, git push, deponuza ekleyebilirsiniz.

API koleksiyonunuz kodunuzun yanında yaşıyor. Ekibiniz, pull request’lerde isteklerdeki değişiklikleri inceleyebiliyor. Her değişikliğin tam geçmişini elde ediyorsunuz.

Not: Bruno’nun yerleşik Git arayüzü (commit, push, merge için butonlarla) ücretli bir plan gerektiriyor. Ama buna ihtiyacınız yok. Terminal tabanlı Git iş akışı, ücretsiz sürümle mükemmel çalışıyor.

Hesap Gerekmiyor

Uygulamayı açın. Test etmeye başlayın. Kayıt yok, e-posta yok, bekleme yok.

Bruno Nasıl Kurulur?

usebruno.com adresine gidip masaüstü uygulamasını indirin. Mac, Windows ve Linux için mevcut.

Kurun ve açın. Hepsi bu kadar.

CI/CD İçin Bruno CLI

Bruno’nun ayrıca bir komut satırı aracı var. Koleksiyonlarınızı bir CI/CD pipeline’ında çalıştırabilirsiniz.

CLI’yi kurun:

npm install -g @usebruno/cli

Bir koleksiyon çalıştırın:

bru run --env production

Bu, otomatik API testi için çok kullanışlı. Bruno koleksiyonunuzu GitHub Actions, GitLab CI ya da başka herhangi bir pipeline’da çalıştırabilirsiniz.

Bruno ve Postman Karşılaştırması

ÖzellikBrunoPostman
FiyatÜcretsiz çekirdek (Pro/Ultimate ücretli)Sınırlı ücretsiz katman
Koleksiyon depolamaGit deponuzPostman bulutu
Hesap gerekli miHayırEvet
CLIVar (bru run)Var (ücretli plan)
Açık kaynakEvetHayır
Çevrimdışı çalışmaEvetKısmen
Postman’i içe aktarmaEvetYok

Ne Zaman Geçmelisiniz?

Bruno şu durumlarda iyi bir seçim:

  • API koleksiyonlarını Git deponuzda saklamak istiyorsanız
  • Postman’in bulut senkronizasyonundan ve hesap zorunluluğundan sıkıldıysanız
  • Otomatik test için CLI desteğine ihtiyacınız varsa
  • Bulut bağımlılığı olmayan ücretsiz bir araç istiyorsanız

Zaten Postman’den memnunsanız, Bruno’yu yeni bir projede deneyebilirsiniz. Geçiş kolay: Bruno, Postman koleksiyonlarını içe aktarabiliyor.

Türkiye’den Bakınca: Yurt Dışı Müşteri Projelerinde Veri Konumu

Türkiye’deki yazılım outsourcing ve nearshore çalışma modeli hızla büyüyor: birçok geliştirici ve ajans, Avrupa ve ABD merkezli müşteriler için sözleşmeli çalışıyor. Bu tür sözleşmelerde artık sık sık, API anahtarlarının, token’ların ve staging ortam kimlik bilgilerinin üçüncü taraf bir SaaS aracında (özellikle yurt dışında barındırılan bir bulutta) saklanmamasını şart koşan maddeler görülüyor.

Postman’in varsayılan davranışı, koleksiyonlarınızı Postman’in kendi sunucularına senkronize etmek; bunu engellemek genelde kurumsal (Enterprise) plana ve ek yapılandırmaya bağlı. Bruno’da bu sorun baştan yok: koleksiyon dosyaları, müşterinin kendi Git deposunda ya da sizin kontrolünüzdeki bir depoda kalıyor, hiçbir üçüncü taraf sunucuya gitmiyor. Yurt dışı müşteri projesi alan bir Türk geliştirici ya da ajans için bu, sözleşme maddelerine ekstra yapılandırma yapmadan uyum sağlamanın en basit yolu.

Sırada Ne Var?

Geliştiriciler için başka araçlara göz atın: