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ı
| Özellik | Bruno | Postman |
|---|---|---|
| Fiyat | Ücretsiz çekirdek (Pro/Ultimate ücretli) | Sınırlı ücretsiz katman |
| Koleksiyon depolama | Git deponuz | Postman bulutu |
| Hesap gerekli mi | Hayır | Evet |
| CLI | Var (bru run) | Var (ücretli plan) |
| Açık kaynak | Evet | Hayır |
| Çevrimdışı çalışma | Evet | Kısmen |
| Postman’i içe aktarma | Evet | Yok |
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: