Ruby, nesne yönelimli bir programlama dilidir. Açık kaynak olması, kullanımındaki sadelik ve daha az kod yükü popüleritesinin hızla artmasına yardımcı olmuştur.
Genel olarak programlama dillerini iki kategoriye ayırabiliriz bunlar “Compiled Languages” ve “Scripting Languages”.
Uygulama geliştirirken bilgisayarın anlayabilecegi birşeyler yazmıyoruz, kodumuzun bit ve byte’lara çevrilmesi ve çevrilen kütüklerin makina tarafından çalıştırılması gerekmektedir. Bu sürece “compilation” yani “derleme” denir ve bu süreci gerçekleştiren dillere de “Compiled Languages” denir. Örnek olarakta C, C# ve JAVA programalama dillerini gösterebiliriz.
Ruby, PHP, Python programlama dillerinide “Scripting Languages” çatısı altında toplayabiliriz. Bunların herhangi bir derleyiciye ya da derleme sürecine gereksinimi yoktur, bunun yerine yorumlayıcıya(Interpreter), uygulama sunucusu olabilir, gereksinim duyarlar. Kod direk olarak makina tarafından çalıştırılır.
Ruby programlama dilini kullanarak web uygulaması geliştirmek için;
· Ruby
· Rails Framework
· Veritabanı ‘na ihtiyaç duyulur.
Rails basit tabiriyle framework olarak tanımlanır, web uygulamasını kodlarken büyük bir kod yükünden kurtulmamıza yardımcı olur. MVC örüntüsünün tam olarak uygulandığı bir yapıdır. Proje yaratırken dizin yapısında da net bir şekilde anlaşılmaktadır.
Dizin yapısını biraz açıklamak gerekirse :
Models: ActiveRecord(Model) uygulamanın tüm görevlerini alıp veritabanı ile ilişkilendirir.
class Person ActiveRecord::Base
end· Veritabanı ile connection sağlar.
· Veritabanından verileri getirir.
· Veritabanına verileri yollar.
Controllers: ActionController(Controller) veritabanı ile sunum katmanı (presentation layer) arasındaki iletişimi sağlar.
class PeopleController ApplicationController
end· Request’i ele alır.
· Model’den veriyi alır, view katmanına geçmesini sağlar.
· Request üzerinden gelen verileri kullanarak model üzerinde verileri işler.
Views: ActionView(View) Presentation katmanını içerir. Uygulamanın veri modelinin sunumunun yapıldığı sayfalardır yani uygulamanın son kullanıcıya görüntülendiği yerdir.
Configurations: Veritabanı konfigürasyonunun yapıldığı “database.yml” kütüğünü içerir. Her ortam veritabanına bağlanmak için minumum configürasyon bilgisi içerir.