Plugin

Pengantar

Plugin adalah potongan kode mandiri yang menambahkan fungsi ke Blockly. Plugin dapat menambahkan kolom, menentukan tema, membuat perender, dan banyak lagi.

Pengguna target untuk plugin adalah developer yang menemukan dan menggunakan plugin tersebut melalui npm. Untuk informasi selengkapnya tentang cara mem-build plugin, Anda juga dapat menonton bincang-bincang How to Build a Plugin 2021 dan diskusi Ringkasan Plugin 2021 kami.

Pihak pertama vs pihak ketiga

Plugin yang ditentukan di repositori blockly-samples adalah plugin pihak pertama, yang berarti plugin tersebut didukung oleh tim Blockly dan dipublikasikan dalam cakupan @blockly di npm.

Plugin pihak pertama yang bagus:

  • memiliki kasus penggunaan yang jelas
  • memiliki tujuan umum
  • stabil
  • mudah digunakan

Plugin pihak ketiga dikelola dan dipublikasikan secara independen. Plugin pihak ketiga mungkin lebih kompleks, lebih eksperimental, atau lebih bertarget.

Misalnya, kolom untuk menyetel kecepatan motor dapat digunakan dalam banyak project robotik. Di sisi lain, kolom untuk mengedit objek tertentu yang ditentukan oleh skema database Anda lebih baik sebagai plugin pihak ketiga.

Kriteria pihak pertama

Plugin pihak pertama harus memenuhi persyaratan berikut:

  • Berfungsi di semua platform utama, kecuali jika diberikan pengecualian oleh tim Blockly.
    • Chrome, Firefox, Safari, Edge
  • Memiliki penulis yang bersedia menangani bug untuk tahun pertama.
  • Tidak melakukan Monkeypatch Blockly.
  • Memiliki API yang didefinisikan dan didokumentasikan dengan jelas.
  • Tidak memanggil fungsi pribadi atau paket dari core Blockly, kecuali jika diberikan pengecualian oleh tim Blockly.
    • Mengganti fungsi paket pada subclass yang Anda tentukan diizinkan.
    • Jika Anda ingin pengecualian, tanyakan kepada kami masalah pada contoh blockly.
  • Ada tes.

Menemukan plugin

  • Di Halaman GitHub Pelajari demo langsung plugin pihak pertama.
  • Di npm Telusuri @blockly untuk melihat daftar plugin yang dipublikasikan oleh tim Blockly.
  • Di GitHub Lihat direktori plugin di repositori contoh blockly. Setiap plugin memiliki README yang menjelaskan perilaku dan tujuan penggunaannya.

Menginstal plugin

  1. Temukan plugin yang ingin Anda instal menggunakan salah satu resource di atas, lalu temukan README.
  2. Ikuti petunjuk penginstalan di README. Secara umum, Anda perlu menginstal plugin dari npm, misalnya

    npm install @blockly/block-plus-minus --save
    

    dan mengimpornya ke kode Anda, mis.

    import Blockly from 'blockly';
    import '@blockly/block-plus-minus';
    
  3. Beberapa plugin mungkin memerlukan langkah tambahan, seperti melakukan inisialisasi atau mendaftarkan plugin. Langkah-langkah ini akan dicantumkan di README.

Versi plugin

Plugin dalam contoh blockly mengikuti pembuatan versi semantik, sehingga setiap perubahan yang dapat menyebabkan gangguan akan berada dalam versi utama yang baru. Semua plugin baru yang mengandalkan Monkey patching core akan memiliki versi utama 0 untuk menandakan pengembangan awal seperti yang dinyatakan dalam spesifikasi semver.

Sebagian besar plugin menyertakan paket blockly utama sebagai peerDependency, bukan dependensi. Hal ini karena kami berharap Anda telah menginstal Blockly sendiri di aplikasi Anda sendiri (tidak akan masuk akal jika Anda menggunakan plugin tanpa juga menggunakan Blockly) sehingga Anda dapat mengelola versi Blockly sendiri. Namun, banyak plugin dikembangkan untuk menggunakan API baru yang ditemukan di versi terbaru Blockly, sehingga Anda perlu mengetahui persyaratan versi. package.json plugin akan memberi tahu Anda versi minimum Blockly yang kompatibel dengan plugin tersebut. Jika plugin diupdate sehingga memerlukan versi Blockly yang lebih baru, misalnya untuk memanfaatkan API baru, versi utama plugin akan ditingkatkan karena kami menganggap ini sebagai perubahan yang dapat menyebabkan gangguan.

Saat Anda menambahkan plugin ke package.json, defaultnya adalah menyertakan tanda sisipan sebelum versi seperti

"@blockly/block-plus-minus": "^2.0.15"

Tindakan ini akan memungkinkan npm menginstal versi minor apa pun pada atau di atas versi yang tercantum, sehingga versi 2.0.20 atau 2.1.0 dapat berfungsi, tetapi bukan versi utama baru seperti 3.0.1. Saat mengupdate ke versi baru Blockly, sebaiknya periksa apakah ada plugin Anda yang juga dapat diupdate ke versi utama baru.

Menginstal plugin tanpa npm

Meskipun secara umum kami merekomendasikan penggunaan npm agar dapat menerima update dengan mudah, Anda dapat menggunakan plugin tanpa npm.

Anda dapat menggunakan unpkg untuk menyertakan file plugin tanpa meng-clone file tersebut, misalnya

<script src="https://unpkg.com/@blockly/block-plus-minus"></script>

Atau, Anda dapat meng-clone repositori blockly-samples dan menyertakan file secara lokal yang mirip dengan yang Anda lakukan jika telah meng-clone Blockly. Namun, kami menyarankan Anda untuk menggunakan pengelola paket jika memungkinkan, karena akan membantu Anda terus mendapatkan fitur terbaru dan perbaikan bug dalam plugin.

Dengan metode ini, Anda tetap harus melakukan langkah-langkah inisialisasi atau pendaftaran yang tercantum di README plugin.