İçeriğe atla

Ruby on Rails

Ruby on Rails
Geliştirici(ler)Rails Core Team
Güncel sürüm6.0.1 / 30 Haziran 2016 (8 yıl önce) (2016-06-30)[1]
Programlama diliRuby
İşletim sistemiÇoklu platform
TürWeb uygulama çatısı
LisansMIT Lisansı
Resmî sitesihttp://rubyonrails.org/
Kod deposu Bunu Vikiveri'de düzenleyin

Ruby On Rails ya da Rails, Ruby diliyle yazılmış, açık kaynak kodlu bir web uygulama geliştirme çatısıdır. Web uygulamaları için ihtiyaç duyulabilecek bütün bileşenleri barındıran Rails; model-view-controller, don't repeat yourself, convention over configuration yaklaşımlarını temel alır.[2]

Geçmiş

Ruby on Rails, David Heinemeier Hansson tarafından, gerçek bir proje yönetim aracı olan Basecamp21 Ocak 2008 tarihinde Wayback Machine sitesinde arşivlendi. uygulamasından çıkarılmış bir çatıdır. İlk versiyonu Haziran 2004'te, mevcut son ana versiyon 5.0 ise 30 Haziran 2016'da duyurulmuştur.

Sürüm Geçmişi
SürümTarihDeğişiklikler / Yeni ÖzelliklerNotlar
1.013 Aralık 2005 (18 yıl önce) (2005-12-13)[3]
1.219 Ocak 2007 (17 yıl önce) (2007-01-19)[4]
2.07 Aralık 2007 (16 yıl önce) (2007-12-07)[5]
2.11 Haziran 2008 (16 yıl önce) (2008-06-01)[6]
2.221 Kasım 2008 (15 yıl önce) (2008-11-21)[7]
2.316 Mart 2009 (15 yıl önce) (2009-03-16)Rack, iç içe form desteği, şablon ve şablon motorlarında büyük güncellemeler[8]
3.029 Ağustos 2010 (14 yıl önce) (2010-08-29)Merb ile birleşim[9]
3.131 Ağustos 2011 31 Ağustos 2011 (13 yıl önce) (2011-08-31)Asset Pipeline, Streaming, jQuery, CoffeeScript ve Sass desteği[10]
3.220 Ocak 2012 (12 yıl önce) (2012-01-20)Journey engine, Tagged Logging[11]
4.025 Haziran 2013 (11 yıl önce) (2013-06-25)Russian Doll Caching, Turbolinks, Live Streaming[12]
4.18 Nisan 2014 (10 yıl önce) (2014-04-08)Spring, Enumeration, Mailer önizleme, secrets.yml[13]
4.219 Aralık 2014 (9 yıl önce) (2014-12-19)Active Job, asenkron email, Adequate Record, Web Console[14]
5.030 Haziran 2016 (8 yıl önce) (2016-06-30)ActionCable, API modu[15]
5.127 Nisan 2017 (7 yıl önce) (2017-04-27)[16]
5.29 Nisan 2018 (6 yıl önce) (2018-04-09)[17]
6.015 Ağustos 2019 (5 yıl önce) (2019-08-15)[18]

Felsefesi

Rails, temel olarak Convention over Configuration ve Don't Repeat Yourself (DRY) yaklaşımları üzerine kurulmuştur.

"Convention over Configuration" ile, Ruby on Rails çatısı tarafından daha önceden belirlenmiş kurallara uygun yazılım geliştirilerek, çeşitli konfigürasyonel ve yazılımla ilgili rutin işlerin otomatik olarak Ruby on Rails çatısı tarafından yapılması kastedilmektedir. En iyi örnek, Ruby on Rails'in Model altyapısını oluşturan ActiveRecord yapısından verilebilir. Rails'de yazılım geliştirmeye başlamadan önce, veritabanında bulunan tablolar isimlendirilirken, İngilizce çoğul olacak şekilde verilirse (örneğin; customers, products vb.), kod içinde sadece customer.products şeklinde yazarak iki tablo arasında ilişki sağlanabilir ve müşterinin satın aldığı ürünlerin bilgisine başka herhangi bir kod yazmaya gerek kalmadan ulaşılabilir. Yazılımı kolaylaştırıcı benzer kurallar Ruby on Rails'de oldukça fazladır.

Don't Repeat Yourself (DRY) felsefesi ise aynı uygulama içinde aynı işi yapan kod parçalarının en aza indirilmesini öngörür. Örneğin, View altyapısında kullanılan "partial" yapısı, yazılmış bir kod parçacığını, birçok farklı noktada kullanabilmeyi sağlar. Rails, uygulamanın küçük parçalara ayrılarak, kod tekrarını önlemek konusunda oldukça başarılıdır.

Rails Yapısı

MVC yapısını oluşturan genel modüller şöyledir:

  • ActiveRecord (Model)
  • ActionView (View)
  • ActionController (Controller)

Rails Modülleri

  • ActionMailer
  • ActionController
  • ActionView
  • ActionWebService
  • ActiveRecord
  • ActiveSupport

