Ruby on Rails - Giriş

Ruby nedir?

Rails'e binmeden önce, Rails'in temeli olan Ruby'nin birkaç noktasını özetleyelim.

Ruby şunun başarılı kombinasyonudur -

  • Smalltalk'ın kavramsal zarafeti,
  • Python'un kullanım ve öğrenme kolaylığı ve
  • Perl'in pragmatizmi.

Ruby -

  • Üst düzey bir programlama dili.
  • Perl, Python, Tcl / TK gibi yorumlandı.
  • Smalltalk, Eiffel, Ada, Java gibi nesne yönelimli.

Neden Ruby?

Ruby Japonya'da doğdu ve şimdi ABD ve Avrupa'da da popülerlik kazanıyor. Aşağıdaki faktörler popülaritesine katkıda bulunur -

  • Öğrenmesi kolay
  • Açık kaynak (çok liberal lisans)
  • Zengin kitaplıklar
  • Uzatmak çok kolay
  • Gerçekten nesne odaklı
  • Daha az hatayla daha az kodlama
  • Yararlı topluluk

Ruby kullanmak için pek çok nedenimiz olsa da, Ruby'yi uygulamadan önce göz önünde bulundurmanız gereken birkaç dezavantaj da vardır -

  • Performance Issues - Perl ve Python'a rakip olmasına rağmen, yine de yorumlanmış bir dildir ve onu C veya C ++ gibi üst düzey programlama dilleriyle karşılaştıramayız.

  • Threading model- Ruby yerel iş parçacıkları kullanmaz. Ruby iş parçacıkları, yerel işletim sistemi iş parçacıkları olarak çalıştırmak yerine sanal makinede simüle edilir.

Örnek Ruby Kodu

İşte "Hello Ruby" yazdırmak için örnek bir Ruby kodu

# The Hello Class
class Hello
   
   def initialize( name )
      @name = name.capitalize
   end

   def salute
      puts "Hello #{@name}!"
   end
   
end

# Create a new object
h = Hello.new("Ruby")

# Output "Hello Ruby!"
h.salute

Output - Bu, aşağıdaki sonucu verecektir -

Hello Ruby!

Gömülü Ruby

Ruby, Seki Masatoshi tarafından yazılan ERB (Gömülü Ruby) adlı bir program sağlar . ERB, Ruby kodlarını bir HTML dosyasına koymanıza izin verir. ERB, kelimesi kelimesine okur ve belirli bir noktada, belgeye gömülü bir Ruby koduyla karşılaştığında, Ruby kodunu çalıştırmaya başlar.

Bir ERB belgesi hazırlamak için yalnızca iki şeyi bilmeniz gerekir -

  • Bir Ruby kodunun çalıştırılmasını istiyorsanız, onu arasına koyun <% ve %>.

  • Kod yürütme sonucunun çıktının bir parçası olarak yazdırılmasını istiyorsanız, kodu arasına <%= ve %>.

İşte bir örnek. Kodu erbdemo.rb dosyasına kaydedin. Bir Ruby dosyasının bir uzantısı olacağını unutmayın.rb -

<% page_title = "Demonstration of ERB" %>
<% salutation = "Dear programmer," %>

<html>

   <head>
      <title><%= page_title %></title>
   </head>
	
   <body>
      <p><%= salutation %></p>
      <p>This is an example of how ERB fills out a template.</p>
   </body>
	
</html>

Şimdi, programı komut satırı yardımcı programını kullanarak çalıştırın erb.

tp> erb erbdemo.rb

Bu, aşağıdaki sonucu verecektir -

<html>

   <head>
      <title>Demonstration of ERb</title>
   </head>
	
   <body>
      <p>Dear programmer,</p>
      <p>This is an example  of how ERb fills out a template.</p>
   </body>
	
</html>

Rails nedir?

  • Son derece verimli bir web uygulama çerçevesi.

  • Ruby'de, David Heinemeier Hansson tarafından yazılmıştır.

  • Rails ile tipik bir Java çerçevesine göre en az on kat daha hızlı bir web uygulaması geliştirebilirsiniz.

  • Veritabanı destekli web uygulamaları geliştirmek için açık kaynaklı bir Ruby çerçevesi.

  • Kodunuzu Veritabanı Şeması ile yapılandırın.

  • Derleme aşaması gerekmez.

Tam Yığın Çerçevesi

  • Model-View-Controller modelini kullanarak veritabanı odaklı bir web uygulaması oluşturmak için gereken her şeyi içerir.

  • Tam yığın bir çerçeve olmak, tüm katmanların daha az kodla sorunsuz bir şekilde çalışmak üzere tasarlandığı anlamına gelir.

  • Diğer çerçevelere göre daha az kod satırı gerektirir.

Konfigürasyon Üzerine Konvansiyon

  • Rails, konfigurasyon dosyalarını, yansıma ve dinamik çalışma zamanı uzantılarının yerine koyar.

  • Uygulama kodunuz ve çalışan veritabanınız zaten Rails'in bilmesi gereken her şeyi içeriyor!

Rayların Güçlü Yönleri

Rails, sizi daha üretken kılan özelliklerle doludur ve aşağıdaki özelliklerin çoğu birbiri üzerine inşa edilir.

Metaprogramlama

Diğer çerçevelerin sıfırdan kapsamlı kod üretimini kullandığı durumlarda, Rail çerçevesi programları yazmak için Metaprogramlama tekniklerini kullanır. Ruby, Metaprogramlama için en iyi dillerden biridir ve Rails bu özelliği iyi kullanır. Rails ayrıca kod üretmeyi kullanır, ancak ağır işler için Metaprogramlamaya çok daha fazla güvenir.

Aktif Kayıt

Rails, nesneleri veritabanına kaydeden Active Record çerçevesini sunar. Active Record'un Rails sürümü, bir veritabanı şemasındaki sütunları keşfeder ve meta programlamayı kullanarak bunları otomatik olarak etki alanı nesnelerinize ekler.

Yapılandırma üzerinde anlaşma

.NET veya Java için çoğu web geliştirme çerçevesi, sizi yapılandırma kodu sayfaları yazmaya zorlar. Önerilen adlandırma kurallarını uygularsanız, Rails'in fazla yapılandırmaya ihtiyacı yoktur.

İskele

Bir uygulamanın hızlı bir şekilde kurulmasına yardımcı olmak ve ana bileşenlerin birlikte nasıl çalıştığını görmek için genellikle geliştirmenin ilk aşamalarında geçici kod oluşturursunuz. Raylar, ihtiyacınız olan iskelenin çoğunu otomatik olarak oluşturur.

Yerleşik test

Rails, daha sonra genişletebileceğiniz basit otomatik testler oluşturur. Rails ayrıca test senaryolarının yazılmasını ve çalıştırılmasını kolaylaştıran kablo demetleri ve fikstürler olarak adlandırılan destekleyici kod sağlar. Ruby daha sonra tüm otomatik testlerinizi komisyon aracı ile gerçekleştirebilir.

Üç ortam

Rails size üç varsayılan ortam sunar: geliştirme, test etme ve üretim. Her biri biraz farklı davranarak tüm yazılım geliştirme döngünüzü kolaylaştırır. Örneğin, Rails her test çalıştırması için Test veritabanının yeni bir kopyasını oluşturur.