Selasa, 24 Mei 2016

Laravel for RESTful API Framework

A. Pengenalan 

Holaaa...berjumpa lagi dengan saya :) setelah sekian lama vakum dari menulis blog dikarenakan kesibukan tugas kampus, saya memutuskan untuk menulis artikel ini di waktu senggang. Yuk langsung cekidot.

Pada artikel ini saya akan membahas tentang salah satu RESTful Framework API yaitu Laravel. Namun sebelum menyelami labih dalam tentang Laravel, saya akan menjelaskan sedikit tentang RESTful terlebih dahulu. RESTful vs SOAP, keduanya adalah jenis Web Service yang digunakan pada web aplikasi modern saat ini. Untuk penjelasan SOAP (Simple Object Access) kalian bisa googling sendiri. Nah kita fokus pada RESTful (Representational State Transfer), itu merupakan standar dalam arsitektur web yang menggunakan Protocol HTTP untuk pertukaran data Dalam mengakses sebuah resource, REST juga menggunakan konsep URI dimana ada method yang digunakan, method-method yang mendukung REST yaitu : GET, PUT, DELETE, POST, OPTIONS.

Mengapa Laravel  Disebut Sebagai RESTful API Framework ?

Hmmm..pertama kali saya sendiri juga bingung...yang saya tau Laravel adalah sebuah Macro PHP Framework. Namun menurut pengalaman pribadi saya dalam routing laravel sudah bisa menggunakan method selain GET dan POST yaitu  bisa lihat di https://laravel.com/docs/5.1/controllers . Nah Disanalah saya sedikit mendapatkan pencerahan. Dengan kata lain Laravel sudah menggunakan request method  seperti PUT, DELETE, PACTH maka sudah bisa dibilang RESTful framework. CMIIW (Correct Me If I'm Wrong).

Mengenal Laravel Lebih Jauh !
Ayo kita mulai saja mengenal lebih jauh framework yang powerfull ini, check this out !!

B. Sejarah

Sejarah framework Laravel dibuat oleh om Taylor Otwell, proyek Laravel dimulai pada April 2011. Awal mula proyek ini dibuat, karena Otwell sendiri tidak menemukan framework yang up-to-date dengan versi PHP. mengembangkan framework yang sudah ada juga bukan merupakan ide yang bagus, karena keterbatasan sumber daya. Dikarenakan beberapa keterbatasan tersebut, Otwell membuat sendiri framework dengan nama Laravel. Oleh karena itu, Laravel mensyaratkan PHP versi 5.3 ke atas.

Sebelum datang versi up-to-date Laravel 4.2, ternyata sejarah yang panjang di dalam pembuatan Laravel dari sebelum ada Laravel sampai sekarang dengan muncul Laravel 4.2, mari kita bahas sekilas :
  • Release Laravel 1

    Dimulai dengan rilis pertama, fitur Laravel dibangun dengan Autentikasi, Eloquent ORM (Object Relational Mapping) untuk operasi database, localization, model dan relationship, mekanisme routing yang sederhana, caching, session, views, module dan library, HTML, dsb. Bahkan pada rilis pertama, Laravel sudah memiliki beberapa fungsi mengesankan pada saat itu Laravel versi ini belum berbasis MVC (Model View Controller), tetapi developer menyukai karena sintaks yang friendly dan potensi framework baru ini yang begitu menjanjikan.
  • Release Laravel 2

    Laravel versi 2 dirilis ke developer pada 24 November 2011, upgrade beberapa fitur diantaranya dukungan controller, engine template dan pengunaan invers. Dengan penambahan fitur controller ini, maka Laravel versi 2 ini sudah resmi menjadi framework yang berbasis MVC. Kurang dari dua bulan kemudian resmi Laravel 3 dirilis.
  • Release Laravel 3

    Pada 22 Februari 2012, Laravel 3 dirilis, memfokuskan pada unit test integration, artisan command line interface, database migration, session driver dan database driver.
    Forum Laavel terus menerus menerangi pengguna framework ini. Laravel 3 dirilis secara stabil untuk beberapa waktu. Sekitar 5 bulan setelah dirilis, creator Laravel memutuskan untuk menulis ulang framework dari awal sebagai satu set paket yang didistribusikan melalui composer. Kemudian barulah dirilis Laravel 4, upgrade signifikan yang menampilkan arsitektur yang berbeda dari inti framework.
  • Release Laravel 4

    Laravel 4 memiliki fitur yang ada di versi lain atau bahkan framework yang telah ada sebelumnya, seperti database seeding, message queues, built-in mailer, fitur Eloquent ORM, soft delete, dan bahkan lebih dari itu. berbeda denagn versi sebelumnya, Laravel 4 ini akan ada jadwal rilis secara teratur setiap 6 bulan untuk update (patch dan perbaikan bug). Dengan unit test yang meliputi 100% dari fungsi framework tersebut, Laravel 4 ini akan menjanjikan untuk menjadi stabil dan mudah di update secara online melalui composer.
  • Release Laravel 5 Keatas

    Ini adalah rilis LTS pertama untuk Laravel. Artinya Laravel 5.1 akan menerima 2 tahun untuk perbaikan bug dan 3 tahun untuk perbaikan masalah keamanan. RIlis LTS akan dirilis setiap 2 tahun, yang artinya rilis LTS berikutnya akan hadir di Mei, 2017. Laravel yang dirilis dengan versi LTS akan menyediakan kenyamanan terhadap pengembangan toko atau klien yang membutuhkan jaminan perbaikan keamanan yang berkelanjutan selama beberapa tahun kedepan.
 

