
Laravel, Framework PHP untuk membuat Aplikasi Web
Salah satu bahasa pemrograman yang populer untuk digunakan dalam web development adalah PHP. Hal ini juga bukan tanpa alasan, PHP merupakan bahasa pemrograman yang digunakan untuk membuat platform CMS paling populer di dunia yaitu WordPress. PHP sendiri bahasa pemrograman back-end atau digunakan untuk pengembangan pada sisi server (server-side).
Dalam pengembangan aplikasi web, terdapat beberapa tools pembantu yang bisa digunakan untuk mempersingkat waktu pengembangan aplikasi web. Kumpulan tools ini disebut framework, framework biasanya berisi beberapa template kode serta penyederhanaan proses pengembangan aplikasi dari yang seharusnya membangun kode pemrograman dari scratch menjadi lebih sederhana dengan menggunakan fitur pada framework.
Salah satu framework PHP yang sangat populer adalah Laravel. Melalui artikel ini kamu akan mengetahui apa itu framework, apa itu Laravel, fungsi, serta kelebihan dari Laravel.


Apa itu PHP Framework
PHP framework adalah platform yang digunakan sebagai kerangka kerja untuk membangun aplikasi web berbasis PHP. PHP framework berisi kumpulan library dari kode yang sering digunakan, yang bisa membantu para developer untuk dapat membuat aplikasi web lebih cepat.
PHP framework memberikan kerangka dasar dalam membuat aplikasi web berbasis PHP. Framework bekerja untuk menstandarisasi dan mempercepat proses pengembangan, serta mengurangi kesalahan, dan keraguan dalam membangun aplikasi.
Laravel merupakan framework PHP yang open-source dan berisi banyak modul dasar untuk mengoptimalkan kinerja PHP dalam pengembangan aplikasi web, apalagi PHP adalah bahasa pemrograman yang dinamis dan Laravel disini bisa bertindak untuk membuat web development lebih cepat, lebih aman, dan lebih simpel.
Laravel sendiri bekerja di sisi back-end atau istilahnya server-side. Selain powerful, Laravel juga mudah untuk dimengerti Dengan mengikuti pola arsitektur model-view-controller (MVC) Laravel bisa mempercepat proses pembuatan aplikasi web. Pada arsitektur MVC, development bisa dilakukan dengan lebih cepat karena developer bisa fokus ke salah satu bagian saja seperti model (bagian yang mengelola database), view (bagian yang mengelola tampilan kepada user), dan bagian controller (bagian yang menghubungkan model dan view jika seandainya ada permintaan dari user).
Framework Laravel memiliki fitur yang kaya karena merupakan gabungan fitur dasar beberapa framework PHP populer seperti CodeIgniter, Yii, dan Ruby on Rails. Dan proses pengembangan aplikasi web lebih efektif dan efisien, selain itu Laravel juga lebih aman dari berbagai jenis ancaman siber.

Laravel diluncurkan pada tanggal 9 Juni 2011 oleh Taylor Otwell. Awalnya tujuan dari Laravel adalah sebagai alternatif dari Codelgniter. Taylor Otwell melihat bahwa framework PHP lainnya yaitu Codelgniter belum menyediakan fitur tertentu seperti dukungan bawaan untuk otentikasi dan otorisasi pengguna. Sejak saat itu Laravel sudah mengeluarkan berbagai pembaruan dan penambahan fitur. Saat ini laravel sudah sampai ke versi 9 dengan berbagai fitur unggulan.


Kelebihan Laravel :
•Mempercepat waktu pengembangan aplikasi karena Laravel menggunakan komponen dari framework yang lain dan built-in libraries dalam mengembangkan aplikasi web.
•Mempermudah pengelolaan resource karena menggunakan namespace dan interface.
•Performa aplikasi yang lebih baik. Laravel sudah melewati tes kualitas dan kecepatan sehingga aplikasi yang dibangun dengan Laravel bisa memiliki performa yang lebih cepat.
•Aplikasi yang dibangun dengan Laravel lebih aman secara bawaan. Aplikasi bisa lebih aman dari CSRF, script dan SQL injection. Laravel juga hadir dengan beberapa pengukuran keamanan dengan menerapkan OWASP security principles.
•Lebih sedikit kode. Dengan menggunakan framework Laravel kamu bisa lebih sedikit menggunakan kode original dengan menggunakan fungsi built-in dari Laravel.
•Dukungan komunitas yang luas. Saat ini terdapat komunitas Laravel yang besar sehingga menyebabkan semua masalah yang mungkin akan kamu hadapi bisa mendapatkan resolusi yang tepat.

