Muhammad Ariffudin also known as Ariffud

Apa itu Ruby on Rails? Mengenal Web Framework Rails

6 min read

[FI + Ilustrasi] Apa itu Ruby on Rails Mengenal Web Framework Ra

Ruby on Rails adalah framework berbasis Ruby yang banyak digunakan untuk membangun aplikasi web. Jika Anda belajar bahasa Ruby, Anda wajib menguasai framework yang satu ini.

Kenapa begitu? Sebab, Ruby on Rails mampu memperbaiki keterbatasan Ruby dari segi fleksibilitas. Serta, meningkatkan kemampuan Ruby dalam hal integrasi sehingga dapat diandalkan untuk membuat berbagai jenis aplikasi web.

Penasaran dengan penjelasan selengkapnya? Simak artikel ini hingga selesai, ya!

Apa itu Ruby on Rails?

apa itu ruby on rails

Ruby on Rails adalah sebuah web framework yang ditulis menggunakan bahasa pemrograman Ruby. Rails sendiri merupakan framework open source yang dirilis dengan lisensi MIT.

Ruby on Rails pertama kali dikembangkan oleh David Heinemeier Hansson, seorang programmer asal Denmark pada Agustus 2004. Hingga kini, Rails berkembang pesat dengan versi terbaru, 7.0.1, dirilis 6 Januari 2022 lalu.

Ruby on Rails adalah framework full stack. Artinya, ia bisa digunakan sebagai framework back end untuk mengelola database dan file di server. Namun, bisa juga digunakan sebagai framework front end untuk me-render HTML dan mengupdate halaman secara live.

Sebenarnya, alasan Rails tergolong framework full stack karena ia memiliki arsitektur MVC (Model View Controller). Nah, Model dan Controller bertugas mengatur aktivitas back end, sementara View berguna mengelola tampilan front end.

Arsitektur MVC membuat Ruby on Rails sangat fleksibel untuk membangun berbagai jenis aplikasi web. Mulai dari Progressive Web App (PWA), Single Page App (SPA), Rich Internet App (RIA), bahkan Web Service dan API.

Jadi tidak heran, jika Ruby on Rails banyak digunakan oleh perusahaan kelas dunia. Beberapa di antaranya ialah Github, Shopify, Dribble, Hulu, Airbnb, Twitch, dan Soundcloud.

perusahaan pengguna ruby on rails

Perbedaan Ruby dan Ruby on Rails

Setelah mengetahui apa itu Ruby on Rails, berikutnya mari belajar perbedaan Ruby dan Ruby on Rails. Pada dasarnya, Ruby ialah bahasa pemrograman sedangkan Ruby on Rails adalah framework.

Namun, terdapat perbedaan Ruby dan Ruby on Rails lain yang tak kalah pentingnya, yaitu:

1. Karakteristik

Seperti yang sedikit dijelaskan, Ruby adalah bahasa pemrograman murni. Artinya, ia bisa digunakan baik secara mandiri (native) maupun dikombinasikan dengan framework lain, seperti Rails.

Sebagai bahasa pemrograman, Ruby mempunyai syntax, struktur data, dan aturan-aturan khas. Nah, hal tersebut membuat Ruby bisa diterjemahkan menjadi bahasa yang dimengerti, baik oleh manusia ataupun komputer.

Sebaliknya, Ruby on Rails adalah framework untuk bahasa Ruby. Artinya, ia tidak bisa berjalan di atas bahasa pemrograman lain, seperti Python atau PHP. Rails juga mengikuti semua aturan yang ditetapkan Ruby.

Perbedaan karakteristik inilah yang justru berpengaruh besar ke tujuan dikembangkannya Ruby on Rails. Yaitu, untuk meningkatkan kemampuan Ruby itu sendiri. 

Dengan begitu, Ruby on Rails framework adalah sesuatu yang bisa melakukan hal-hal yang tidak dapat dilakukan Ruby secara native. Misalnya memproses rendering di server, serta mendukung berbagai library dan bahasa lain.

Diibaratkan, Ruby ialah sepetak lahan kosong dengan luas area dan karakteristik tanah tersendiri. Sedangkan, Ruby on Rails adalah apartemen lengkap dengan perabotan, di mana penghuninya tinggal menata sesuai keinginan.

Baca juga: Contoh Bahasa Pemrograman

2. Kegunaan

Meski bisa digunakan untuk banyak hal, Ruby paling cocok dipakai membangun aplikasi desktop. Sebab, ia menerapkan rendering script di klien, atau yang sering disebut client side rendering.

Artinya, pengguna harus mengunduh semua data, fungsi, hingga layout tampilan sebelum bisa menggunakannya dengan lancar. Hal ini tentu saja sesuai dengan karakteristik aplikasi desktop pada umumnya.

Namun, client side rendering tidak efektif diterapkan di aplikasi berbasis web. Sebab, pengguna harus menunggu lama sampai semua fungsi dan tampilan web muncul di browser.