Kaynakça

  1. ^ "Rails 6.0.1 released". 6 Kasım 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Kasım 2019. 
  2. ^ "Getting Started with Rails". Rails Guides. 29 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 16 Kasım 2014. 
  3. ^ "Rails 1.0: Party like it's one oh oh!". Riding Rails. 17 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Kasım 2014. 
  4. ^ "Rails 1.2: REST admiration, HTTP lovefest, and UTF-8 celebrations". Riding Rails. 10 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Kasım 2014. 
  5. ^ "Rails 2.0: It's done!". Riding Rails. 18 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Kasım 2014. 
  6. ^ "Rails 2.1: Time zones, dirty, caching, gem dependencies, caching, etc". Riding Rails. 24 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Kasım 2014. 
  7. ^ "Rails 2.2: i18n, HTTP validators, thread safety, JRuby/1.9 compatibility, docs". Riding Rails. 18 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Kasım 2014. 
  8. ^ "Rails 2.3: Templates, Engines, Rack, Metal, much more!". Riding Rails. 3 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Kasım 2014. 
  9. ^ "Rails 3.0: It's ready!". Riding Rails. 2 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Kasım 2014. 
  10. ^ "bumping to 3.1.0". 19 Haziran 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Kasım 2014. 
  11. ^ "Rails 3.2.0: Faster dev mode & routing, explain queries, tagged logger, store". Riding Rails. 9 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Kasım 2014. 
  12. ^ "Rails 4.0: Final version released!". Riding Rails. 27 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 31 Ekim 2014. 
  13. ^ "Rails 4.1.0: Spring, Variants, Enums, Mailer previews, secrets.yml". Riding Rails. 8 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Ekim 2014. 
  14. ^ "Rails 4.2: Active Job, Asynchronous Mails, Adequate Record, Web Console, Foreign Keys". 9 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Şubat 2015. 
  15. ^ "Rails 5.0: Action Cable, API mode, and so much more". 11 Ocak 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Kasım 2019. 
  16. ^ "Rails 5.1: Loving JavaScript, System Tests, Encrypted Secrets, and more". 29 Eylül 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Kasım 2019. 
  17. ^ "Rails 5.2.0 FINAL: Active Storage, Redis Cache Store, HTTP/2 Early Hints, CSP, Credentials". 26 Temmuz 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Kasım 2019. 
  18. ^ "Rails 6.0: Action Mailbox, Action Text, Multiple DBs, Parallel Testing, Webpacker by default, and Zeitwerk". 2 Aralık 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Kasım 2019. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Windows CE</span> Microsoft tarafından taşınabilir cihazlar için yazılmış bir işletim sistemi

Windows CE, Microsoft tarafından taşınabilir cihazlar için yazılmış bir işletim sistemidir. Windows CE, sanılanın aksine küçültülmüş bir Windows değil özel olarak yazılmış, ayrı bir işletim sistemidir. Windows'un küçültülmüş sürümlerine bir örnek olarak Windows XP Embedded sayılabilir.

<span class="mw-page-title-main">CakePHP</span>

CakePHP, PHP üzerinde geliştirilmiş açık kaynak kodlu, MVC (Model-View-Controller) mantığıyla geliştirilmiş, Ruby on Rails'in PHP karşılığı olan frameworktür.

<span class="mw-page-title-main">KDevelop</span>

KDevelop Linux ve diğer Unix benzeri işletim sistemleri için özgür bir tümleşik geliştirme ortamıdır (T.G.O). KDevelop bir derleyici içermez. Çalıştırılabilir kod üretebilmek için GCC veya istenirse başka bir derleyici kullanır. Şu anki 3.5 sürümü Ada, Bash, C, C++, Fortran, Java, Pascal, Perl, PHP, Python, Ruby ve SQL başta olmak üzere birçok programlama dilini destekler.

<span class="mw-page-title-main">Model-View-Controller</span>

Model-View-Controller (MVC), yazılım mühendisliğinde kullanılan bir "mimari desen" veya bir "tasarım deseni"dir. Kullanıcıya yüklü miktarda verinin sunulduğu karmaşık uygulamalarda veri ve gösterimin soyutlanması esasına dayanır. Böylece veriler ve kullanıcı arayüzü, birbirini etkilemeden İngilizce: controller adı verilen ara bileşenle veri gösterimi ve kullanıcı etkileşiminden veri erişimi ve iş mantığını çıkarma suretiyle çözümlenmektedir.

Ruby, nesneye yönelik, dinamik, reflektif ve esnek bir programlama dilidir. Ruby dili, Yukihiro Matsumoto tarafından Japonya'da tasarlanmaya ve geliştirilmeye başlanmıştır.

<span class="mw-page-title-main">MIT Lisansı</span>

MIT Lisansı, 1988 yılında Massachusetts Teknoloji Enstitüsü tarafından hazırlanmış, en yaygın kullanılan özgür yazılım lisanslarından biridir.

<span class="mw-page-title-main">Laravel</span>