Fitur utama Laravel :
- MVC Architecture
arsitektur MVC yang menyebabkan framework ini mudah beradaptasi karena mengikuti pola pengembangan aplikasi web yang biasa digunakan. MVC sendiri banyak digunakan oleh berbagai framework seperti AdonisJS dari JavaScript dan ASP.NET MVC dari C#.
Dengan menggunakan pola MVC, kamu dapat membuat struktur coding yang lebih baik dimana pola tersebut memisahkan antara logika dan view. Arsitektur MVC dapat meningkatkan performance, memiliki beberapa fungsi built-in (adalah fungsi yang dapat langsung digunakan), dan penulisan dokumentasi yang lebih baik. Dengan Syntax yang expresif membuatnya disebut Object-Oriented.
- Template engine
Laravel menggunakan Blade sebagai mesin templatingnya, yang memungkinkan programer untuk membuat tampilan HTML yang dinamis dengan mudah. Blade merupakan salah satu fitur dari Laravel yang sangat bermanfaat dalam proses pengembangan halaman web. Blade templating biasanya digunakan untuk memudahkan membuat tampilan pada halaman web. Dengan menggunakan Blade Templating kita tidak perlu menulis kode berulang kali untuk membuat sebuah tampilan yang berulang seperti header, navbar, dan footer.
- Artisan CLI
Artisan Command-Line tool merupakan command line interface dari Laravel. Dengan menggunakan Artisan bisa mengubah ataupun memodifikasi bagian-bagian dari Laravel tanpa perlu membuka direktori yang ingin dimodifikasi.
Artisan adalah alat baris perintah yang kuat yang disertakan dengan Laravel. Dengan Artisan, kamu bisa melakukan berbagai tugas, seperti membuat model, kontroler, migrasi basis data, menjalankan pengujian, dan banyak lagi.
- Eloquent ORM
Object-relational mapper (ORM) untuk Laravel disebut Eloquent. Eloquent adalah salah satu fitur terbaik Laravel karena memungkinkan interaksi tanpa batas kepada model data dan database pilihan. Dengan Eloquent, Laravel mengabstraksi setiap rintangan yang melibatkan interaksi dan menulis query SQL yang kompleks untuk mengakses data dari database.
- Authentification & Authorization
Laravel menyediakan sistem autentikasi bawaan yang mudah digunakan. Programer dapat mengonfigurasi autentikasi pengguna dengan hanya beberapa baris kode. Selain itu, Laravel juga mendukung otorisasi dengan cara yang terintegrasi dengan autentikasi, sehingga kamu bisa mengendalikan akses pengguna ke berbagai bagian aplikasi.
Laravel auth adalah fitur esensial yang pasti ada di setiap aplikasi dan website yang dibuat memakai framework Laravel. Auth amat penting sebab memungkinkan user untuk melakukan verifikasi email, login akun, reset password dan lain sebagainya pada website maupun aplikasi.
Laravel menyediakan konfigurasi yang terkesan unik pada sistem Authentication dan Authorization. Artinya, hanya dengan menyisipkan Command Artisan, web atau aplikasi kamu akan dilengkapi Sistem Authentication dan Authorization yang aman.
- Paginasi Otomatis
Paginasi adalah fitur Laravel yang digunakan untuk membatasi tampilan data agar tidak terlalu panjang dan lebih rapi. Nantinya pada laman web akan bisa dibagi menjadi beberapa halaman. Laravel akan secara otomatis membuat paginasi dengan fitur built-in yang sudah langsung didapatkan ketika menggunakan Laravel. [AS]
- Testing
Ada yang menarik perhatian banyak orang yang memilih Laravel dibanding Framework yang lain yaitu unit testing. Beberapa user Laravel mengatakan unit testing di laravel sangat mudah dan cepat. Hal ini disebabkan saat selesai create project dapat langsung mengimplentasikan unit testing. Unit testing adalah fitur Laravel yang mendeteksi serta mencegah regresi.
Selain fitur-fitur diatas, Laravel juga memiliki Official Packages yang berguna apabila kamu mengintegrasikan fitur yang berbeda dalam aplikasi.
Official Package Laravel
1. Cashier – diperkenalkan di Laravel 4.2, berisi interface untuk mengelola layanan penagihan berlangganan yang disediakan oleh Stripe, seperti menangani kupon dan pembuatan faktur.
2. Socialite – diperkenalkan di Laravel 5.0, menyediakan mekanisme Authentication yang disederhanakan untuk berbagai situs sosial termasuk Google, Facebook, GitHub, Twitter, dan Bitbucket. Jadi, aplikasi kamu dapat secara efektif mengimplementasikan login Socialite ini dalam waktu minimum. Memberi kamu kesempatan untuk mengotomatiskan tugas-tugas umum menggunakan sintaks yang minim.
3. Horizon – digunakan untuk memantau antrian sistem kamu dengan menyediakan dasbor yang indah dan Code driven Configuration. Tujuan utama Horizon adalah untuk memantau Output, waktu yang diperlukan untuk menjalankan dan melacak kegagalan suatu pekerjaan.
4. Scout – adalah paket unik yang disediakan oleh Laravel untuk Full-text search menggunakan model Eloquent. Angola adalah driver default yang digunakan untuk Full-text search dan menyediakan layanan yang fantastis.
Semua fitur out-of-the-box dari Framework Laravel sangat cocok untuk semua jenis pengembangan aplikasi web – mulai dari tingkat yang kecil hingga perusahaan. Laravel juga menyediakan banyak fungsi built-in yang memungkinkan Developer untuk bekerja dengan mudah.
Laravel Dusk adalah salah satu fitur baru yang diperkenalkan di Laravel 5.4. Dusk adalah sebuah tool untuk melakukan pengujian aplikasi.
- Packaging system
Packaging System adalah salah satu fitur penting yang memungkinkan Anda menggabungkan beberapa fungsionalitas sehingga mudah didistribusikan. Selain itu, kamu dapat mempublikasikan paket Anda sendiri ke repositori seperti Packagist dan GitHub yang memungkinkan pengembang lain mendapatkan keuntungan dari paket Anda.
- Multiple file system
Framework Laravel terintegrasi dengan Flysystem package, dimana sistem ini menyediakan integrasi penyimpanan misal dengan local drives, Amazon S3, dan cloud-based databases. Flysystem package bekerja sangat baik dengan caching, FTP, dan SMTP protocols. Fitur ini juga membuat bekerja dengan data dan komponen dalam program jadi lebih mudah seperti storage dikontrol dengan menggunakan single API.
- Task scheduling
Laravel scheduler adalah fitur yang memungkinkan kamu untuk membuat berbagai perintah dengan kode PHP dan menjadwalkannya sesuai kebutuhan. Dalam pengerjaannya, Laravel masih membutuhkan Cron agar bisa menjalankan scheduler-nya.
Apa itu Cron Job?
Merupakan bagian tak terpisahkan dari Laravel Scheduler, Cron Job adalah sebuah program yang memberikan kesempatan bagi para penggunanya (user) untuk melakukan optimasi terkait penjadwalan back-up, perawatan sistem, dan pemantauan ruang disk.Biasanya, Cron Job bisa kamu temukan pada server yang menggunakan sistem operasi Linux. Tentunya, kehadiran Cron Job akan sangat membantu kamu yang memiliki lebih dari satu situs, sehingga proses pengaturannya mudah tanpa memakan banyak waktu.
Jadi, ketika kamu akan membuat kode PHP menggunakan Laravel Scheduler di program Cron Job, maka setidaknya pemahaman dasar terkait sistem Linux wajib kamu pahami supaya proses pengaturan sistemnya berjalan dengan lancar.
- Websocket programming
WebSockets adalah teknologi yang dapat Anda gunakan untuk mengirim dan menerima data antara klien dan server secara real time. Mereka memungkinkan Anda mengirim data dari server ke klien tanpa klien perlu memintanya. Oleh karena itu, Anda dapat mengirimkan data ke pengguna Anda segera setelah tersedia, tanpa perlu pengguna menyegarkan halaman di browser mereka.
WebSockets berguna untuk mengimplementasikan fitur-fitur yang memerlukan umpan balik instan tanpa jeda apa pun, seperti notifikasi real-time dan aplikasi chat.

