Rehber
Ruby on Rails ile Web Uygulaması: Girişimci İçin İlk Sürüm ve Uzun Vadeli Hesap
Ruby on Rails bir fikri çalışan ilk sürüme taşımakta güçlüdür. Laravel ve Django ile farkını, ekip bulma ve barındırma gerçeğini, devralınan Rails projelerinde neye bakılacağını anlattık.
· 4 dk okuma · Mood Reklam
Aklınızda bir web uygulaması fikri var: belki İskenderun’daki kuaförlerin randevularını tek yerde toplayan bir sistem, belki nakliyecilerle yük sahiplerini buluşturan bir platform. Önce küçük bir sürümü çıkarıp gerçek kullanıcıyla denemek istiyorsunuz. Bu aşamada adı sıkça anılan araçlardan biri Ruby on Rails’tir. Bu yazı, Rails’in bir girişimciye neler kazandırdığını ve uzun vadede neyi hesaba katmak gerektiğini anlatıyor.
Ruby ve Rails: dil ile çatı
Ruby, okunması ve yazılması keyifli olsun diye tasarlanmış bir programlama dilidir. Rails ise Ruby ile yazılmış bir web çatısıdır; ikisi çoğu zaman birlikte anılır ama aynı şey değildir. Rails’in temel fikri “ayar yerine gelenek”tir: dosyaların nereye konacağı, veritabanı tablolarının nasıl adlandırılacağı gibi sayısız küçük karar baştan verilmiştir. Yazılımcı bu kararlarla vakit kaybetmez, doğrudan işin kendisine odaklanır.
Girişimci için Rails’in sundukları
Rails, bir fikri çalışan bir ürüne dönüştürmek için gereken parçaları hazır getirir: veritabanı yönetimi, e-posta, arka plan işleri, dosya yükleme ve kullanıcı oturumu için olgun eklentiler (Ruby dünyasında bunlara “gem” denir). İlk sürüme giden yol kabaca şöyledir:
- Taslak: Hangi ekranların olacağı ve kimin neyi göreceği kâğıt üzerinde netleşir.
- İlk sürüm: Yalnızca çekirdek işlev yazılır; Rails’in hazır yapıları en çok bu aşamada emek kazandırır.
- Gerçek kullanıcı: Birkaç işletme sistemi kullanır, geri bildirim toplanır.
- Genişleme: Abonelik, raporlar ve çoklu işletme yapısı eklenir.
Bu yol hangi dil seçilirse seçilsin geçerlidir; Rails yalnızca ikinci adımı hızlandırmasıyla bilinir. Rails ayrıca sayfaları çoğunlukla sunucuda hazırlayıp üzerine az miktarda JavaScript ile etkileşim eklemeyi destekler. Bu sayede küçük bir ekip, ayrı bir arayüz projesi yürütmeden telefonda da düzgün çalışan bir web uygulaması çıkarabilir. Abonelikli ürün geliştirmeye dair seçenekleri özel yazılım ve SaaS sayfasında görebilirsiniz.
Rails, Laravel ve Django: kardeş çatılar
| Konu | Rails | Laravel | Django |
|---|---|---|---|
| Dil | Ruby | PHP | Python |
| Yaklaşım | Gelenek ağırlıklı, hızlı başlangıç | Gelenek ağırlıklı, Rails’ten esinlenmiş | “Her şey içinde” anlayışı, hazır yönetim ekranı |
| Barındırma | Sanal sunucu ya da uygulama platformu | Paylaşımlı hostingte de çalışabilir | Çoğunlukla sanal ya da bulut sunucu |
| Türkiye’de geliştirici bulmak | Daha dar havuz | Geniş havuz | Geniş havuz, veri tarafında güçlü |
Üçü de olgun ve gerçek ürünlerde sınanmış araçlardır. Aralarındaki fark çoğu zaman teknik üstünlükten çok, projeyi kimin sürdüreceğiyle ilgilidir. Laravel tarafını PHP ve Laravel ile web paneli yazısında ayrıca anlattık.
Ekip bulma ve barındırma gerçeği
Rails’in en sık dile getirilen zayıflığı dilin hızı değil, insan kaynağıdır. Türkiye’de Ruby bilen geliştirici, PHP, JavaScript ya da Python bilenlere göre azdır; yakınınızda çalışacak birini arıyorsanız bu fark daha belirgin hissedilir. Projeyi yazan kişi ya da ekip ayrılırsa yerine Rails bilen birini bulmak zaman alabilir. Bu riski azaltmanın yolu, Rails’in kendi geleneklerinden sapmayan, otomatik testleri olan ve kurulumu yazılı bir proje istemektir; böyle bir projeyi başka bir dili bilen deneyimli bir geliştirici bile makul bir çabayla okuyabilir.
Barındırma tarafında Rails uygulaması sürekli çalışan bir süreçtir; klasik paylaşımlı hosting yerine sanal sunucu ya da Rails destekleyen bir uygulama platformu ister. Ruby ve Rails sürümleri de düzenli güncellenir; büyük sürüm geçişleri ertelendikçe zorlaşır. Bu konuda yayından sonra bakım yazısı yol gösterir.
Devraldığınız bir Rails uygulaması varsa
Bazen soru “Rails seçelim mi?” değil, “Elimizde Rails ile yazılmış bir sistem var, ne yapacağız?” olur. Önce üç şeye bakın: kaynak kod ve sunucu erişimi sizde mi, uygulama hangi Ruby ve Rails sürümünde çalışıyor, otomatik testleri var mı? Testleri olan ve güncel sürüme yakın bir Rails projesini sürdürmek gayet makuldür. Uzun süre güncellenmemiş, testsiz bir projede ise iki seçeneği dürüstçe tartmak gerekir: güncelleyip sürdürmek mi, işlevleri başka bir yapıya adım adım taşımak mı? Güncellemeye karar verilirse sürüm sürüm ilerlemek ve her adımda testleri çalıştırmak, tek seferde büyük bir atlamadan çok daha güvenlidir.
Rails kimin için?
- İlk sürümü erkenden gerçek kullanıcıya göstermek isteyen ve teknik ortağı Rails bilen girişimciler için güçlü bir seçimdir.
- Yerel bir ekiple uzun süre sürdürülecek, el değiştirmesi muhtemel bir işletme paneli için PHP ya da Python tabanlı bir çatı çoğu zaman daha rahat bir yoldur.
- Mobil uygulama gerekiyorsa Rails yalnızca arkadaki API’yi ve paneli üstlenir; telefon tarafı ayrıca yazılır.
Fikrinizi İskenderun’da yüz yüze anlatmak isterseniz önce kapsamı yazıya döküp ardından dili seçmek daha sağlıklıdır. Sitede fiyat yoktur; kapsam netleşince telefonda konuşulur. Fikrinizin kısa bir tarifini teklif formundan gönderebilirsiniz.