√ Pengertian Dan Keunggulan Laravel Di Banding Framework Yang Lain
Laravel adalah sebuah framework PHP yang dirilis dibawah lisensi MIT, dibangun dengan konsep MVC (model view controller). Laravel yakni pengembangan website berbasis MVP yang ditulis dalam PHP yang dirancang untuk meningkatkan kualitas perangkat lunak dengan mengurangi biaya pengembangan awal dan biaya pemeliharaan, dan untuk meningkatkan pengalaman bekerja dengan aplikasi dengan menyediakan sintaks yang ekspresif, terperinci dan menghemat waktu.
MVC yakni sebuah pendekatan perangkat lunak yang memisahkan aplikasi kecerdikan dari presentasi. MVC memisahkan aplikasi menurut komponen- komponen aplikasi, menyerupai : manipulasi data, controller, dan user interface.
- Model, Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaan basis data menyerupai memasukkan data ke basis data, pembaruan data dan lain-lain.
- View, View yakni serpihan yang mengatur tampilan ke pengguna. Bisa dikatakan berupa halaman web.
- Controller, Controller merupakan serpihan yang menjembatani model dan view.
Beberapa fitur yang terdapat di Laravel :
- Bundles, yaitu sebuah fitur dengan sistem pengemasan modular dan tersedia bermacam-macam di aplikasi.
- Eloquent ORM, merupakan penerapan PHP lanjutan menyediakan metode internal dari pola “active record” yang menagatasi duduk masalah pada korelasi objek database.
- Application Logic, merupakan serpihan dari aplikasi, memakai controller atau serpihan Route.
- Reverse Routing, mendefinisikan kekerabatan atau korelasi antara Link dan Route.
- Restful controllers, memisahkan kecerdikan dalam melayani HTTP GET and POST.
- Class Auto Loading, menyediakan loading otomatis untuk class PHP.
- View Composer, yakni arahan unit logikal yang sanggup dihukum ketika view sedang loading.
- IoC Container, memungkin obyek gres dihasilkan dengan pembalikan controller.
- Migration, menyediakan sistem kontrol untuk sketsa database.
- Unit Testing, banyak tes untuk mendeteksi dan mencegah regresi.
- Automatic Pagination, menyederhanakan kiprah dari penerapan halaman.
7 Alasan Menggunakan Framework laravel dibanding NativePHP
Artikel ini, saya tujukan bagi web developer yang masih bahagia memakai PHP native atau menciptakan “framework” sendiri. Tulisan ini tidak bermaksud menyalahkan pengguna PHP native, tapi lebih ke menambah wawasan kenapa sebaiknya kita memakai framework PHP pada umumnya, dan lebih khususnya framework Laravel.
1. Menghindari repetitive work
Membangun banyak sekali fitur di website itu cukup memakan waktu. Apalgi jikalau kita membangunnya sendiri. Itulah sebabnya, dalam industri web itu ada yang namanya NIH (Not Invented Here). Jadi, untuk beberapa fitur web, kita serahkan ke library lain yang bukan hasil bikinan kita.
Contoh sederhananya yakni fitur export excel. Fitur ini sangat sering saya temui dalam menciptakan website. Bisa saja saya menciptakan library sendiri yang merubah file teks biasa menjadi excel, tapi niscaya memakan waktu. Oleh lantaran itu, fitur ini selalu saya percayakan ke library PHPExcel.
Laravel, bekerja di bawah level library itu. Ia bekerja meng-abstraksi fitur-fitur native PHP. Banyak sekali contohnya, dari Session, Redirect, Autentikasi, Cache, Input, Lokalisasi, Routing, Database, Queue dan sebagainya. Yang jikalau saya jelaskan semuanya sanggup tamat satu buku.
Saya contohkan dengan Routing. Dalam berbagi aplikasi PHP, niscaya kita sering berurusan dengan URL. Yang paling sederhana, yakni kita menciptakan subfolder dengan banyak sekali file php di dalamnya. Misalnya:
index.php
/blog/index.php
/blog/berita/index.php
/blog/kategori/index.php
/kontak.php
dst..
Tentunya, cara menyerupai ini tidak efektif untuk dilakukan untuk aplikasi yang besar. Karena, kita tidak akan paham struktur URL di website yang dibangun tanpa melihat isi tiap foldernya.
Teknik lain dalam routing ini yakni dengan memakai pattern Front Controller. Jika Anda belum paham, pattern ini memungkinkan kita menciptakan sebuah aplikasi PHP dengan url yang kompleks tapi hanya mempunyai satu file index. Pattern ini sangat sering ditemui di banyak sekali CMS terkenal contohnya wordpress.
Untuk membangun pattern ini, ada cukup banyak hal yang harus Anda lakukan dari menciptakan logic front controller dan setup url writing di web server (misalnya dengan .htaccess di apache). Kalau mau coba buat sendiri, silahkan pelajari tutorial di sitepoint ini.
Routing di Laravel akan memudahkan developer menciptakan aplikasi dengan pattern Front Controller. Routing Laravel telah mengabstraksi fitur URL di PHP untuk melaksanakan hal dasar ini. Contoh sederhananya, jikalau kita ingin membangun URL menyerupai diatas, kita cukup mengisi file routes.php dengan:
Route::get('/', ...);
Route::get('blog/{blog-title?}', ...);
Route::get('blog/berita/{id?}', ...);
Route::get('blog/kategori/{id?}', ...);
Route::get('kontak', ...);
dst...
Dengan cara ini, ada beberapa keuntungan:
Untuk menambah/mengubah/menghaps URL, kita cukup memodifikasi file routes.php.
Untuk mengetahui route apa saja yang tersedia di aplikasi, kita pun cukup membuka file routes.php.
Bahkan Laravel menyediakan fitur untuk mengetahui semua route dengan satu perintah, yaitu php artisan routes. Ini salah satu pola outputnya:
Output dari perintah php artisan routes
Tuh kan, Anda sanggup pribadi memahami URL apa saja yang tersedia di aplikasi ini.. ☺
2. Security
Bagi saya, keamanan aplikasi merupakan nomor satu dalam berbagi website. Terlebih jikalau website tersebut menyimpan banyak data yang sangat penting.
Keamanan merupakan hal yang terus berkembang. Riset terus dilakukan. Tiap hari celah gres ditemukan. Begitupun dengan epilog celahnya.
Mengikuti perkembangan keamanan aplikasi PHP, contohnya di phpsec, exploit-db, sensiolabs security, dsb sanggup cukup melelahkan dan menyita waktu. Apalagi bagi seorang single fighter developer, udah capek bikin website, tambah capek lagi ketika websitenya di hack. Sakitnya tuh, disini, disini, disini... :D
Saya sendiri ketika masih menjadi ajun di Unpad, pernah menguji aplikasi yang dibentuk oleh mahasiswa dengan melaksanakan SQL Injection. Dan hasilnya, cukup lumayan, saya sanggup login ke aplikasi mereka tanpa mengetahui username dan passwordnya.. ☺
Laravel dengan komunitasnya, hadir memastikan fondasi dari aplikasi yang kita berdiri benar-benar kondusif dari duduk masalah security dasar menyerupai ini. Dari mulai pengamanan csrf, autentikasi, sanitasi data, validasi data dsb telah dilakukan oleh framework Laravel. Semuanya itu kita sanggup dengan gratis.
Sekiranya ada lubang keamanan di framework ini, tentu akan banyak developer lain yang tahu. Dan, epilog celah keamanan ini akan segera dirilis. Misalnya menyerupai celah keamanan ini. Untuk menutup celah ini, saya tinggal mengupdate versi laravel ke versi terbaru. Selesai.
3. Quality
Sebagaimana saya jelaskan di poin 2. Laravel akan menjadi fondasi dari aplikasi yang kita bangun. Jika kita hendak membangun rumah, tentunya fondasi yang kokoh dan berpengaruh akan menopang rumah yang besar. Bahkan, gedung pencakar langit sekalipun sanggup dibangun diatasnya.
Yap, begitulah Laravel. Dimulai dari standar code yang mengikuti PSR0 dan PSR1. Begitupun dengan syntax dari framework ini, ada ratusan test yang berjalan ketika sebuah syntax gres dimasukkan ke dalam framework ini. Jadi, kita sanggup memastikan bahwa framework ini benar-benar solid dan aman. Siap menjadi fondasi dari aplikasi kita, sebesar dan sekompleks apapun.
4. Memudahkan Teamwork
Alasan ini saya tujukan bagi Anda yang menciptakan framework sendiri. Saya ingin menantang Anda, seberapa cepat developer yang gres mempelajari framework yang Anda buat?
Tentunya, niscaya beragam. Tergantung seberapa kompleks arsitektur framework yang Anda buat dan seberapa lengkap dokumentasinya. Belum lagi Anda akan direpotkan ketika developer gres tersebut mendapat sebuah fitur yang tidak dijelaskan di dokumentasi. Mencari di google pun di ngga akan ketemu, sekiranya framework ini hanya Anda gunakan di internal kantor (bukan opensource).
Berbeda kasusnya dengan memakai Laravel. Jika ada developer gres yang masuk ke project, ia cukup mempelajari dokumentasi resmi Laravel. Ini akan sangat menghemat waktu. Bahkan, ada penulis buku yang berani menjamin Anda paham Laravel dalam seminggu. (oke, itu saya, hahaha :D )
Suatu ketika ia menemukan fitur yang tidak dipahami dari Laravel, ia cukup buka google dan lautan informasi akan tiba menghampirinya. Ada pula lembaga resmi maupun tidak resmi yang siap menjawab pertanyaannya. Simple kan?
Yap, memang ada kepuasan tersendiri ketika kita menciptakan framework sendiri. Tapi ingat, framework yang solid itu tidak hanya dibangun dari codebase yang kompleks dan arsitektur yang berlapis-lapis. Tapi, ditambah pula dengan dokumentasi yang lengkap dan codebase yang selalu diaudit dari banyak sekali duduk masalah keamanan dan performa.
Saran saya, untuk pekerjaan yang akan dikerjakan oleh banyak orang, mari kita turunkan ego kita dan gunakan framework yang banyak dipakai orang lain.
5. Interoperability
Jika Anda hendak membangun aplikasi open source, Anda harus memastikan codebase yang dipakai dipahami oleh banyak orang. Dengan begitu, akan lebih banyak orang yang akan berkontribusi di project tersebut.
Laravel dengan popularitas dan banyak sekali kelebihannnya menjawab duduk masalah itu. Dapat kita temui banyak project opensource memakai Laravel, contohnya Flarum, sebuah aplikasi lembaga yang dibangun diatas Laravel dan EmberJS.
6. Hemat Biaya
Perlu saya jelaskan lagi?? Oke, ini beberapa hal yang akan mengeluarkan biaya ketika Anda memakai PHP native atau menciptakan framework sendiri:
Membuat dokumentasi penggunaan
Membuat dokumentasi API framework
Maintenance security
Maintenance bug
Maintenance performa
dll.
7. Hemat Waktu
Dengan banyak sekali abstraksi yang dilakukan Laravel, Anda sanggup lebih fokus memikirkan logic bisnis dari aplikasi yang Anda buat.
Waktu Anda tidak perlu lagi disia-siakan dengan mengurusi hal-hal dasar di PHP. Titik.
Tentunya, dari semua alasan diatas, pilihan tetap saja jatuh ke tangan Anda. Jika aplikasi yang dikembangkan sangat simple, tentunya penggunaan Laravel sanggup overkill.
Yang saya pahami, pekerjaan web developer itu unik. Berbeda dengan pekerjaan lain yang cenderung stabil. Menjadi web developer harus siap mempelajari banyak sekali hal baru. Apa, bagaimana dan kenapa-nya ketika kita menciptakan web sanggup berubah dalam hitungan bulan, bahkan minggu.
Popularitas Laravel dalam beberapa tahun ini menawarkan ada “sesuatu” di framework ini yang sanggup kita pelajari dan manfaatkan. Sekiranya kita belum berminat untuk menggunakannya di dunia kerja, tidak ada salahnya jikalau kita mempelajarinya. Banyak hal yang sanggup kita pelajari, dari arsitekturnya, coding style, API-nya, dll. Bisa jadi, framework ini merupakan tanggapan dari do’a-do’a kita ihwal banyak sekali keluhan ketika coding selama ini.. Dah..
Artikel ini, saya tujukan bagi web developer yang masih bahagia memakai PHP native atau menciptakan “framework” sendiri. Tulisan ini tidak bermaksud menyalahkan pengguna PHP native, tapi lebih ke menambah wawasan kenapa sebaiknya kita memakai framework PHP pada umumnya, dan lebih khususnya framework Laravel.
1. Menghindari repetitive work
Membangun banyak sekali fitur di website itu cukup memakan waktu. Apalgi jikalau kita membangunnya sendiri. Itulah sebabnya, dalam industri web itu ada yang namanya NIH (Not Invented Here). Jadi, untuk beberapa fitur web, kita serahkan ke library lain yang bukan hasil bikinan kita.
Contoh sederhananya yakni fitur export excel. Fitur ini sangat sering saya temui dalam menciptakan website. Bisa saja saya menciptakan library sendiri yang merubah file teks biasa menjadi excel, tapi niscaya memakan waktu. Oleh lantaran itu, fitur ini selalu saya percayakan ke library PHPExcel.
Laravel, bekerja di bawah level library itu. Ia bekerja meng-abstraksi fitur-fitur native PHP. Banyak sekali contohnya, dari Session, Redirect, Autentikasi, Cache, Input, Lokalisasi, Routing, Database, Queue dan sebagainya. Yang jikalau saya jelaskan semuanya sanggup tamat satu buku.
Saya contohkan dengan Routing. Dalam berbagi aplikasi PHP, niscaya kita sering berurusan dengan URL. Yang paling sederhana, yakni kita menciptakan subfolder dengan banyak sekali file php di dalamnya. Misalnya:
index.php
/blog/index.php
/blog/berita/index.php
/blog/kategori/index.php
/kontak.php
dst..
Tentunya, cara menyerupai ini tidak efektif untuk dilakukan untuk aplikasi yang besar. Karena, kita tidak akan paham struktur URL di website yang dibangun tanpa melihat isi tiap foldernya.
Teknik lain dalam routing ini yakni dengan memakai pattern Front Controller. Jika Anda belum paham, pattern ini memungkinkan kita menciptakan sebuah aplikasi PHP dengan url yang kompleks tapi hanya mempunyai satu file index. Pattern ini sangat sering ditemui di banyak sekali CMS terkenal contohnya wordpress.
Untuk membangun pattern ini, ada cukup banyak hal yang harus Anda lakukan dari menciptakan logic front controller dan setup url writing di web server (misalnya dengan .htaccess di apache). Kalau mau coba buat sendiri, silahkan pelajari tutorial di sitepoint ini.
Routing di Laravel akan memudahkan developer menciptakan aplikasi dengan pattern Front Controller. Routing Laravel telah mengabstraksi fitur URL di PHP untuk melaksanakan hal dasar ini. Contoh sederhananya, jikalau kita ingin membangun URL menyerupai diatas, kita cukup mengisi file routes.php dengan:
Route::get('/', ...);
Route::get('blog/{blog-title?}', ...);
Route::get('blog/berita/{id?}', ...);
Route::get('blog/kategori/{id?}', ...);
Route::get('kontak', ...);
dst...
Dengan cara ini, ada beberapa keuntungan:
Untuk menambah/mengubah/menghaps URL, kita cukup memodifikasi file routes.php.
Untuk mengetahui route apa saja yang tersedia di aplikasi, kita pun cukup membuka file routes.php.
Bahkan Laravel menyediakan fitur untuk mengetahui semua route dengan satu perintah, yaitu php artisan routes. Ini salah satu pola outputnya:
Output dari perintah php artisan routes
Tuh kan, Anda sanggup pribadi memahami URL apa saja yang tersedia di aplikasi ini.. ☺
2. Security
Bagi saya, keamanan aplikasi merupakan nomor satu dalam berbagi website. Terlebih jikalau website tersebut menyimpan banyak data yang sangat penting.
Keamanan merupakan hal yang terus berkembang. Riset terus dilakukan. Tiap hari celah gres ditemukan. Begitupun dengan epilog celahnya.
Mengikuti perkembangan keamanan aplikasi PHP, contohnya di phpsec, exploit-db, sensiolabs security, dsb sanggup cukup melelahkan dan menyita waktu. Apalagi bagi seorang single fighter developer, udah capek bikin website, tambah capek lagi ketika websitenya di hack. Sakitnya tuh, disini, disini, disini... :D
Saya sendiri ketika masih menjadi ajun di Unpad, pernah menguji aplikasi yang dibentuk oleh mahasiswa dengan melaksanakan SQL Injection. Dan hasilnya, cukup lumayan, saya sanggup login ke aplikasi mereka tanpa mengetahui username dan passwordnya.. ☺
Laravel dengan komunitasnya, hadir memastikan fondasi dari aplikasi yang kita berdiri benar-benar kondusif dari duduk masalah security dasar menyerupai ini. Dari mulai pengamanan csrf, autentikasi, sanitasi data, validasi data dsb telah dilakukan oleh framework Laravel. Semuanya itu kita sanggup dengan gratis.
Sekiranya ada lubang keamanan di framework ini, tentu akan banyak developer lain yang tahu. Dan, epilog celah keamanan ini akan segera dirilis. Misalnya menyerupai celah keamanan ini. Untuk menutup celah ini, saya tinggal mengupdate versi laravel ke versi terbaru. Selesai.
3. Quality
Sebagaimana saya jelaskan di poin 2. Laravel akan menjadi fondasi dari aplikasi yang kita bangun. Jika kita hendak membangun rumah, tentunya fondasi yang kokoh dan berpengaruh akan menopang rumah yang besar. Bahkan, gedung pencakar langit sekalipun sanggup dibangun diatasnya.
Yap, begitulah Laravel. Dimulai dari standar code yang mengikuti PSR0 dan PSR1. Begitupun dengan syntax dari framework ini, ada ratusan test yang berjalan ketika sebuah syntax gres dimasukkan ke dalam framework ini. Jadi, kita sanggup memastikan bahwa framework ini benar-benar solid dan aman. Siap menjadi fondasi dari aplikasi kita, sebesar dan sekompleks apapun.
4. Memudahkan Teamwork
Alasan ini saya tujukan bagi Anda yang menciptakan framework sendiri. Saya ingin menantang Anda, seberapa cepat developer yang gres mempelajari framework yang Anda buat?
Tentunya, niscaya beragam. Tergantung seberapa kompleks arsitektur framework yang Anda buat dan seberapa lengkap dokumentasinya. Belum lagi Anda akan direpotkan ketika developer gres tersebut mendapat sebuah fitur yang tidak dijelaskan di dokumentasi. Mencari di google pun di ngga akan ketemu, sekiranya framework ini hanya Anda gunakan di internal kantor (bukan opensource).
Berbeda kasusnya dengan memakai Laravel. Jika ada developer gres yang masuk ke project, ia cukup mempelajari dokumentasi resmi Laravel. Ini akan sangat menghemat waktu. Bahkan, ada penulis buku yang berani menjamin Anda paham Laravel dalam seminggu. (oke, itu saya, hahaha :D )
Suatu ketika ia menemukan fitur yang tidak dipahami dari Laravel, ia cukup buka google dan lautan informasi akan tiba menghampirinya. Ada pula lembaga resmi maupun tidak resmi yang siap menjawab pertanyaannya. Simple kan?
Yap, memang ada kepuasan tersendiri ketika kita menciptakan framework sendiri. Tapi ingat, framework yang solid itu tidak hanya dibangun dari codebase yang kompleks dan arsitektur yang berlapis-lapis. Tapi, ditambah pula dengan dokumentasi yang lengkap dan codebase yang selalu diaudit dari banyak sekali duduk masalah keamanan dan performa.
Saran saya, untuk pekerjaan yang akan dikerjakan oleh banyak orang, mari kita turunkan ego kita dan gunakan framework yang banyak dipakai orang lain.
5. Interoperability
Jika Anda hendak membangun aplikasi open source, Anda harus memastikan codebase yang dipakai dipahami oleh banyak orang. Dengan begitu, akan lebih banyak orang yang akan berkontribusi di project tersebut.
Laravel dengan popularitas dan banyak sekali kelebihannnya menjawab duduk masalah itu. Dapat kita temui banyak project opensource memakai Laravel, contohnya Flarum, sebuah aplikasi lembaga yang dibangun diatas Laravel dan EmberJS.
6. Hemat Biaya
Perlu saya jelaskan lagi?? Oke, ini beberapa hal yang akan mengeluarkan biaya ketika Anda memakai PHP native atau menciptakan framework sendiri:
Membuat dokumentasi penggunaan
Membuat dokumentasi API framework
Maintenance security
Maintenance bug
Maintenance performa
dll.
7. Hemat Waktu
Dengan banyak sekali abstraksi yang dilakukan Laravel, Anda sanggup lebih fokus memikirkan logic bisnis dari aplikasi yang Anda buat.
Waktu Anda tidak perlu lagi disia-siakan dengan mengurusi hal-hal dasar di PHP. Titik.
Tentunya, dari semua alasan diatas, pilihan tetap saja jatuh ke tangan Anda. Jika aplikasi yang dikembangkan sangat simple, tentunya penggunaan Laravel sanggup overkill.
Yang saya pahami, pekerjaan web developer itu unik. Berbeda dengan pekerjaan lain yang cenderung stabil. Menjadi web developer harus siap mempelajari banyak sekali hal baru. Apa, bagaimana dan kenapa-nya ketika kita menciptakan web sanggup berubah dalam hitungan bulan, bahkan minggu.
Popularitas Laravel dalam beberapa tahun ini menawarkan ada “sesuatu” di framework ini yang sanggup kita pelajari dan manfaatkan. Sekiranya kita belum berminat untuk menggunakannya di dunia kerja, tidak ada salahnya jikalau kita mempelajarinya. Banyak hal yang sanggup kita pelajari, dari arsitekturnya, coding style, API-nya, dll. Bisa jadi, framework ini merupakan tanggapan dari do’a-do’a kita ihwal banyak sekali keluhan ketika coding selama ini.. Dah..
0 Response to "√ Pengertian Dan Keunggulan Laravel Di Banding Framework Yang Lain"
Post a Comment