Ruby on Rails (odatda qisqartirib Rails deb ataladi) — Devid Xeynemeyer Xansson tomonidan 2004-yilda ishlab chiqilgan va 2005-yilda ochiq manba sifatida taqdim etilgan, Ruby tilida yozilgan veb-ilova freymvorki. U Basecamp loyihasi ichida ishlatilgan kodning umumlashtirilishi natijasida yuzaga kelgan.
MVC arxitekturasi asosida qurilishi
Rails Model-View-Controller (MVC) arxitekturasiga qat’iy amal qiladi — Model ma’lumotlar mantig’ini, View foydalanuvchi interfeysini, Controller esa ular orasidagi oqimni boshqaradi. Bu aniq ajratish jamoaviy ishlashda har bir dasturchiga tizimning muayyan qismiga e’tibor qaratish imkonini beradi.
ActiveRecord orqali ma’lumotlar bilan ishlash
ActiveRecord — Rails’ning ma’lumotlar bazasi bilan ishlash uchun ORM (Object-Relational Mapping) qatlami bo’lib, u ma’lumotlar bazasi jadvallarini Ruby klasslariga avtomatik moslashtiradi. Dasturchi xom SQL yozish o’rniga User.where(yosh: 18) kabi Ruby kodi orqali so’rov yuborishi mumkin, bu esa kodni ma’lumotlar bazasi tizimidan qisman mustaqil qiladi.
Scaffolding orqali tezkor boshlash
Rails’ning “scaffold” buyrug’i bitta konsol amali orqali yangi resurs uchun model, kontroller, marshrutlar va oddiy interfeys shablonlarini avtomatik generatsiya qiladi. Bu xususiyat, ayniqsa loyihaning boshlang’ich bosqichida, ishlab chiqish tezligini sezilarli darajada oshiradi.
Veb-freymvorklar dunyosiga ta’siri
Rails “konventsiya konfiguratsiyadan ustun” tamoyilini ommalashtirgan birinchi yirik freymvorklardan biri bo’lib, bu g’oya keyinchalik Django, Laravel va Spring Boot kabi boshqa tillardagi freymvorklarga ham ta’sir ko’rsatdi. Shuningdek, Rails RESTful marshrutlash uslubini keng auditoriyaga tanitgan freymvorklardan biri hisoblanadi.
Bugungi o’rni
2010-yillar boshida veb-ishlab chiqishda dominant kuch bo’lgan Rails, Node.js va boshqa freymvorklarning ko’tarilishi bilan nisbiy ulushini yo’qotdi, ammo u hamon tezkor prototiplash va kam resurs bilan to’liq ishlaydigan mahsulot yaratish uchun qadrlanadi. GitHub, Shopify va Airbnb kabi xizmatlar dastlabki versiyalarini aynan Rails asosida qurgan.
Bog’liq tushunchalar
Ruby, MVC arxitekturasi, ActiveRecord, Konventsiya konfiguratsiyadan ustun, REST, Scaffolding, David Heinemeier Hansson