7 puan yazan leegeunhyeok 2025-11-05 | 5 yorum | WhatsApp'ta paylaş

React Native’de Rust tabanlı modülleri saf C++ TurboModule ile entegre etmeyi mümkün kılan Craby aracını tanıtıyoruz.

Dokümantasyon: https://craby.rs
GitHub: https://github.com/leegeunhyeok/craby

Craby nedir?

Craby, Rust ile yüksek performanslı native modüller yazarken TypeScript - Rust - C++ tam yığınında tip güvenliğini korumayı sağlayan bir geliştirme aracıdır. React Native TurboModule’ün platforma özgü katmanları (ObjCTurboModule/JavaTurboModule) olmadan, saf C++ TurboModule ile doğrudan entegre olarak en yüksek performansı hedefler.

Performans

Diğer çözümlerle benchmark karşılaştırması (benchmark’a bakın):

  • ExpoModules’a göre 20-80 kat daha hızlı
  • Standart TurboModules’a göre 15-20 kat daha hızlı
  • NitroModules’a (Swift/Kotlin tabanlı, C++ değil) göre %25~30 daha hızlı

Bu, aşırı uç throughput testidir (100 bin çağrı) ve gerçek kullanım ortamında sonuçlar farklı olabilir; lütfen bunu yalnızca referans olarak değerlendirin.

Başlıca özellikler

  • Otomatik kod üretimi: API’yi TypeScript ile tanımladığınızda Rust/C++ binding’leri otomatik oluşturur
  • Tip güvenliği: TypeScript, Rust ve C++ arasında derleme zamanında tip kontrolü
  • Zero-Cost FFI: Rust-C++ birlikte çalışabilirliğinde overhead’i cxx üzerinden en aza indirir
  • Basit API: Yalnızca Rust implementasyonuna odaklanın, gerisini Craby halleder

Kullanım örneği

// 모듈 스키마 정의 (TypeScript)  
interface Spec extends NativeModule {  
  add(a: number, b: number): number;  
}  
// 실제 모듈 구현 (Rust)  
#[craby_module]  
impl CalculatorSpec for Calculator {  
    fn add(&mut self, a: Number, b: Number) -> Number {  
        a + b  
    }  
}  

Tüm bridging kodları Craby tarafından otomatik oluşturulur; kullanıcıların yalnızca gerçek modülü (Rust) implemente etmesi yeterlidir.

Daha fazla ayrıntı için dokümantasyona/GitHub deposuna göz atabilirsiniz; her türlü geri bildirime her zaman açığız!

5 yorum

 
bangdy 2025-11-07

Güzel bir proje. Yıldız ekledim!!

 
gargoyle92 2025-11-05

Canavar Geunhyeok Bey…

 
mindok 2025-11-05

Gerçekten çok etkileyici insanlar var..

 
skageektp 2025-11-05

Vay... acaba bu aracı yapmaya başlamanızın özel bir nedeni var mıydı? Ben de böyle bir şey yapmak istiyorum ama herkesin bunu hangi motivasyonla yaptığını merak ediyorum.

 
leegeunhyeok 2025-11-06

Son zamanlarda New Architecture’a geçmemiz gereken bir durum ortaya çıktı; TurboModule’un iç uygulamasını incelerken “buna böyle yaklaşırsak fazlasıyla mümkün olabilir” fikrinden yola çıkarak başlamış olduk!