Laravel, MVC yapısında web uygulamaları geliştirme için tasarlanmış ücretsiz, açık kaynak PHP web uygulama iskeletidir. Laravel, GitHub sitesinde barındırılan kaynak kodu ile birlikte, MIT lisansı altında yayınlandı.

Swift, Apple tarafından iOS ve macOS platformlarına iOS ve Mac uygulamaları geliştirmek için oluşturulan, derlenerek çalışan güçlü ve kullanımı kolay, nesne yönelimli bir programlama dili.

JetBrains RubyMine Ruby ve Ruby on Rails ile yazılım geliştirmede kullanılan ticari bir tümleşik geliştirme ortamıdır.

RSpec Ruby dili ile yazılmış bir test çatısıdır. Test tabanlı geliştirme ortamlarında tercih edilen RSpec, komut satırında çalışan ana program (rspec) haricinde örnek test dosyalarını ve açıklamalarını barındıran rspec-core, genişletilebilir beklenti (expectation) dili paketi rspec-expectations, dahili mock/stub desteği sunan rspec-mocks paketleri ile gelir. Ayrıca Ruby on Rails desteği için rspec-rails paketi mevcuttur.

Sinatra, ücretsiz, açık kaynak kodlu ve Ruby dili ile yazılmış bir web uygulama çatısıdır. Ruby on Rails, Merb gibi diğer Ruby çatılarına alternatif olan Sinatra, web sunucu arayüzü olarak Rack'i kullanmaktadır.

David Heinemeier Hansson Danimarkalı yazılım uzmanı. Ruby on Rails çatısını geliştiren Hansson, Dave Thomas ile birlikte Agile Web Development with Rails kitabını yazmıştır. Hansson'un bu yapıtı haricinde REWORK ile REMOTE: Office Not Required adlı kitapları vardır.

<span class="mw-page-title-main">Rack</span>

Rack Ruby uygulamaları için açık kaynak kodlu web sunucu arayüzü. Rack sunucu ile uygulama arasında bir ara katman işlevi görür, uygulamaya gelen HTTP talepleri işleyerek karşılığında verilecek cevapları organize eder. Ruby on Rails, Sinatra gibi popüler Ruby tabanlı çatılarda Rack kullanılmaktadır.

<span class="mw-page-title-main">Yazılım iskeleti</span>

Bilgisayar programlamada yazılım iskeleti, yazılım çerçevesi ya da yazılım çatısı, standart fonksiyonların hazır olarak sunulduğu ancak programcı tarafından bu fonksiyonlardan arzu edilen kısımların ek kodlarla istenildiği şekilde güncellenebildiği sistemlerdir.

<span class="mw-page-title-main">Discourse (yazılım)</span>

Discourse açık kaynak kodlu, Ruby ve JavaScript dilleri ile yazılmış İnternet forumu yazılımı. GNU Genel Kamu Lisansı ile dağıtılan Discourse, Ruby on Rails ile Ember.js çatıları kullanılarak geliştirilmektedir.

<span class="mw-page-title-main">Komodo Edit</span>

Komodo Edit dinamik programlama dilleri için ücretsiz metin editörü. ActiveState'in Komodo IDE yazılımına tamamlayıcı olarak 2007'de yayımlanan Komodo Edit, 4.3 sürümünden itibaren Open Komodo yazılımı üzerine geliştirilmeye başlanmıştır. Komodo Edit'in birçok özelliği gömülü bir Python yorumlayıcısından türetilmiştir.

<span class="mw-page-title-main">Capistrano</span>

Capistrano açık kaynak kodlu, web uygulamalarını web sunucularına yüklemekte kullanılan bir araç. Capistrano, web uygulamalarının her bir yüklemesi için sürüm bilgisi oluşturarak, uygulamayı kullanıma hazırlayana kadar yapılacak işlemleri otomatize eder.

<span class="mw-page-title-main">Refinery CMS</span>

Refinery CMS, Ruby dili ile Ruby on Rails çatısı ile yazılmış içerik yönetim sistemi yazılımı. Refinery, Rails 3.2 ile 4.0 sürümleri destekli olarak geliştirilmektedir. Refinery'nin 1.0 sürümü 28 Mayıs 2011'de yayınlandı. 2.0 sürümü 29 Şubat 2012'de, 2.1 sürümü ise 5 Ağustos 2013'te yayınlandı.

Joyent, ABD'nin San Fransisco kenti merkezli yazılım firması. Firma, özellikle uygulama sanallaştırma ve bulut bilişim alanında hizmet vermektedir.

<span class="mw-page-title-main">Windows Server Update Services</span>

Windows Server Update Services (WSUS), Microsoft Corporation tarafından geliştirilen ve yöneticilerin Microsoft ürünleri için yayımlanan güncelleştirmelerin ve düzeltmelerin şirket ortamındaki bilgisayarlara dağıtımını yönetmesini sağlayan bir bilgisayar programı ve ağ hizmetidir.. WSUS bu güncelleştirmeleri Microsoft Update web sitesinden indirir ve ardından bir ağdaki bilgisayarlara dağıtır. WSUS, Windows Server'ın ayrılmaz bir bileşenidir.