Sebaliknya, Ruby on Rails bisa menjadi pilihan ketika membangun aplikasi berbasis web. Sebab, ia punya mekanisme server side rendering, di mana setiap script di render pada server sebelum dikirimkan ke client.

Artinya, segala sesuatunya telah disiapkan di server. Dengan begitu, pengguna dapat menikmati tampilan serta mengakses semua fungsi web secara instan tanpa perlu menunggu lama.

Tak hanya itu, Rails menggunakan arsitektur MVC yang bisa diandalkan membangun berbagai jenis web. Sebab, MVC mampu meringkas baris kode sehingga mempercepat proses pengembangan web.

3. Kecepatan

Ruby tergolong bahasa pemrograman tingkat tinggi. Artinya, ia bisa dengan mudah dimengerti oleh manusia. Hal ini membuat Ruby dapat diandalkan untuk membangun project dengan cepat.

Jika Ruby sudah cukup cepat, maka menggunakan Ruby on Rails semakin mempercepat proses Anda. Sebab, Rails sudah menyiapkan berbagai konfigurasi file secara otomatis.

Artinya, Anda hanya perlu fokus menulis kode untuk menghasilkan fungsi-fungsi yang diharapkan. Hasilnya, waktu yang diperlukan untuk membangun aplikasi web jadi lebih singkat.

4. Syntax

Ruby memiliki aturan penulisan kode yang simpel. Ia menggunakan aturan yang mirip dengan bahasa pemrograman berorientasi obyek lain seperti bahasa Python. Contohnya sebagai berikut:

python vs ruby syntax

Untuk syntaxnya sendiri, Ruby memberlakukan beberapa prinsip. Mulai dari syntax flexibility, overloading, exception handling, built in support, variable scopes, dan masih banyak lagi.

Sebagai framework untuk Ruby, Ruby on Rails tentu menerapkan prinsip-prinsip syntax di atas. Tapi, ia juga memberlakukan satu prinsip baru, yaitu DRY (Don’t Repeat Yourself).

Artinya, syntax pada Rails dibuat sesederhana mungkin, sehingga Anda tidak perlu menulis kode yang sama secara berulang-ulang. Hal ini membuat hasil coding jadi lebih rapi.

Baca juga: 9+ Tips Belajar Coding Terlengkap untuk Pemula

5. Fleksibilitas

Meski tergolong bahasa open source, Ruby ternyata tidak begitu fleksibel. Maksudnya, Anda tidak bisa menggabungkan syntax Ruby dengan bahasa lain, seperti HTML dan CSS.

Ini juga merupakan alasan kenapa Ruby kurang cocok dipakai untuk membangun aplikasi berbasis web. Untungnya, Ruby on Rails berhasil memperbaiki kekurangan Ruby dari segi fleksibilitas.

Dengan Rails, Anda bisa dengan mudah menambahkan syntax dari bahasa lain, baik pemrograman ataupun markup. Mulai HTML, CSS, JSON, hingga XML, seperti contoh berikut:

fleksibilitas ruby on rails

Hal ini memudahkan Anda dalam membangun aplikasi web yang sesuai dengan harapan, baik dari tampilan front end maupun fungsi-fungsi di back end.

Kelebihan Ruby on Rails

Anda telah belajar apa itu Ruby on Rails serta perbedaannya dengan Ruby. Sekarang, mari ketahui kelebihan Ruby on Rails. Secara umum, Rails menawarkan kelebihan berupa kecepatan dan kemudahan dalam mengembangkan aplikasi web Anda.

Sebab, ia memiliki beberapa karakteristik dan fitur berikut:

1. Full Stack Framework – Dengan Ruby on Rails, Anda tidak perlu menggunakan dua framework berbeda untuk aktivitas di mengatur back end maupun membuat tampilan front end.

2. Arsitektur MVC – Arsitektur MVC pada Rails memungkinkan hasil coding Anda menjadi lebih rapi. Sebab, setiap fungsi ditulis sesuai wadahnya. Contohnya layout halaman ditempatkan pada View.

3. Konfigurasi Otomatis – Ruby on Rails membawa prinsip Convention over Configuration. Artinya, sebagian besar proses pengembangan Rails tidak memerlukan konfigurasi file, karena sudah disiapkan secara otomatis.

4. Prinsip DRY – Adanya prinsip Don’t Repeat Yourself pada Ruby on Rails semakin mempercepat pengembangan aplikasi Anda. Sebab, hal tersebut menghindarkan Anda dari boilerplate, atau menulis kode yang sama di berbagai tempat.

5. Integrasi Bahasa Lain – Seperti yang sudah dijelaskan, Anda bisa menambahkan syntax bahasa lain ke project Ruby on Rails. Hasilnya, aplikasi Anda dapat berjalan tanpa kendala, meski menggunakan beberapa bahasa berbeda.

Baca juga: Full Stack Developer: 7+ Skill yang Harus Dikuasai untuk Menjadi Handal

Belajar Ruby on Rails

Anda telah mengetahui apa itu Ruby on Rails, kelebihan, serta perbedaan Ruby dan Ruby on Rails. Nah, sekarang mari belajar pemrograman Ruby on Rails. 

