Selasa, 13 Maret 2018

Seri Belajar Ruby on Rails Bagian 4 - Pengenalan Rails Framework

Pengenalan Rails Framework

Rails adalah aplikasi framework berbasis web yang dibuat menggunakan bahasa pemrograman Ruby. Rails dibut untuk membuat proses pembuatan aplikasi web menjadi lebih mudah dan dibuat berdasarkan apa yang setipa pengembang butuhkan. Rails membuat para pengembang untuk menulis dengan kode program yang singkat daripada bahasa atau framework lain. Menurut para pengembang yang sudah mencoba Rails mengatakan bahwa Rails membuat deveopment aplikasi web menjadi lebih menyenangkan.



Rails memiliki dua filosofi yang menjadi pedoman dalam pembuatannya
  1. Dirancang untuk memudahkan programmer melakukan konfigurasi karena Ruby on Rails menggunakan prinsip "Convention Over Configuration". Dengan prinsip ini programmer tidak usah terlalu repot untuk melakukan seting aplikasi seperti koneksi ke database, karena sudah ada mekanisme yang disediakan dan cukup mudah karena tinggal mengisi nama tipe server database yang digunakan ( mysql / oracle / sql server / postgresql / etc ), mengatur nama database, username, password dan hos.

  2. Menggunakan prinsip "DRY ( Do not Repet Yourself )", yang intinya adalah efisiensi dalam manajemen codes. 
  3.  

Arsitektur Rails Framework


Rails memiliki konsep MVC(Model View Controller). Apa itu model ? Apa itu View ? dan apa itu Controller ?. Mari kita jawab satu-persatu.
  1. Model
    Model adalah inti dari aplikasi ruby on rails yang fungsinya untuk me-maintain sebuah aplikasi. Semua logic dan business rules di dalam aplikasi sebaiknya ditulis dalam model. Misalnya untuk memvalidasi sebuah username agar tidak lebih dari 30 karakter. Nantinya data yang akan masuk ke dalam database otomatis tervalidasi dan tidak mungkin terlewat.
  2. View
    View merupakan bagian yang fungsinya untuk membuat user interface. Misalnya HTML, XML, Ajax, dll. View berfungsi sebagai front-end dari suatu aplikasi.
  3. Controller
    Controller merupakan bagian yang fungsinya menerima "event" dari luar (user input) dan bertugas untuk menghubungkan model dengan view. Misalnya, untuk mengambil data sebuah user "A". Ambil datanya dari model, siapkan di controller, lalu view bertugas menampilkannya di halaman web.
MVC Flow pada Rails, terjadi seperti ini


Pada gambar terdapat bagan Rails Router. Rails router ini berfungsi untuk mengenali dan menerima permintaan dari URL. Lalu melemparkannya ke controller, atau langsung ke aplikasi itu sendiri. Untuk mengatur rails router ini terdapat pada folder config/routes.rb

Rails memiliki komponen-komponen penting yang saling berkesinambungan. Komponen-komponen tersebut terdiri dari
  • Action Mailer
    Action Mailer ini memungkin untuk melakukan pengiriman email dari aplikasi web yang dibuat.
  • Action Pack
    Action Pack merupakan kombinasi dari action-action di bawah ini.
    • Action Controller
      Action Controller ini merupakan C dari konsep MVC pada Rails. Controller ini pada umumnya berfungsi menjadi penengah antara model dan view. Ia juga bertugas untuk menerima request dari URL, lalu mem-fetching data atau menyimpan data, dan kemudian menggunakan view untuk menampilkan output berupa HTML.
    • Action Dispatcher
      Action Dispatcher ini berfungsi sebagai pengatur jalur antara request ke controller
    • Action View
      Action ini digunakan oleh Action Controller untuk mengkonversi respon yang dihasilkan controller
  • Active Model
    Active model berfungsi untuk mengizinkan Action Pack helper untuk berinteraksi dengan plain Ruby object. Action ini juga membantu dalam pembuatan custom ORM (Object Relational Mapping). Action ini berupa library-library yang berisi class-class yang digunakan oleh Active Record.
  • Active Record
    Active Record merupakan M dari konsep MVC pada Rails. Ia bertugas sebagai model dimana ia merupakan bagian dari sistem yang bertanggung jawab atas data bisnis dan logika. Data bisnis ini misalnya data orang, tempat, dsb.
  • Active Resource
    Active Resource adalah library yang bertujuan untuk menyediakan antarmuka antara Active Record untuk mengontrol resource atau object.
  • Active Support
    Active Support adalah salah satu komponen pada Rails yang bertanggungjawab untuk menyediakan Ruby extensions, utilities, dsb.
  • Railties