Jasa
Ketiga layanan yang ditawarkan Laravel semuanya terkait dengan manajemen server dan penerapan aplikasi Anda. Masing-masing layanan tersebut berbayar, namun lebih dari sekadar mengganti biaya dalam menghemat waktu Anda.
1. Envoyer
Envoyer adalah sistem penerapan online yang dapat Anda gunakan untuk menyebarkan aplikasi ke server Anda tanpa waktu henti apa pun.
Apakah Saya Membutuhkan Ini?
Jika aplikasi yang Anda pelihara tidak perlu mengalami downtime, Laravel Envoyer mungkin cocok untuk Anda. Ini memungkinkan Anda merilis aplikasi kepada pengguna tanpa mereka sadari bahwa aplikasi tersebut sedang dirilis. Jika downtime tidak menjadi masalah, Anda mungkin baik-baik saja dengan menggunakan Laravel Forge (dijelaskan selanjutnya).
2.Forge
Forge adalah sistem manajemen server yang dapat Anda gunakan untuk memelihara server Anda dan menyebarkan aplikasi Laravel Anda. Anda cukup menghubungkan Forge dengan kredensial Anda dengan penyedia server (seperti AWS , Digital Ocean atau Linode ) dan kredensial Anda untuk kontrol versi Anda (seperti GitHub , Bitbucket atau GitLab ). Dari sana, Anda kemudian dapat membuat dan menyediakan server, lalu menyebarkan aplikasi Anda.
Secara pribadi, saya suka menggunakan Forge karena sangat memudahkan pemeliharaan server saya dan mendorong rilis baru situs web dan aplikasi saya tanpa repot. Di masa lalu, saya sudah mencoba menyediakan dan memelihara server sendiri. Tentu saja, saya berhasil melakukannya, tetapi itu cukup memakan waktu, dan sebagai seseorang yang tidak suka bekerja pada server dan infrastruktur, itu cukup membosankan! Pindah ke Forge menghemat banyak waktu (dan stres!).
Apakah Saya Membutuhkan Ini?
Jika Anda akan membangun proyek Laravel Anda sendiri dan menerapkannya ke server, atau jika Anda bertanggung jawab atas penerapan dan manajemen server di pekerjaan Anda, saya sarankan untuk memeriksa Forge. Semua pekerjaan yang dapat Anda lakukan dengannya dapat dilakukan secara manual, namun waktu yang Anda hemat dengan menggunakan Forge akan lebih dari sekadar sepadan dengan biayanya. Ada juga alternatif lain di luar sana seperti Runcloud , tapi saya suka menggunakan Forge dan menganggapnya sebagai cara terbaik untuk membantu mendukung tim inti Laravel.
3. Vapor
Vapor adalah platform penerapan tanpa server yang dapat Anda gunakan untuk men-deploy aplikasi Laravel Anda ke AWS. Hal keren tentang Vapor adalah memungkinkan Anda menskalakan infrastruktur aplikasi untuk memenuhi kebutuhan lalu lintas saat dibutuhkan. Ini sangat berguna untuk aplikasi dan sistem di mana Anda mungkin mengalami lonjakan lalu lintas dan perlu meningkatkan kecepatan situs Anda secara otomatis.
Sebagai contoh yang sangat mendasar, katakanlah Anda memiliki situs e-niaga yang diterapkan pada server tradisional dan Anda memiliki aliran lalu lintas yang konstan. Sekarang, bayangkan Anda memiliki e-book Laravel baru yang sangat keren yang Anda jual dan Anda telah membangun banyak sensasi yang siap untuk hari peluncurannya. Pada hari peluncuran, Anda mendapatkan lonjakan lalu lintas yang sangat besar dan ini menyebabkan situs web Anda menjadi lambat (atau lebih buruk lagi, mogok total). Seperti yang dapat Anda bayangkan, hal ini mungkin terlihat sedikit memalukan dan menyebabkan sakit kepala karena Anda akan terburu-buru mencari cara untuk mempercepatnya. Anda bahkan dapat memilih untuk menyebarkan lebih banyak server dan menyiapkannya di belakang penyeimbang beban Anda untuk mengalihkan lalu lintas. Seperti yang bisa Anda bayangkan, ini bisa membosankan karena Anda harus membuang server tambahan setelah lonjakan lalu lintas. Kecuali Anda adalah tipe orang yang suka mengutak-atik server, jika ini adalah sesuatu yang sering terjadi, Anda mungkin menganggap tugas ini sedikit menjengkelkan karena membuat Anda tidak lagi melakukan hal yang paling kita sukai: membuat hal-hal baru yang keren.
Di sinilah peran Vapor. Jika Anda memiliki proyek yang terkadang perlu ditingkatkan secara relatif cepat untuk mengatasi lonjakan lalu lintas yang besar, hal ini bisa dilakukan. Kemudian, setelah lalu lintas kembali mereda, infrastruktur dapat secara otomatis diturunkan skalanya hingga diperlukan lagi.
Apakah Saya Membutuhkan Ini?
Jika Anda memiliki proyek yang mengalami lonjakan lalu lintas yang mungkin tidak dapat diatasi oleh server tradisional Anda, Anda mungkin ingin membaca tentang Vapor.
Jika Anda baru memulai proyek baru, Anda mungkin tidak perlu menggunakan Vapor. Jika ini masalahnya, saya mungkin merekomendasikan menggunakan sesuatu seperti Laravel Forge pada awalnya di server tradisional. Kemudian, setelah Anda men-deploy aplikasi, jika Anda merasa aplikasi Anda mungkin mendapat manfaat dari penskalaan otomatis, Anda dapat mempertimbangkan untuk beralih ke Vapor. Tentu saja, ini hanya pendapat saya, dan ini adalah sesuatu yang Anda (atau tim Anda) perlu putuskan sendiri berdasarkan proyek per proyek.
Paket
Laravel menawarkan sejumlah besar paket pihak pertama yang dapat membantu Anda mengaktifkan dan menjalankan aplikasi Anda dalam waktu singkat. Sebagian besar paket sepenuhnya gratis, namun ada beberapa yang berbayar.
4. Breeze
Breeze adalah starter kit yang menyediakan “implementasi minimal dan sederhana dari semua fitur otentikasi Laravel”. Ini adalah paket yang dapat Anda masukkan langsung ke proyek Laravel Anda untuk mendapatkan beberapa fitur sederhana seperti: login, registrasi, reset kata sandi, verifikasi email, dan konfirmasi kata sandi.
Breeze hadir dalam dua rasa berbeda: Blade dan Inersia . Jika Anda memilih untuk menggunakan versi Blade, tampilan akan dibuat menggunakan bahasa templating Blade Laravel. Namun, jika Anda memilih untuk menggunakan versi Inersia, tampilan akan dibuat menggunakan Inersia dengan Vue atau React . Apa pun implementasi yang Anda gunakan, Breeze ditata menggunakan Tailwind CSS , jadi jika Anda sudah familiar dengannya, Anda bisa langsung menyesuaikannya agar sesuai dengan kebutuhan proyek Anda.
Apakah Saya Membutuhkan Ini?
Jika Anda mencari serangkaian fitur autentikasi yang sederhana dan ringan untuk digunakan dalam aplikasi Anda, saya sangat merekomendasikan penggunaan Breeze. Dalam aplikasi Laravel yang baru, Anda dapat menginstalnya dan siap digunakan dalam beberapa menit. Jadi, Anda dapat langsung membangun proyek baru yang keren, daripada menghabiskan waktu untuk membangun autentikasi.
5. Cashier
Cashier adalah paket yang sangat berguna yang mungkin akan Anda gunakan suatu saat nanti dalam aplikasi Laravel Anda. Ini menangani sebagian besar kode langganan boilerplate yang biasanya perlu Anda tulis sendiri saat bekerja dengan Stripe atau Paddle . Kasir memungkinkan Anda mengatur hal-hal seperti langganan bulanan untuk layanan, pembayaran satu kali, dan pembuatan faktur. Ia bahkan memiliki beberapa fungsi keren yang memungkinkan Anda mengatur uji coba berlangganan untuk proyek Anda.
Jika Anda masih baru dalam pengembangan web, mungkin Anda akan menganggap Kasir agak berlebihan pada awalnya karena ukurannya yang cukup besar dan menyediakan banyak fungsi. Namun, jika Anda seorang pengembang berpengalaman yang pindah ke Laravel, saya rasa Anda akan terkejut melihat betapa mudahnya menggunakannya.
Di masa lalu, saya pernah mengerjakan beberapa proyek yang menangani langganan, uji coba, dan pembayaran secara manual. Seperti yang dapat Anda bayangkan, mengerjakannya cukup menakutkan dan saya takut harus menyentuh bagian kode tersebut. Namun, di proyek lain, kami menggunakan Kasir dan saya sangat senang. Kami berhasil menambahkan sebagian besar sistem langganan, uji coba, dan pembayaran tanpa kerumitan apa pun. Paketnya mudah dipahami dan membuat kami langsung terjebak.
Apakah Saya Membutuhkan Ini?
Jika Anda mempertimbangkan untuk menerima pembayaran dari pengguna Anda, baik untuk langganan berulang, atau pembayaran satu kali, saya sangat menyarankan untuk melihat ke Kasir. Anda pasti dapat berkomunikasi langsung dengan API Stripe dan Paddle, namun fitur dan metode bantuan yang disediakan oleh paket menghemat banyak waktu dan sudah teruji, sehingga Anda dapat yakin bahwa fitur tersebut benar-benar berfungsi.
6. Dusk
Dusk adalah paket otomatisasi browser yang dapat Anda gunakan untuk menguji aplikasi Laravel Anda di Chrome (dan browser lainnya). Menurut pendapat saya, paket ini sangat berharga untuk proyek Anda, terutama seiring pertumbuhannya. Ini memungkinkan Anda menulis pengujian yang menyimulasikan tindakan pengguna Anda di browser web. Sebagai contoh dasar, Anda dapat memerintahkannya untuk masuk ke aplikasi Anda, mengisi formulir dan kemudian menyatakan bahwa kesalahan validasi yang diharapkan muncul ketika Anda memasukkan beberapa data yang tidak valid.
Saya pernah menggunakannya pada proyek-proyek di masa lalu dan ini sangat berguna dalam menangkap bug yang lolos dari pengujian unit JavaScript dan pengujian PHP kami. Namun, perlu dicatat bahwa pengujian ini terkadang membutuhkan waktu cukup lama untuk dijalankan dibandingkan dengan pengujian unit Anda, jadi Anda harus memastikan bahwa Anda menambahkannya ke dalam alur kerja pengembangan Anda dengan cara yang tidak memperlambat Anda saat menunggu mereka lari.
Apakah Saya Membutuhkan Ini?
Menurut pendapat saya, jika Anda sedang membangun sebuah proyek yang akan digunakan oleh pengguna lain, menurut saya pengujian adalah suatu keharusan yang mutlak. Oleh karena itu, saya pasti akan merekomendasikan beberapa bentuk pengujian browser.
Namun, seperti yang saya sebutkan, pengujian ini terkadang membutuhkan waktu cukup lama untuk dijalankan, dan pengujian ini juga dapat dengan mudah rusak jika tidak disiapkan dengan benar dan Anda terus mengubah UI (antarmuka pengguna) aplikasi Anda. Misalnya, jika Anda masih dalam tahap awal pembuatan aplikasi, kemungkinan besar UI Anda akan cukup sering berubah hingga Anda mendapatkan sesuatu yang lebih stabil. Jika Anda berada dalam situasi ini, Anda mungkin tidak memerlukan Senja karena dapat memperlambat kemajuan Anda. Namun, jika UI aplikasi Anda tidak akan berubah secara drastis dalam waktu dekat, saya rasa Anda akan mendapat banyak manfaat dengan melakukan beberapa pengujian browser yang ditulis menggunakan Dusk.
Perlu juga disebutkan bahwa jika Anda lebih suka menulis pengujian browser otomatis menggunakan JavaScript daripada PHP, Anda mungkin ingin memeriksa Cypress .
7. Echo
Laravel Echo adalah pustaka JavaScript yang membuatnya sangat mudah untuk menggunakan WebSockets di aplikasi Laravel Anda. Anda dapat menggunakannya untuk berlangganan saluran dan mendengarkan acara yang Anda siarkan dari aplikasi Anda di sisi server.
Jika Anda baru mengenal pengembangan web, Anda mungkin tidak sepenuhnya yakin apa itu WebSockets atau kegunaannya. Jadi, untuk memahami nilai Echo, mari kita lihat contoh dasarnya. Bayangkan kita memiliki halaman yang menampilkan postingan blog dan memungkinkan pembaca berkomentar di bawahnya. Sekarang, jika pembaca mengomentari postingan tersebut, kami ingin menampilkan komentar tersebut agar dapat dilihat oleh pembaca lain. Ada beberapa opsi berbeda yang dapat kami ambil di sini:
Kami tidak bisa berbuat apa-apa. Komentar baru akan ditampilkan setelah pembaca menyegarkan halaman.
Dari JavaScript, kita dapat “melakukan polling” aplikasi di sisi server secara berkala (mungkin setiap 30 detik) untuk mengambil dan memuat komentar baru jika ada.
Dari PHP, kami menyiarkan suatu peristiwa dan mengirimkan data ke JavaScript setiap kali ada komentar baru yang disimpan dalam database.
Seperti yang bisa Anda tebak, opsi ketiga menyediakan data paling real-time untuk pembaca dan mencegah kami melakukan polling ke server secara berkala meskipun tidak ada komentar baru yang ditambahkan.
Jadi, untuk berlangganan saluran dan mendengarkan acara tertentu yang telah disiarkan melalui WebSockets, kita bisa menggunakan Laravel Echo. Anda pasti dapat menulis kode untuk berinteraksi dengan WebSockets, tetapi menggunakan Echo dapat menghemat banyak waktu dan tenaga.
Apakah Saya Membutuhkan Ini?
Jika Anda sedang membangun aplikasi Laravel yang mungkin memerlukan beberapa data real-time untuk ditampilkan, saya sangat merekomendasikan untuk memeriksa Echo.
Bagi saya sendiri, sebagai seseorang yang tidak terlalu menikmati bekerja dengan JavaScript dan lebih suka bekerja dengan PHP, menurut saya perpustakaan ini sangat mudah untuk disiapkan dan mulai digunakan.
8. Horizon
Horizon adalah paket yang memungkinkan Anda menjalankan antrian dan memantaunya menggunakan dashboard yang disediakan. Manfaat utama menggunakan Horizon adalah Anda dapat memiliki gambaran lengkap mengenai antrean aplikasi Anda untuk memastikan semuanya berjalan sesuai harapan. Jika ada pekerjaan, pendengar, pemberitahuan, atau item antrean lainnya yang gagal, Anda dapat memeriksa Horizon untuk mendapatkan informasi selengkapnya tentang apa yang salah dan mulai melakukan debug.
Apakah Saya Membutuhkan Ini?
Menurut pendapat saya, Horizon dapat menjadi paket yang sangat berguna untuk dipasang di proyek Anda jika Anda berencana menggunakan antrian. Bahkan jika Anda tidak ingin menggunakannya untuk menjalankan antrian pada versi live sistem Anda, ini bisa menjadi alat debugging yang sangat berguna selama pengembangan lokal.
9. Jetsream
Jetstream kemungkinan besar adalah paket Laravel favorit saya. Ini adalah paket starter kit yang menyediakan fitur autentikasi yang mirip dengan Breeze bersama dengan autentikasi dua faktor, manajemen sesi, manajemen tim, dan halaman profil untuk pengguna Anda.
Jika Anda berniat membuat aplikasi yang memerlukan fitur-fitur tersebut, mungkin diperlukan waktu berhari-hari atau berminggu-minggu (bahkan mungkin berbulan-bulan jika Anda baru memulai pengembangan web). Namun, dengan Jetstream Anda mendapatkan semua fitur ini secara gratis dan Anda dapat menginstal versi awalnya di aplikasi Laravel baru Anda dalam hitungan menit.
Mirip dengan Breeze, Jetstream hadir dalam dua rasa berbeda: Livewire & Blade dan Vue & Inertia. Kedua versi ini hadir dengan gaya yang disediakan menggunakan Tailwind CSS. Ini berarti Anda dapat memilih scaffolding mana yang Anda sukai, mengubah file konfigurasi sesuai kebutuhan, dan kemudian membangun aplikasi Anda dengan sangat cepat.
Apakah Saya Membutuhkan Ini?
Jika Anda sedang membangun aplikasi yang memerlukan salah satu fitur yang disediakan Laravel, saya sangat merekomendasikan untuk mencoba Jetstream. Ini lebih dari sekedar serangkaian fitur autentikasi seperti Breeze dan memberi Anda titik awal yang jauh lebih kuat dan kaya fitur untuk sistem Anda.
Namun, jika Anda tidak memerlukan semua fitur tambahan yang disediakan Jetstream, Anda mungkin lebih baik memilih Breeze. Secara pribadi, jika saya baru mengenal Laravel, saya mungkin akan mengunduh Jetstream hanya untuk melihat kemungkinan yang diberikannya. Namun saya mungkin akan menggunakan Breeze sampai saya merasa lebih nyaman membuat aplikasi. Ada sedikit kurva pembelajaran tambahan di Jetstream karena Anda mungkin perlu memiliki pengetahuan dalam menggunakan Livewire atau Inertia (dengan Vue). Meskipun, Anda tidak perlu mengetahui cara menggunakannya, akan berguna jika mengetahui cara menggunakannya jika Anda ingin menyesuaikan UI default yang disediakan. Namun, Livewire dan Inersia keduanya relatif mudah dipahami setelah Anda mengutak-atiknya beberapa kali, jadi jika Anda merasa sanggup melakukannya, Anda mungkin mendapat manfaat dari menyelami dan menggunakannya.
10. Mix
Laravel Mix adalah paket JavaScript oleh Jeffrey Way (pencipta Laracasts ) yang membuat bekerja dengan Webpack menjadi sangat mudah. Jika Anda baru mengenal pengembangan web, Anda mungkin tidak menyadari bahwa biasanya Anda perlu “membangun” aset JavaScript dan CSS untuk situs dan aplikasi Anda agar siap untuk diproduksi. Misalnya, Anda mungkin ingin memperkecil file JavaScript dan CSS sehingga memiliki ukuran file yang lebih kecil dan dimuat dengan cepat untuk pengguna Anda. Untuk melakukan ini, Anda dapat menggunakan bundler seperti Webpack.
Namun, menggunakan Webpack seringkali membingungkan dan rumit; terutama jika Anda tidak perlu melihat atau memperbarui file konfigurasi Webpack secara berkala. Mix memungkinkan Anda menulis file konfigurasi dengan cara yang lebih sederhana sehingga lebih mudah dipelihara dan dibaca.
Faktanya, saya sebenarnya menggunakan Mix di semua proyek saya. Jangan tertipu dengan namanya; Anda dapat menggunakan Mix di proyek non-Laravel. Secara default, ini sudah terinstal di aplikasi Laravel Anda, tetapi ada beberapa instruksi yang sangat mudah diikuti dalam dokumentasi yang dapat Anda ikuti jika Anda ingin menginstalnya di proyek lain.
Apakah Saya Membutuhkan Ini?
Kecuali Anda seorang veteran berpengalaman dengan Webpack atau berniat menggunakan jenis sistem lain untuk membangun aset Anda, saya sangat merekomendasikan penggunaan Mix. Hanya dengan dua atau tiga baris konfigurasi, Anda dapat mulai mengkompilasi dan mengecilkan aset JavaScript dan CSS Anda tanpa mengetahui cara kerja Webpack.
Tentu saja, jika Anda memiliki lebih banyak pengalaman menggunakan Webpack dan menginginkan kontrol yang lebih terperinci, Anda dapat memilih untuk tidak menggunakannya. Namun, dari semua proyek yang saya kerjakan selama saya menjadi pengembang web Laravel di seluruh dunia, semuanya selalu menggunakan Laravel Mix.
11. Nova
Nova adalah paket berbayar yang menyediakan panel administrasi untuk aplikasi Laravel Anda. Ini memungkinkan Anda menambahkan fungsionalitas admin ke proyek Anda yang tidak memerlukan CMS (sistem manajemen konten) tradisional dan lengkap.
Misalnya, saya sendiri sebenarnya menggunakan Nova untuk menulis semua postingan blog di situs saya. Ini memberi saya dasbor yang ringan dan dapat disesuaikan yang dapat saya gunakan untuk membuat dan mengedit postingan blog saya tanpa banyak kerumitan. Saya bahkan menggunakannya di situs web beberapa klien untuk menampilkan pengiriman formulir kontak mereka dan mengubah teks di halaman web mereka.
Saya bahkan pernah melihat aplikasi lengkap yang digunakan dalam pengaturan komersial yang dibuat murni di Nova, sehingga dapat diperluas dengan cukup baik jika diperlukan.
Apakah Saya Membutuhkan Ini?
Jika Anda sedang membangun proyek atau situs yang memerlukan dasbor admin sehingga Anda (atau orang lain) dapat mengedit beberapa bagian situs publik Anda, Nova pasti dapat berguna. Namun, menurut saya, Nova bukanlah suatu keharusan dan ada opsi lain di luar sana, seperti membangun sendiri fungsionalitas admin (jika tidak banyak), atau menggunakan CMS seperti Filament atau October CMS .
Namun, jika saya ingin membangun kembali situs saya dari awal, saya pasti akan memilih Nova lagi karena ini menghemat banyak waktu dan saya menyukai betapa sederhananya untuk memulai dan menjalankannya setelah mengunduhnya.
12. Octane
Octane adalah paket yang dapat Anda gunakan untuk meningkatkan kinerja aplikasi Anda secara drastis menggunakan Open Swoole , Swoole , atau RoadRunner . Seperti yang disebutkan dalam dokumentasi, “Octane mem-boot aplikasi Anda satu kali, menyimpannya di memori, dan kemudian memenuhi permintaannya dengan kecepatan supersonik”.
Saya belum pernah menggunakan Octane di salah satu proyek saya, jadi saya tidak bisa memberikan terlalu banyak pendapat tentang betapa mudahnya mengatur atau menggunakannya. Namun, saya telah mendengar dari pengembang lain secara online bahwa mereka menggunakan Octane dalam proyek mereka sendiri dan melihat beberapa peningkatan kinerja yang luar biasa.
Apakah Saya Membutuhkan Ini?
Menurut pendapat pribadi saya, jika Anda baru memulai pengembangan web, Anda mungkin tidak perlu melihat Octane dulu. Di masa depan, jika Anda mulai mengerjakan proyek dengan kinerja tinggi atau waktu yang mendesak, Anda mungkin ingin melihatnya.
13. Sail
Sail adalah antarmuka baris perintah yang dapat Anda gunakan untuk berinteraksi dengan lingkungan pengembangan Docker. Anda dapat menggunakannya untuk mengaktifkan dan menjalankan aplikasi Laravel Anda dengan PHP, MySQL, Redis, Mailhog, dan layanan lainnya dalam beberapa menit.
Jika Anda tidak punya banyak pengalaman menggunakan Docker, Sail bisa menjadi titik awal yang bagus untuk menyiapkan lingkungan pengembangan di mesin Anda. Namun, Anda perlu memastikan bahwa Anda tidak menggunakannya dalam produksi, karena tidak dioptimalkan untuk jenis lingkungan tersebut.
Saya sebenarnya menggunakan Sail sendiri untuk menyiapkan proyek saya sendiri dan menjalankannya secara lokal. Salah satu hal yang saya sukai darinya adalah kecepatannya dalam menjalankan perintah instalasi hingga menjalankan situs di browser saya. Saya tidak memerlukan pengalaman atau pengetahuan apa pun dalam menggunakan Docker dan saya tidak perlu menghabiskan waktu lama untuk membaca panduan tentang cara membuat semuanya berfungsi; itu berhasil.
Apakah Saya Membutuhkan Ini?
Jika Anda baru memulai pengembangan web, saya mungkin akan merekomendasikan penggunaan Laravel Sail sehingga aplikasi Laravel dapat berjalan di mesin Anda dengan sangat cepat. Jika, di masa depan, Anda memutuskan bahwa Sail tidak cocok untuk Anda dan Anda lebih memilih untuk membuat image Docker Anda sendiri atau menggunakan lingkungan pengembangan yang berbeda (seperti Valet), maka Anda dapat dengan cepat menghapusnya dari proyek Anda. Pada dasarnya, Sail hanyalah beberapa file yang disimpan di root proyek Anda, sehingga Anda dapat dengan mudah menghapusnya jika Anda tidak menyukainya.
Lebih mudah lagi menggunakan Sail jika Anda menyiapkan aplikasi Laravel baru karena sebenarnya sudah terinstal secara default. Anda hanya perlu menjalankan perintah instalasi untuk menyelesaikan pengaturan.
14. Sanctum
Sanctum adalah paket ringan yang dapat Anda gunakan untuk menambahkan otentikasi untuk API berbasis token, aplikasi seluler, dan SPA (aplikasi satu halaman). Sama seperti semua paket lainnya, pengaturannya sangat sederhana dan Anda dapat mengatur beberapa bentuk otentikasi dengan cukup cepat.
Saya telah menggunakan Sanctum di proyek sebelumnya untuk API dan menurut saya ini berguna karena Anda dapat menambahkan “kemampuan” ke token. Misalnya, bayangkan sistem Anda dapat digunakan untuk membuat dan mengedit pengguna. Jika pengguna ingin dapat membuat token yang hanya memungkinkan mereka memperbarui pengguna tetapi tidak dapat membuatnya, mereka dapat menentukannya dalam kemampuan. Ini berarti Anda dapat menentukan kontrol dan otorisasi terperinci untuk token Anda. Dalam beberapa proyek, hal ini tidak terlalu diperlukan. Namun, terkadang paket ini bisa menjadi paket yang sangat keren untuk digunakan karena menghemat jumlah waktu yang harus kita habiskan untuk membangun autentikasi API.
Apakah Saya Membutuhkan Ini?
Jika Anda membangun proyek yang memiliki API, menurut saya Anda akan mendapat banyak manfaat dari penggunaan Sanctum. Demikian pula, menurut saya Anda akan mendapat manfaat dari menggunakannya jika Anda membuat SPA atau aplikasi seluler. Namun, jika Anda tidak melakukan salah satu hal ini, Anda mungkin tidak memerlukan Sanctum dan mungkin lebih baik mengandalkan metode autentikasi yang disediakan oleh sesuatu seperti Breeze atau Jetstream.
15. Scout
Scout adalah paket yang dapat Anda gunakan untuk menambahkan pencarian ke aplikasi Laravel Anda. Anda dapat menggunakannya untuk mengimplementasikan pencarian teks lengkap pada driver Algolia , MeiliSearch , dan MySQL/PostgreSQL.
Mirip dengan Octane, saya belum pernah menggunakan paket ini sebelumnya jadi saya tidak bisa memberikan banyak informasi tentangnya. Namun, dari apa yang saya dengar dari pengembang lain, Scout bisa menjadi paket yang sangat berguna untuk dimiliki ketika Anda memiliki sejumlah besar data di database yang ingin Anda cari. Misalnya, Anda mungkin ingin menggunakan Scout untuk menerapkan pencarian seluruh situs di proyek atau situs web Anda.
Apakah Saya Membutuhkan Ini?
Menurut pendapat pribadi saya, saya rasa Anda tidak perlu mencoba Scout jika Anda baru mengenal pengembangan web. Namun, menurut saya ini akan menjadi sesuatu yang layak untuk dilihat jika Anda berpikir untuk menambahkan pencarian ke kode Anda yang mungkin perlu dijalankan dengan cepat.
16. Socialite
Socialite adalah paket keren yang memungkinkan Anda berkomunikasi dengan penyedia OAuth untuk mengautentikasi pengguna Anda. Misalnya, daripada menggunakan formulir masuk tradisional di proyek seperti yang Anda harapkan, Anda bisa menyediakan fungsionalitas bagi pengguna untuk masuk menggunakan Facebook, Twitter, LinkedIn, Google, GitHub, GitLab, dan Bitbucket.
Ini bisa sangat berguna ketika Anda ingin membuat pendaftaran dan pendaftaran proyek Anda lancar. Faktanya, dalam proyek yang saya jalani saat ini, saya telah menambahkan fungsi untuk masuk menggunakan GitHub, Bitbucket atau Google. Saya sangat senang dengan betapa sederhananya untuk memulai dan bagaimana segala sesuatunya tampak menyatu dan berfungsi.
Apakah Saya Membutuhkan Ini?
Saya tidak akan mengatakan bahwa Sosialita adalah sesuatu yang perlu Anda perhatikan jika Anda baru memulai pengembangan web atau Laravel. Namun, jika Anda mencari proyek sampingan kecil yang menyenangkan untuk mendalami Laravel, menurut saya menyiapkan formulir login tiruan menggunakan Socialite dan menggunakannya untuk masuk menggunakan penyedia OAuth lain bisa sangat menyenangkan. Atau, jika Anda berpikir untuk menambahkan proses masuk OAuth untuk aplikasi Anda, Anda pasti dapat menambahkan sendiri logika untuk melakukan ini. Namun dengan menggunakan Socialite, segalanya menjadi lebih sederhana dan mencegah Anda dari keharusan menulis kode yang menangani permintaan OAuth.
17. Teleskop
Teleskop adalah paket yang dapat Anda tambahkan ke aplikasi Laravel Anda untuk mendapatkan gambaran umum tentang sebagian besar aplikasi Anda. Seperti yang disebutkan dalam dokumentasi, ini “memberikan wawasan tentang permintaan yang masuk ke aplikasi Anda, pengecualian, entri log, kueri basis data, pekerjaan yang antri, email, pemberitahuan, operasi cache, tugas terjadwal, dump variabel, dan banyak lagi.”.
Faktanya, Teleskop adalah salah satu hal pertama yang saya instal di setiap proyek Laravel baru yang saya mulai. Saya menyukai jumlah data yang ditunjukkannya tentang sistem saya dan wawasan yang diberikannya kepada saya.
Salah satu hal mengagumkan tentang Telescope adalah pemasangannya yang sangat mudah dan Anda bahkan dapat memasangnya di server pementasan jika Anda memerlukan lebih banyak wawasan saat men-debug bug atau menyiapkan rilis baru untuk diterapkan. Namun, jika Anda memilih untuk membuat Teleskop tersedia di server pementasan atau produksi Anda, penting bagi Anda untuk menguncinya agar tidak dapat diakses oleh publik.
Apakah Saya Membutuhkan Ini?
Menurut pendapat saya, saya akan merekomendasikan Telescope kepada setiap pengguna baru yang memulai dengan Laravel. Saya pikir ini memberi Anda wawasan yang sangat berguna tentang aplikasi Anda dan dapat membantu Anda memahami beberapa fitur yang tersedia untuk Anda di Laravel.
18. Valet
Valet adalah lingkungan pengembangan lokal lainnya (seperti Sail) yang dibuat untuk pengguna MacOS. Ini mengkonfigurasi Nginx dan DnsMasq di mesin Anda sehingga Anda dapat mengakses proyek Anda di browser Anda dengan mudah.
Anda tidak bisa serta merta menggunakan Valet sebagai pengganti Sail karena Valet tidak menyertakan semua tambahan yang disediakan Sail, seperti database, redis, atau Mailhog. Namun, jika Anda bersedia meluangkan sedikit waktu untuk menyiapkan sendiri tambahan opsional ini di mesin Anda, maka Valet adalah pilihan yang bagus. Ini sangat minim sehingga tidak menggunakan banyak RAM dan sangat cepat dibandingkan dengan Sail.
Faktanya, jika saya tidak selalu membutuhkan tambahan opsional dari Sail, saya suka menggunakan Valet untuk menyiapkan situs saya.
Dokumentasi ini memberikan beberapa petunjuk bagus tentang cara menyiapkan Valet sehingga Anda dapat segera mulai membuat aplikasi.
Apakah Saya Membutuhkan Ini?
Menurut pendapat saya, jika Anda menggunakan Mac dan tidak memerlukan semua tambahan dari Sail, saya sangat merekomendasikan menggunakan Valet. Menurut saya, ini adalah lingkungan pengembangan lokal yang bagus dan memberikan titik awal yang baik untuk proyek.

https://www.awwwards.com/websites/laravel/



Source :
Why Laravel is the Best PHP Framework in 2021?

Tinggalkan komentar