Tapi, pastikan Anda telah menguasai bahasa Ruby sebelumnya.Sebab, Rails tidak punya aturan syntax dan bahasa sendiri, melainkan memakai bahasa Ruby. 

Nah, berikut ini empat dasar pemrograman Ruby on Rails yang perlu Anda kuasai:

1. Active Record

Active Record adalah wadah untuk menghubungkan Model dengan database. Di sini, Anda bisa menulis perintah SQL, membuat relasi antar tabel, mengelola value tabel, sampai mengenkripsi data yang bersifat sensitif.

Nah, berikut beberapa syntax dasar Active Record di Ruby on Rails:

# /membuat active record baru
class Product < ApplicationRecord
end

# /membuat tabel database
CREATE TABLE products (
  id int(11) NOT NULL auto_increment,
  name varchar(255),
  PRIMARY KEY  (id)
);

# /menginput value ke tabel
p = Product.new
p.name = "Some Book"
puts p.name # "Some Book"

2. Action Controller

Pada Ruby on Rails, Action Controller berguna untuk mengelola semua fungsi di web. Nah, Anda bisa menghubungkan Model dan View, memproses parameter dan caching, hingga merender template di sini.

Berikut ini beberapa syntax Action Controller pada Ruby on Rails:

# /membuat  method baru
class ClientsController < ApplicationController
  def new
  end
end

# /membuat  action baru
def new
  @client = Client.new
end

# /membuat  parameter baru
class ClientsController < ApplicationController
  def index
    if params[:status] == "activated"
      @clients = Client.activated
    else
      @clients = Client.inactivated
    end
  end

  def create
    @client = Client.new(params[:client])
    if @client.save
      redirect_to @client
    else
      render "new"
    end
  end
end

3. Action View

Action View adalah wadah untuk membangun tampilan front end pada Ruby on Rails. Di sini, Anda mengelola template dan menambahkan syntax dari bahasa lain seperti HTML.

Nah, berikut contoh syntax Action View saat belajar pemrograman Ruby on Rails:

# /menambahkan  syntax HTML
<h1>Names of all the people</h1>
<% @people.each do |person| %>
  Name: <%= person.name %><br>
<% end %>

# /menambahkan  syntax XML
xml.em("emphasized")
xml.em { xml.b("emph & bold") }
xml.a("A Link", "href" => "https://rubyonrails.org")
xml.target("name" => "compile", "option" => "fast")

# /menambahkan  syntax JSON
json.name("Alex")
json.email("alex@example.com")

4. Action Routing

Pada Ruby on Rails, Action Routing berfungsi untuk menghubungkan URL halaman ke Controller. Caranya dengan mengkonfigurasi file resource lewat beberapa perintah seperti index, show, edit, update, dan destroy.

Contoh hasil konfigurasi Action Routing di Rails adalah sebagai berikut:

# /membuat  konfigurasi routing baru
Rails.application.routes.draw do

# /menambahkan  banyak routing
  resources :brands, only: [:index, :show] do
    resources :products, only: [:index, :show]
  end

# /menambahkan  satu routing
  resource :basket, only: [:show, :update, :destroy]
end

Nah, itu tadi semua tentang Ruby on Rails. Setelah ini, Anda bisa langsung mempraktikkan tutorial Ruby on Rails. Namun sebelumnya, simak dulu informasi yang mau lewat ini!

Tertarik Menggunakan Ruby on Rails?

Ruby on Rails adalah framework full stack untuk meningkatkan kemampuan bahasa Ruby. Sebab, ia memiliki keunggulan yang tidak dimiliki Ruby secara native, seperti arsitektur MVC dan integrasi bahasa lain.

Tak hanya itu, Ruby on Rails bisa diandalkan untuk membangun berbagai jenis aplikasi web, seperti PWA dan RIA. Sebab, ia menerapkan server side rendering sehingga menawarkan performa yang cepat.

Pun demikian, performa aplikasi web tidak hanya dipengaruhi oleh metode rendering. Ada beberapa hal lain yang perlu Anda perhatikan, salah satunya kinerja server di layanan hosting.

Nah, jika Anda perlu hosting dengan server tangguh, Niagahoster bisa menjadi pilihan. Tersedia paket Cloud VPS Hosting dengan berbagai fitur untuk kebutuhan project Ruby on Rails Anda.

Mulai dari Dedicated Server untuk penggunaan server pribadi, Full Access Root untuk kemudahan menginstall dan mengelola project Ruby on Rails, serta Jaminan Uptime 99.98% untuk web yang bebas down.

Menarik sekali kan? Tunggu apa lagi, yuk bangun project Ruby on Rails Anda menggunakan layanan VPS terbaik dari Niagahoster!

Demikian artikel kali ini, semoga bermanfaat. Jangan lupa untuk klik tombol Subscribe agar tidak ketinggalan artikel terbaru kami. Sampai jumpa lagi!

Muhammad Ariffudin also known as Ariffud

Leave a Reply

Your email address will not be published. Required fields are marked *