C. Kelebihan

  1. Expressif.
    Laravel adalah sebuah framework PHP yang expressif, artinya ketika melihat suatu syntax Laravel, seorang programmer “diharapkan” akan langsung tahu kegunaan dari syntax tersebut meskipun belum pernah mempelajarinya apalagi menggunakannya.
  2. Simple.
    Salah satu yang membuat Laravel begitu simple adalah adanya Eloquent ORM, selain itu Laravel juga memiliki kesederhanaan dalam masalah routing. Pada prinsipnya, membangun website hanyalah masalah request – response. Ada request terhadap halaman x dan Anda juga harus merespon x, maka dalam situasi seperti ini Laravel menerapkan prinsip routing yang sangat simple
  3. Dikembangkan secara khusus untuk PHP 5.x.x
    Mungkin banyak yang sudah tahu bahwa PHP 5.3 memiki cukup banyak fitur baru dalam segi bahasa, yang membuat PHP terasa lebih modern dan powerfull. Laravel dikembangkan secara khusus untuk PHP 5.3, jadi framework ini bisa memanfaatkan berbagai macam kelebihan yang dimiliki PHP versi baru tersebut. Tidak ada backward compatibility dengan PHP versi sebelumnya. 
  4. Dokumentasi yang baik 
  5. Laravel dibuat dengan dokumentasi yang sangat lengkap. Core Developer dari laravel sendiri ber-komitmen, untuk selalu menyertakan dokumentasi yang lengkap setiap kali melakukan rilis versi terbaru-nya.

D. Kekurangan

  1. Sulit untuk newbie, untuk pemula yang belum pernah berkenalan dengan OOP, sangat sulit untuk mempelajari framework ini.
  2. Cara instalasi yang terlalu rumit terutama yang menggunakan vragrant dan virtual box.

E. Fungsi

  1. Fungsi utama dari laravel adalah mempermudah coding dalam membuat sebuah produk web. 
  2. Mempercepat dan mempermudah deevelopment website, tugas-tugas umum developer dapat dikurangi pada sebagian besar proyek-proyek web seperti routing, session dan caching. Disamping itu, laravel berusaha menggabungkan pengalaman-pengalaman development dalam bahasa lain, seperti Ruby on Rails, ASP.NET, MVC dan Sinatra.

E. Cara Instalasi

Sebentar gan saya mau sharing pengalaman pribadi saya tentang Instalasi Laravel, biar agan tidak terjebak pada lubang yang sama hehe... Pertama kali saya mengenal yang namanya Laravel, saya sempat kebingungan dengan cara instalasi, tidak seperti CMS ataupun Framework kebanyakan, dimana kita hanya menempatkan folder aplikasi pada folder root (htdocs / www) di web server kita. Nah lain halnya dengan Lapel  ehh.. Laravel maksud saya yang menggunakan composer sebagai tool pembantu dalam instalasi. 
Laravel memiliki dependensi (ketergantungan) terhadap beberapa library PHP lainnya dimana library tersebut tidak disertakan dalam source laravel yang tersedia untuk didownload. Makas dari itu kita membutuhkan Composer sebagai Depedency Manager yang akan mendownload library yang dibutuhkan tersebut. Sebenarnya ada tiga cara yang bisa digunakan dalam instalasi Laravel yaitu :
  1. Via composer create-project (recommended)
  2. Via Laravel Installer
  3. Download Manual Laravel dan semua dependensi yang dibutuhkan di GitHub
Ok, kita akan menggunakan cara yang pertama, karena menurut saya cara tersebut yang lebih mudah dan tidak memerlukan waktu yang lama dalam proses instalasinya.
Requirements :
  1. Koneksi Internet Stabil
  2. Composer (bisa di download disini https://getcomposer.org/download/)

 Step 1 - Install Composer

Setelah installernya  di download, lalu install seperti menginstall aplikasi windows biasaya, tinggal double click & next-next saja sampai selesai. Mungkin yang perlu kita perhatikan adalah pada bagian lokasi php, sesuaikan dengan settingan komputer kalian


 Step 2 - Install Laravel

Setelah composer berhasil diinstall, selanjutnya buka cmd kalian, kemudian ubah direktori path sesuaikan dengan direktori dimana kalian akan menginstal laravel.  Pada contoh ini saya akan menginstal di folder bernama panji yang ada di didalam root folder htdocs saya.


Kemudian ketik perintah seperti di bawah ini, myproject adalah nama projek yang akan kita buat. bisa kalian ubah sesuai degnan kemauan kalian.
composer create-project laravel/laravel myproject --prefer-dist  

NB : Tulisan yang saya beri warna kuning di atas muncul karena versi composer yang saya gunakaan sudah tidak uptodate. Abaikan saja pesan ini toh proses instalasi Laravel masih bisa berjalan.

Selanjutnya tunggu beberapa menit, composer akan mendownload seluruh library yang dibutuhkan dan menginstallnya otomatis.
Setelah tampil seperti gambar yang dibawah ini, maka proses download dan instalasi laravel pada project kalian berhasil terinstal. selamat... selamat ...


 Step 3 - Testing

Buka browser kalian kemudian ketik pada addressbar alamat project kalian, pada contoh ini yaitu localhost/panji//myproject/public. Ingat aktikfkan terlebih dahulu web server kalian. Jika tampil seperti gambar dibawah maka Framework Laravel berhasil terinstal di folder project kalian. Nb: Tampilan bisa berbeda tergantung dari versi laravel yang diinstal.



Wahhhh akhirnya selesai juga :). Sekian artikel saya kali ini semoga bermanfaat. See you next time








0 komentar:

Posting Komentar