Ekosistem package Laravel

date 16 Feb 2021
date Lev Yasin
date 45
date Web Programming
Ekosistem package Laravel

Package memainkan peran besar dalam adegan Laravel . Seberapa besar dan package yang mana? Untuk mengetahuinya kita mengambil data dari Packagist.org API dan memfilter package Laravel.

Bagaimana kita mengidentifikasi package Laravel? Dengan melihat composer.json. Saya diklasifikasikan package sebagai milik ekosistem LARAVEL jika name, description, keywordsatau typebidang yang terkandung string laravel. Saya juga menganggapnya sebagai package Laravel jika memiliki laravel/frameworkatau salah satu illuminate/*subpohon terbagi sebagai ketergantungan. Dan akhirnya - laravelkunci di extralapangan juga menjadi pemicu.

Package paling populer

Dengan melihat secara naif daftar package yang paling banyak diunduh , kita melihat hasil yang tidak menarik - package inti dan package dengan banyak kegunaan di luar proyek Laravel.

| Package                 | Monthly downloads |
|-------------------------|-------------------|
| nesbot/carbon           | 4084214           |
| laravel/framework       | 2987907           |
| laravel/tinker          | 2455355           |
| fideloper/proxy         | 2376631           |
| nunomaduro/collision    | 1510258           |
| intervention/image      | 1099989           |
| facade/ignition         | 966800            |
| facade/flare-client-php | 934651            |
| composer/installers     | 803222            |
| illuminate/support      | 756189            |

Mungkin daftar utama yang lebih menarik akan menjadi salah satu dengan "false positives". Saya secara manual menyaring 30 package teratas yang dibuat untuk proyek Laravel dan dipasang dengan sengaja. Saya juga secara longgar mengklasifikasikan tujuan package tersebut.

|    | Package                      | Monthly | Total    | Purpose |
|----|------------------------------|---------|----------|---------|
| 1  | maatwebsite/excel            | 680466  | 17769696 | port    |
| 2  | laravelcollective/html       | 678048  | 21785383 | helper  |
| 3  | barryvdh/laravel-ide-helper  | 644297  | 18918427 | dev     |
| 4  | barryvdh/laravel-debugbar    | 625080  | 19404288 | dev     |
| 5  | laravel/passport             | 552633  | 10099903 | auth    |
| 6  | beyondcode/laravel-dump-s... | 530901  | 11035024 | dev     |
| 7  | sentry/sentry-laravel        | 455879  | 8440070  | integ   |
| 8  | laravel/ui                   | 433850  | 1599042  | auth    |
| 9  | barryvdh/laravel-cors        | 400920  | 10823255 | helper  |
| 10 | laravel/socialite            | 394471  | 10166784 | auth    |
| 11 | laravel/slack-notificatio... | 385921  | 7172937  | integ   |
| 12 | tymon/jwt-auth               | 359693  | 9107092  | auth    |
| 13 | barryvdh/laravel-dompdf      | 349572  | 8006731  | port    |
| 14 | laravel/helpers              | 337956  | 1692185  | helper  |
| 15 | spatie/laravel-permission    | 308453  | 5224001  | auth    |
| 16 | laravel/horizon              | 304864  | 4599598  | integ   |
| 17 | laravel/dusk                 | 256261  | 4542482  | dev     |
| 18 | laravel/nexmo-notificatio... | 238192  | 6080124  | integ   |
| 19 | laravel/telescope            | 227966  | 2289576  | dev     |
| 20 | bugsnag/bugsnag-laravel      | 223167  | 6544766  | dev     |
| 21 | yajra/laravel-datatables-... | 212985  | 5644721  | integ   |
| 22 | aws/aws-sdk-php-laravel      | 212260  | 7070121  | integ   |
| 23 | orchestra/testbench-core     | 199780  | 1864659  | dev     |
| 24 | orchestra/testbench          | 195269  | 2279889  | dev     |
| 25 | symplify/package-builder     | 193661  | 1484783  | dev     |
| 26 | laravel/scout                | 177270  | 3391042  | integ   |
| 27 | barryvdh/laravel-snappy      | 156741  | 3651684  | port    |
| 28 | webpatser/laravel-uuid       | 153883  | 4774711  | helper  |
| 29 | spatie/laravel-medialibrary  | 149290  | 2293823  | helper  |
| 30 | spatie/laravel-activitylog   | 148932  | 2387978  | dev     |
- beyondcode/laravel-dump-server
- laravel/slack-notification-channel
- laravel/nexmo-notification-channel
- yajra/laravel-datatables-oracle

Penjelasan tujuan:

  • auth - otentikasi dan otorisasi
  • dev - tools pengembangan dan debugging
  • helper - dukungan dan penyederhanaan pekerjaan
  • integ - integrasi dengan layanan lainnya
  • port - impor dan / atau ekspor dalam berbagai bentuk

Tools pengembangan paling lazim di daftar ini diikuti dengan integrasi.

Saya berharap untuk melihat lebih banyak package Spatie di bagian paling atas, tetapi ternyata maatwebsite / excel dan tools dari Barry vd. Heuvel lebih banyak digunakan secara universal.

Tinjauan vendor

Total ada 47337 package Laravel yang diidentifikasi dari 23167 pengembang yang berbeda. Distribusi cukup merata dengan banyak dan banyak juga vendor kecil.

Setengah dari package (23668) dibuat oleh 3927 pengembang teratas yang jauh lebih banyak. 15042 pengembang hanya memiliki satu package yang dipublish.

Jika kita mengurutkan pengembang package berdasarkan jumlah package, kita akan melihat beberapa nama yang belum pernah terdengar.

lev_yasin.png

Lev Yasin

Instruktur Web Programming Mataweb

Sangat tertarik dengan dunia Pemrograman Web & Mobile, saat ini fokus pada bagian Backend Web Developer, menggunakan PHP sebagai bahasa pemrograman utama, biasanya saya menggunakan Laravel.

Artikel Terkait

Halo, ada yang bisa kami bantu?