Ruby On Rails (kısaca Rails) en popüler açık kaynak olan framework’lerden biridir. Ruby dili kullanarak geliştirilmiştir. En büyük amacı geliştiricinin mutlu ve daha üretken biri olmasını sağlamak olan Rails’e birlikte göz atalım.
Ruby dilinde yazıldığından bahsetmiştik. Ruby, Yukihiro Matsumoto (kısaca Matz) tarafından 1995 yılında yaratılmış bir programlama dilidir. Kullanan kişileri mutlu etmek amacını burada da gördüğümüz Ruby, Perl yapısında fakat tamamıyla nesne yönelimli bir dildir. Ruby hakkında detaylı bilgi almak isteyenler ‘Ruby Nedir?’ yazımıza göz atabilirler.
İçindekiler
Rails’in Çıkış Noktası
Ruby on Rails 2003 yılında yılında David Heinemeier Hansson tarafından yaratılmıştır. Kendisi o sıralar BaseCamp’da bir proje üzerine çalışmaktadır. Fakat geliştirdiği proje BaseCamp üzerinde ona zorluklar yaşatmıştır. Bu nedenle Rails’i tasarlamaya karar vererek, Ruby on Rails’i yaratmış oldu. Geliştirdiği Rails’i açık kaynak yapmasının ardından projeye dahil olan birçok kişiyle, Rails günümüzdeki noktaya ulaşmıştır. Kendisi Rails’i neden yarattığı sorusuna kısaca şu şekilde cevap veriyor:
“Çünkü kendimi mutlu etmek istedim.”
Aynı yaklaşımı Ruby’nin yaratıcısında da gördüğümüze göre söylemek gerekirse Ruby&Rails topluluğu en mutlu topluluk olmalı!
Ruby On Rails Nedir?
Framework Nedir?
Rails’in bir framework (iskelet) olduğundan bahsetmiştik. Daha iyi kavramak adına bu kavramı açmamızda fayda var. Framework dediğimiz kavram bir yapının ihtiyaçlarını içinde barındıran bir paket gibidir. Burada bizim yapımız web olduğuna göre ihtiyaçlarımız elbette web hakkında olacaktır. Website’nin sahip olacağı URL, sunucu ile bağlantıları, veri tabanı arasındaki ilişkileri ihtiyaç gibi düşünebiliriz. Dilersek bunları sıfırdan yazabiliriz fakat bunu yapmak zaman kaybı olur. (Tabi amacımız daha iyi bir framework yaratmak değilse. : ) ) Bu nedenle framework dediğimiz kavramlara ihtiyacımız var. Bu ihtiyaç doğrultusunda birçok framework geliştirilmiştir. Rails de bunlardan biri olarak bugün karşımızdadır.
Bu framework’ü üç madde ile anlatmamız gerekse, şu şekilde listeleyebiliriz:
- Ruby Programlama Dili
- Model-View-Controller (MVC) Yapısı
- Programcının Mutluluğu
MVC Yapısı
Model – View – Controller olarak karşımıza çıkan bu yapıyı ele alalım. Bir web sitesinde etkileşime geçtiğimiz ön yüzü içeren kısım View bölümüdür. İlgili kodlar projenin içinde bu dosyanın altında yer alır. Model dediğimiz kavram ise veri tabanıyla ilişkili kodları barındırmaktadır. Kredi kartı uygulaması yaptığımızı düşünürsek, bilgileri kullandığımız kısım burası. Diyelim ki “satın al” butonuna bastık ve de işlemimiz gerçekleşsin istiyoruz. Burada da Controller’lar devreye giriyor. Ön yüz ve de veri tabanı arasındaki bağlantıları, işlemleri burada görmekteyiz. Bu sayede kod akışı da düzenli ve takip edilebilir oluyor.
Full Stack Framework
Ruby on Rails içinde tüm gereksinimleri barındıran bir framework’tür. Bundan kastımız ihtiyaçların hepsini karşılayan, veri tabanı gibi hizmetleri içinde barındırmasıdır. Full Stack Framework’ler büyük projelerde daha çok tercih edilmektedir. MVC yapısını da içermesinden ötürü birbirleriyle uyumlu altyapı sistemleriyle sağlıklı, güvenli web siteleri geliştirme imkanı sunar.
Ruby On Rails Kullanan Global Şirketler
- Basecamp
- HEY
- GitHub
- Shopify
- Airbnb
- Twitch
- SoundCloud
- Hulu
- Zendesk
- Sqaure
- Cookpad
Neden Ruby on Rails Tercih Etmelisiniz?
Ruby’nin nesne yönelimli yapısından ötürü Ruby on Rails’de geliştirdiğiniz programlar diğerlerine göre çok daha hızlı olmaktadır. Hız günümüzde çoğu teknolojinin temel gerekliliği iken Rails bu konuda istenileni vermekte oldukça iddialıdır.
Ruby yapısı gereği yazı diline oldukça yatkın bir dil. Böylece bu dilde yazdığınız kodları okumak ve anlamak sizi zorlamayacaktır. Bu da size daha çabuk öğrenmeyi ve sizi tanımakla diğer geliştiricilerin kodlarını takip edilme imkanını da sunar.
Topluluk imkanı. Framework için topluluk diyebiliriz. Bir teknolojinin bel kemiğini oluşturan topluluk ne kadar hevesli, gelişime açık ve deneyimli ise, bu durum yeni gelenler için büyük bir avantaj oluşturur. Ruby topluluğu bu konuda şanslı topluluklardan biri. Rails’i seven büyük bir kitlenin olması, onu geliştirme konusunda önümüzdeki yıllarda da avantaj sağlayacak gibi duruyor.