- Ratatui framework’ü ile geliştirilen çeşitli terminal tabanlı uygulama (TUI) örneklerini bir araya getiren bir koleksiyon
- Sistem izleme, dosya gezintisi, ağ analizi, veri görselleştirme gibi farklı kullanım alanlarına yönelik uygulamalar içeriyor
- Öne çıkan örnekler arasında Atuin(kabuk geçmişi yönetimi), GitUI(Git arayüzü), Oatmeal(LLM sohbeti), Yazi(dosya yöneticisi) yer alıyor
- Her proje Rust dili ile yazılmış ve GitHub bağlantılarıyla demo görselleri birlikte sunuluyor
- Rust ekosisteminde terminal UI geliştirmenin ölçeklenebilirliğini ve pratikliğini gösteren bir örnekler derlemesi
Genel bakış
- Ratatui’nin App Showcase sayfası, Ratatui kullanılarak geliştirilmiş gerçek terminal kullanıcı arayüzü (TUI) uygulamalarını listeliyor
- Her öğe GitHub depo bağlantısı, kısa bir açıklama ve demo görseli veya GIF ile yapılandırılmış
- Toplam 27’den fazla proje bulunuyor; sistem araçlarından oyunlara, yapay zekadan veri yönetimine kadar geniş bir yelpazeyi kapsıyor
Başlıca uygulama listesi
Atuin
- Mevcut kabuk geçmişini bir SQLite veritabanı ile değiştirir ve komut çalıştırma sırasında ek bağlam kaydeder
Bandwhich
- Süreç, bağlantı ve uzak IP/host bazında ağ kullanımını gösteren bir CLI yardımcı programı
Binsider
- Terminalde ikili dosya analizi yapan bir araç
Bottom
- CPU ve bellek gibi kaynak kullanımını görselleştiren çapraz platform sistem monitörü
Crossword
- Terminalde çengel bulmaca oynanabilen bir oyun
Csvlens
- CSV dosyalarına özel bir görüntüleyici;
less komutuna benzer, ancak CSV yapısına göre optimize edilmiş
Dua
- Paralel işlem tabanlı disk alanı analiz aracı; hızlı silme özelliği sunar
Fzf-make
- fuzzy finder kullanarak
make hedeflerini çalıştıran bir CLI aracı
GitUI
- Git işleri için Rust tabanlı bir TUI arayüzü
Gpg-tui
- GnuPG için terminal arayüzü
Joshuto
- Rust ile yazılmış, Ranger tarzı bir dosya yöneticisi
Material
- Terminal için Material Design renk paleti
Minesweep-rs
- Rust ile yazılmış bir Mayın Tarlası oyunu
Oatmeal
- LLM ile konuşabilen terminal sohbet uygulaması; ChatGPT veya Ollama backend’ini destekler
- slash komutları, sohbet balonu arayüzü, Neovim entegrasyonu içerir
Oha
- Web uygulamasına yük gönderir ve sonuçları gerçek zamanlı TUI içinde gösterir
Oxker
- Docker container’larını kontrol etmek ve izlemek için TUI
OpenAPI-tui
- Terminalde OpenAPI dokümantasyonunu hızlıca incelemeyi sağlayan araç
Rainfrog
- Veritabanı etkileşimi için hafif bir terminal aracı
Rucola
- Markdown not yönetimi ve HTML’e dönüştürme özellikleri sunar
Scope-tui
- Osiloskop, vectorscope ve spectroscope işlevlerini terminalde sunar
Slumber
- HTTP/REST istemcisini terminalde çalıştırır
Steer
- Yerel geliştirme ve otomasyon için bir yapay zeka kodlama ajanı
Taskwarrior-tui
- Taskwarrior görev yönetim aracının terminal arayüzü
Television
- fuzzy matching algoritması tabanlı bir arama aracı; dosya, Git, ortam değişkenleri gibi çeşitli veri kaynaklarını taramayı destekler
Trippy
- Traceroute ve Ping işlevlerini birleştiren ağ tanılama aracı
Xplr
- Hızlı ve hacklenebilir bir TUI dosya gezgini
Yazi
- Rust ile yazılmış, asenkron I/O tabanlı ultra hızlı dosya yöneticisi
Yozefu
- Kafka cluster verilerini keşfetmek için etkileşimli bir TUI
- SQL benzeri sorgu dili ile ayrıntılı filtrelemeyi destekler
- AKHQ, Redpanda Console ve JetBrains Kafka eklentisine alternatif
Ratatui ekosistemindeki önemi
- Tüm uygulamalar Ratatui framework’ü üzerine kurulu; bu da Rust ortamında terminal UI geliştirmenin çeşitliliğini ve olgunluğunu gösteriyor
- Her proje açık kaynak GitHub deposu olarak yayımlanmış durumda ve geliştiriciler tarafından doğrudan incelenebiliyor
- Bu durum, Ratatui’nin Rust tabanlı CLI/TUI geliştirmenin standart aracı haline geldiğini gösteriyor
1 yorum
Hacker News görüşleri
Son zamanlarda Rust ile yapılmış TUI'lerin çok olması ilginç
Benim bildiklerim Awesome TUIs, terminaltrove ve Ratatui'nin awesome listesi kadar
Qt ya da GTK fazla büyük, Windows sık değişiyor ve Electron'la uğraşmak istemiyorum
Terminalin kalitesi son dönemde arttı; bu yüzden küçük uygulamalar yapmak çok daha kolay
LEGO ile havalı bir şeyler yapmanın kille heykel yapmaktan daha kolay olması benzetmesi tam oturuyor
Veri durumunu görselleştirirken tarayıcı render pipeline'ı kurmaya gerek kalmıyor
Bu arada şöyle bir örnek görsel var
Ghostty, WezTerm, Kitty, iTerm, Alacritty gibi modern terminaller GPU hızlandırma ve 24 bit renk desteği sunuyor
Üstelik artık geliştiriciler IDE yerine terminalde Claude Code, Gemini CLI, Codex gibi araçları daha çok kullanıyor
Kısıtları çok ama bu sayede berbat bir UI üretmek de zorlaşıyor
Basit ila orta karmaşıklıktaki yazılımlar için gerçekten çok uygun. Örnek olarak Midnight Commander'ı öneririm
Tasarımcılarla iş birliği giderek daha bürokratik ve verimsiz geliyor
TUI, yüksek bilgi yoğunluğuna ve gereksiz boşlukları az olan temiz arayüzlere zorluyor
Rust'ta TUI'nin popüler olmasının nedeni GUI durumunun çok kötü olması
Bunu Rust GUI kütüphaneleri anketinden görebilirsiniz
Ben Rust'ta Qt kullanmak isterim ama QML, Slint, GTK, immediate mode UI gibi şeyleri istemiyorum
Rust'ta Qt benzeri bir şey çıkmazsa gerçekten yazık olur gibi geliyor
Ratatui kullanması o kadar keyifli bir framework ki GUI eksikliğiyle pek ilgisi yok
CLI'nin yetersiz kaldığı ama tam bir GUI'nin fazla geldiği durumlarda TUI aradaki boşluğu iyi dolduruyor
Pencere-kapsayıcı-düğme arasındaki ebeveyn/çocuk referansları Rust'ın sahiplik modeliyle çakışıyor
Qt'nin signal-slot mekanizmasını da Rust'ta uygulamak zor
İhtiyacım olan crate'lerin çoğu WIP ya da terk edilmiş durumdaydı
Popüler birkaç büyük crate dışında belgeler de çoğu zaman “C++ belgelerine bakın” seviyesinde
Bunun bir nedeni Rust'ın hâlâ genç bir dil olması ama bence daha büyük sorun topluluğun paket bakımına yönelik motivasyonunun zayıf olması
Ama GUI tarafının tamamen Rust ile yazılıp yazılmadığından emin değilim
Beni tamamen terminal içinde yaşatacak bir TUI web tarayıcısı bekliyorum
sixel ya da shader gibi teknolojilerle grafik de desteklendiği için, video hariç yeterince mümkün görünüyor
Reklam engellemeyi kolaylaştırdığı için şirketler bundan hoşlanmayabilir ama LLM için tarayıcı diye sunulursa belki ikna edilebilirler
Terminal bir düşük çözünürlüklü karakter tamponu, dolayısıyla doğrudan GPU hızlandırmalı piksel render etmek çok daha verimli
Firefox'u headless çalıştırıp sonucu terminalde ASCII olarak render ediyor. Oldukça havalı
Lynx ve w3m bunun başlıca örnekleri
Yaptığım Markdown görüntüleyicisi mdfried'i tanıtıyorum
Markdown'ın düz metin hâli okunaklı ama tarayıcıda görmek daha rahat olduğu için başlıkları görsel olarak render eden bir görüntüleyici yaptım
Fontu bir kez ayarlamak gerekiyor ve satır içi görselleri de destekliyor
Artık Kitty'nin text-sizing protokolünü kullanarak görsele dönüştürmeden doğrudan render etmek de mümkün
Hollanda'daki Teletekst bir SSH arayüzü sunuyor
Bu habere göre Ratatui ile yapılmış ve
ssh teletekst.nlile bağlanılabiliyorRatatui ile yapılmış küçük bir uygulamayı test ettim; sadece basit metin girişi yaparken bile CPU kullanımının %8'e çıkmasına şaşırdım
Resmî örneği aynen kullanmıştım ama yine de böyleydi
cargo runvarsayılan olarak debug modunda çalışırAçık kaynak projem TironCalc'ı ana depo olan ironcalc içine entegre etmek istiyorum
Rust ve Ratatui ile üzerinde çalışmak için iyi bir proje olduğunu düşünüyorum
Ama Microsoft'un edit projesini görünce Ratatui'nin en iyi seçenek olup olmadığından artık emin değilim
Yaptığım Ratatui tabanlı TUI oyunu rebels-in-the-sky'ı tanıtıyorum
Yalnız depodaki videolar cihazımda açılmıyor
Gönderi başlığı biraz tuhaf geldi
Rust'ın TUI devrimi hakkında bir yazı sanmıştım ama aslında Ratatui ile yapılmış uygulamaların derlemesiydi
Go tarafında Charm da benzer bir rol oynuyor
Terminalde CLI tabanlı ajanları klasör bazında çalıştırabilen araçlara giderek daha çok ihtiyaç olduğunu düşünüyorum
Örneğin hukuki uyumluluk kontrollerini otomatikleştirmekte kullanılabilir
Cline CLI, Opencode CLI, Codex CLI, Gemini CLI, Claude Code CLI ve daha fazlası var