Membuat Rails Project Baru

Rails meyediakan generator pemanggil script yang ditujukan untuk embuat proses pengembangan menjadi lebih mudah. Untuk menggunakan generator untuk membuat Rails project baru, lakukan perintah berikut
$ rails new blog

Pindah ke folder blog, dengan cara
$ cd blog

Struktur dari Rails project
 
Folder yang sering kita buka dan kita ubah isinya saat membuat aplikasi di Rails Framework, sebagai berikut.
  1. app/
    Tempat menyimpan controller, model, view, helper, mailers, channels, jobs dan assets.
  2. config/
    Tempat menyimpan route, database, dll.
  3. db/
    Tempat menyimpan schema database dan migration
  4. Gemfile & Gemfile.lock
    File ini mengizinkan pengguna untuk mensfesifikasin apa yang dibutuhkan gem apa yang dibutuhkan untuk aplikasi.
Untuk melihat detail fungsi dari masing-masing folder lebih jelasnya terdapat disini.

Menjalankan Rails Project

Setelah membuat project baru, coba jalankan project tersebut dengan cara jalankan perintah berikut.

$ rails s

lalu coba jalankan dengan cara mengetikkan url http://localhost:3000 pada web browse. Jika project berhasil dijalankan, maka akan muncul halaman seperti berikut.


Untuk menghentikan web server, lakukan CTRL + C pada terminal atau command prompt.

Membuat Controller dan View

Untuk membuat sebuah project Rails, minimalnya harus memiliki sebuah controller dan sebuah view. Untuk membuat controller dan view kita bisa memanfaatkan generator yang telah disediakan oleh Rails.

Pada command prompt atau terminal, jalankan perintah berikut ini.
$ rails generate controller Welcome index

Ini artinya yang dilakukan adalah generator Rails membuat sebuah controller dengan nama welcome_controller.rb dan di dalamnya terdapat method index. Sedangkan pada view generator otomatis membuat folder baru pada bagian views dengan nama home dan didalamnya terdapat file index.html.erb.

Isi welcome_controller.rb
Isi file index.html.erb di folder app/views/welcome

Jika ingin membuat controller dan view secara manual dapat dilakukan dengan cara:
  1. Buat sebuah controller, ia harus berekstensi .rb
  2. Di dalam controller tersebut setidaknya harus membuat satu buah method
  3. Untuk membuat view,  buat folder terlebih dahulu, dan namanya disesuaikan dengan nama controller.  
  4. Baru di dalam folder tersebut buat halaman viewnya dengan nama disesuaikan dengan method pada controller dan ekstensinya harus .html.erb


Say "Hello !" to Rails

Setelah membuat controller dan view, maka yang dilakukan adalah ubah isi pada file index.html.erb seperti berikut.

  
Daftarkan method di route yang terletak di config/routes.rb, seperti berikut.


get 'welcome/index'
Script ini berarti kita mendefinisikan url /welcome/index yang jika diakses route akan melempar ke method index pada welcome_controller.rb.   

Penting:
Jika kita membuat controller dan view melalui generator maka method akan otomotis didaftarkan pada route.

Jalankan kembali Rails project dengan menjalankan perintah rails s. Pada browser
masukkan url http://localhost:3000/welcome/index pada web browser.

 

Fathara Annisa Azka | C-aio Indonesia

Tidak ada komentar:

Posting Komentar