Saat meretas inti Blockly atau mengembangkan plugin, playground adalah alat yang sangat berguna. Platform ini memiliki instance Blockly yang telah dikonfigurasi sebelumnya, yang dapat Anda gunakan untuk pengujian, proses debug, atau pembuatan prototipe. Di Google, hampir semua pengembangan Blockly dilakukan menggunakan playground. Sebagai pratinjau, berikut adalah playground sederhana di server demo.
Ada 3 jenis playground untuk core Blockly: sederhana, lanjutan, dan multi. Dalam contoh blockly, biasanya hanya playground lanjutan yang digunakan.
Prasyarat
Blockly kini menggunakan sistem modul Closure. Karena cara pemuatannya,
modul Closure yang tidak dikompilasi harus diambil dari URL http:
atau https:
dan
tidak dapat diambil langsung dari URL file:
. Oleh karena itu, untuk memuat
playground dalam mode yang tidak dikompilasi, Anda harus memuatnya dari server web lokal.
Kami telah membuat skrip yang memulai server lokal dan memuat semua kode
yang diperlukan untuk memuat modul Blockly. Anda harus menginstal npm di mesin Anda dan menjalankan npm install
dari root Blockly untuk menginstal semua dependensi.
Menggunakan Internet Explorer
Blockly kini menggunakan fitur lanjutan pada codebase-nya yang mungkin tidak kompatibel dengan Internet Explorer. Dalam kode yang dikompresi (dikompilasi), fitur ini ditranspilasi agar berfungsi dengan IE, tetapi pemuatan kode yang tidak dikompresi mungkin tidak berfungsi. Jika Anda memuat playground di IE, bahkan melalui server http lokal, playground akan otomatis memuat kode Blockly yang dikompresi sebagai upaya untuk memastikan kompatibilitas. Lihat bagian "Mengakses playground secara langsung" untuk detail selengkapnya tentang menguji perubahan di playground dalam mode terkompresi.
Playground Sederhana
Playground sederhana adalah dasar dari dua playground lainnya. Alat ini menampilkan toolbox dan ruang kerja, serta memungkinkan Anda untuk menyesuaikan sejumlah setelan terbatas.
Untuk membuka taman bermain, jalankan
npm run start
dari akar Blockly. Pastikan tidak ada lagi yang menunggu di port 8080. Perintah ini akan memulai server yang menghosting modul Blockly dan otomatis membuka browser Anda ke halaman playground. Saat Anda siap untuk menonaktifkan playground, akhiri prosesnya (ctrl-c di lingkungan Mac dan Linux).
Playground ini memiliki:
- Semua kode tidak dikompresi untuk pengembangan yang cepat.
- Semua blok default (kecuali untuk beberapa yang tidak digunakan lagi).
- Semua generator bahasa (JavaScript, Python, PHP, Lua, dan Dart).
- Melakukan serialisasi dan deserialisasi status ruang kerja (JSON atau XML).
- Beralih antara tata letak LTR dan RTL.
- Beralih antara tata letak kotak alat.
- Uji daya tahan untuk perender.
- Membuat log semua peristiwa di konsol.
Playground lanjutan
Playground lanjutan berisi fitur tambahan untuk semakin mempermudah proses debug Blockly. Ini juga merupakan playground default yang digunakan dalam contoh blok untuk semua plugin.
Taman bermain ini memiliki semua fitur taman bermain simpel plus:
- Setelan tambahan dapat dikonfigurasi, seperti ukuran petak, kontrol zoom/pindahkan, perender, tema, dan lainnya.
- Setelan dan blok yang digunakan akan di-cache dan digunakan secara otomatis saat playground dimuat.
- Lihat output setiap generator di jendela yang sama.
Untuk memulai playground lanjutan untuk plugin apa pun dalam contoh blockly, jalankan npm run
start
dari direktori root plugin. Saat ini, hanya satu plugin yang dapat berjalan pada satu waktu, dan plugin menggunakan port 3000. Jika Anda mengalami masalah saat memulai plugin, pertama-tama pastikan tidak ada lagi yang memproses port tersebut.
Untuk memulai playground lanjutan di core, jalankan npm run start
dari root
Blockly, lalu klik link "Advanced" di bawah judul.
Anda juga dapat membuat halaman pengujian sendiri yang menyertakan playground lanjutan dengan menggunakan paket dev-tools Blockly.
Beberapa taman bermain
Multi playground berisi beberapa playground dalam konfigurasi yang berbeda
untuk mode LTR dan lokasi toolbox. Hal ini terutama digunakan untuk memeriksa dengan cepat
bahwa Blockly tidak merusak apa pun yang terkait dengan LTR sebelum rilis. Guna membuka
playground ini, ikuti langkah-langkah untuk playground sederhana, lalu ubah
URL menjadi /tests/multi_playground.html
.
Perubahan pengujian
Saat menjalankan playground dari server lokal, yang perlu Anda lakukan untuk
melihat perubahan di Blockly dalam sebagian besar kasus adalah memuat ulang halaman. Jika telah menambahkan
file baru atau menambahkan dependensi baru ke file, Anda mungkin perlu menjalankan npm run
build
terlebih dahulu yang akan mengupdate file test/deps.js
untuk memastikan dependensi
dimuat dengan benar, lalu memuat ulang halaman.
Jika menjalankan playground lanjutan plugin, Anda bahkan tidak perlu memuat ulang halaman. Perubahan dimuat secara otomatis.
Mengakses playground secara langsung
Sebelumnya, playground sederhana diakses secara lokal dengan langsung membuka
file test/playground.html
di browser Anda. Hal ini masih dapat dilakukan dengan
playground yang sederhana dan multi, tetapi tidak lagi direkomendasikan. Jika Anda melakukannya, playground akan mendeteksi bahwa Anda tidak menjalankan server lokal dan
akan otomatis menggunakan file Blockly yang dikompresi (lihat
halaman Build Blockly untuk mengetahui
info selengkapnya) dan setiap kali mengubah sesuatu di core Blockly, Anda harus
mem-build ulang core dan mentahap perubahan. Anda tetap dapat mengakses halaman ini jika dihosting di server jarak jauh, seperti contoh yang dihosting pada situs demo kami. Latar
belakang akan berwarna biru terang setiap kali Anda berada dalam mode terkompresi.
Playground lanjutan tidak tersedia melalui akses file:
.