Ruby On Rails Yazı Dizisi Bölüm #1 - Yazılımcı Aklı

Ruby On Rails Yazı Dizisi Bölüm #1

Yayın tarihi : 8 Şubat 2017

Merhabalar, Bu yazımızda  popüler web frameworklerinden olan Ruby On Rails’in  (kısaca ROR veya Rails) kurulum ve ilk incelemesini yapacağız.

Ruby ve  Ruby On Rails Nedir ?

Ruby

Japon bilgisayar ve yazılım uzmanı Yukihiro “Matz” Matsumoto tarafından geliştirilmiş bir programlama dilidir. Ruby platformdan bağımsızdır. Yani bir makinede geliştirilen Ruby kodları farklı bir platform için de geçerlidir. Bunun yanında özellikle öğrencilere programlama mantığını eğlenceli bir şekilde öğretebilmek için ideal bir dildir.

Ruby on Rails

David Heinemeir Hansson’un başını çektiği Ruby dili ile yazılmış açık kaynak bir web  frameworktür. Şu an en güncel sürümü 5.0.1 dir.

DRY (Don’t Repeat Yourself), Convention Over Configuration ve REST felsefeleri Rails’in temellerini oluşturur. Rails’de asıl olan kod parçalarını olabildiğince küçük parçalara bölmek ve onları sonradan farklı farklı yerlerde kullanmaktır.

Rails çekirdek yapı olarak MVC yazılım mimarisini kullanır. Bu yapı bizlere daha düzgün bir arayüz, DRY ve temiz-hızlı kod yazma imkanı sağlar.

Ruby ve Ruby On Rails Kurulumu

Eğer kararınızı verip Ruby on Rails ile uygulama geliştirmek isterseniz Linux türevi bir sisteme ihtiyacınız olacaktır. Çünkü  çoğu gem’in çalışması için gereken kütüphanenin Windows desteği yoktur.

Bunun için Linux türevleri kullanmanız gerekmektedir. Windows daima kalsın derseniz VMWare ya da Oracle VirtualBox gibi sanal makina  araçları ile Windows üzerine kurulum gerçekleştirebilirsiniz.

Ruby kurulumu için öncelikle ruby -v Komutunu yazıp sisteminizde olup olmadığını denetlemekte fayda var.

Şu an benim bilgisayarımda ruby 2.4.0 versiyonu bulunmakta. Eğer Mac kullanıcısı iseniz Ruby versiyon güncelleme işlemini yapmanız gerekmektedir. (İlerleyen günlerde hakkında bir yazı gelebilir.)

Homebrew Nedir ?

Homebrew  Tek cümle ile OSX için bir paket yönetim sistemidir.  Daha detaylı bilgi ve kullanım örneklerini sitesinden bulabilirsiniz.

RubyGems Nedir?

Ruby de kullanmak istediğimiz kütüphaneleri RubyGems.org dan bulabiliriz.  Yani Ruby de paketleme sistemidir. Eklentileri ve kütüphaneleri bulabilir ve projemize entegre edebiliriz. Geniş bir eklenti ağı mevcut.

RubyGems Nedir?

Şu an irili ufaklı 8.265 tane eklenti mevcut sistemde.

Konsoldan gem –help komutu ile kullanımı hakkında daha fazla bilgile ulaşabilirsiniz. Rails de Ruby için yazılmış bir Gemdir 🙂 

Bundler adında bir paket sistemi daha vardır. Bundler sayesinde uygulamamızın ihtiyaç duyduğu paketlerin tümünü tek seferde versiyon uyumsuzluğu olmadan yüklemiş olacağız.
Bundler kullanmadığımız zaman tüm paketleri gem install [paketadı] diyerek de indirebilirsiniz. Fakat ilerleyen dönemlerde proje büyüdükçe versiyon problemleri vs. ortaya çıkacaktır. gem install bundler diyerek kurulumunu yapabilirsiniz.

Rails de bir Gem demiştik artık kurulumuna geçebiliriz. gem install rails diyerek kuruluma başlayabiliriz.

Gem list komutu ile sistemimizdeki tüm gemleri görebiliriz. Eğer sistemde Rails yüklü görünmüyorsa bir hata oluşmuştur. Adımları tekrar kontrol edebilirsiniz.

Rails default olarak SQlite veri tabanı ile geliyor. Zaten ORM yapısı (ActiveRecord) olduğundan veri tabanına geçişte zorluk yaşamazsınız.

Şimdi ise bir proje oluşturup dosya ve dizin yapısına göz atalım..

Komut satırında rails new uygulamaadi komutunu yazarak rails ile bir uygulama oluşturabiliriz. Uygulamaadi benim bu yazı için oluşturduğum bir sistem siz farklı bir şekilde oluşturabilirsiniz.

Bu resimde kullanılan bazı gemlerin listesini görebilirsiniz.

 

Kurulum tamamlandı. Şimdi oluşturduğumuz klasöre girip hangi dosyaları oluşturduğuna göz atalım.

 

  • Gemfile => Proje içinde kullanılan gemlerin buludunğu dosyadır. Yüklemek istediğiniz gemleri buraya yazabiliriz.
  • README => Standart Readme .txt dosyasıdır. Proje ile ilgili detayları buraya yazabilirsiniz..
  • Rakefile => Konsolda rake işlemlerini (ilerleyen günlerde değinirim) gerçekleştirmek için gerekli olan dosyaların bulunduğu yerdir.
  • app => Rails projesinin çekirdeği buradadır. Controller, Model, View, Helper, Assets ler burada saklanır.
  • config => Runtime, databasei ve daha fazla ayarların ve düzenlemelerin yapıldığı dosyadır.
  • config.ru => Rack tabanlı serverlerin çalışması için gerekli dosyadır.
  • db => Database şemalarının ve database yapısının tutulduğu yerdir.
  • doc => Dökümantasyonların olduğu klasördür.
  • lib => Daha fazla modulün bulunduğu klasördür.
  • log => Uygulamanın loglarının tutulduğu dosyadır.
  • public => Static dosyaların ve son kullanıcı ekranlarının bulunduğu klasördür.
  • script => Adından anlaşılacağı gibi Rails scriptlerinin ve daha sonra bizlerin yazdığı scriptlerin bulunduğu klasördür.
  • test => Test dosyalarının ve diğer test durumlarının bulunduğu bölümdür.
  • tmp => Temporary dosyalarını barındırır.
  • vendor => Ruby gemlerini ve Rails’in kaynak kodunu kapsayan bölümdür. Daha çok sonraki eklentileri içerir.

 

Son olarak projeyi çalıştırıp yazımı bitireceğim. Klasöre girip rails server veya rails s komutunu çalıştırdığımız zaman rails çalışmaya başlar. Projemize http://localhost:3000 adresinden erişebiliriz.

ve http://localhost:3000 adresine girdiğimizde bizi şöyle bir ekran karşılamaktadır.

 

Şimdilik bu kadar ilerleyen dönemlerde daha detaylı ve  MySQL veri tabanı kullanarak bir uygulama üzerinden anlatmaya çalışacağım.