Taman Bermain

Saat melakukan peretasan di inti Blockly atau mengembangkan plugin, playground adalah alat yang sangat berguna. Layanan ini memiliki instance Blockly yang telah dikonfigurasi sebelumnya dan dapat digunakan 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 Blockly inti: 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 memuat dari server web lokal.

Kita 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 dalam codebase-nya yang mungkin tidak kompatibel dengan Internet Explorer. Dalam kode yang dikompresi (dikompilasi), fitur ini ditranspile agar berfungsi dengan IE, tetapi memuat 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 dalam upaya untuk memastikan kompatibilitas. Lihat bagian "Mengakses playground secara langsung" untuk mengetahui detail selengkapnya tentang pengujian perubahan di playground dalam mode terkompresi.

Playground Sederhana

Playground sederhana adalah dasar dari dua playground lainnya. Aplikasi ini menampilkan toolbox dan ruang kerja, serta memungkinkan Anda menyesuaikan setelan dalam jumlah terbatas.

Untuk membuka tempat bermain, jalankan

npm run start

dari root Blockly. Pastikan tidak ada yang memproses di port 8080. Perintah ini akan memulai server yang menghosting modul Blockly dan otomatis membuka browser Anda ke halaman playground. Jika Anda sudah siap untuk menonaktifkan playground, akhiri proses (ctrl-c di lingkungan Mac dan Linux).

Taman bermain ini memiliki:

  • Semua kode tidak dikompresi untuk pengembangan yang cepat.
  • Semua blok default (kecuali beberapa blok 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 toolbox.
  • Pengujian stres untuk perender.
  • Catat semua peristiwa di konsol.

Taman bermain lanjutan

Playground lanjutan berisi fitur tambahan untuk mempermudah proses debug Blockly. Ini juga merupakan playground default yang digunakan di contoh blockly untuk semua plugin.

Taman bermain ini memiliki semua fitur taman bermain sederhana, ditambah:

  • 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 lagi.
  • Lihat output setiap generator di jendela yang sama.

Untuk memulai playground lanjutan bagi plugin apa pun di blockly-samples, jalankan npm run start dari direktori root plugin. Saat ini, hanya satu plugin yang dapat berjalan sekaligus, dan menggunakan port 3000. Jika Anda kesulitan memulai plugin, pastikan tidak ada hal lain yang diproses di 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 alat developer Blockly.

Multi-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. Untuk membuka playground ini, ikuti langkah-langkah untuk playground sederhana, lalu ubah URL menjadi /tests/multi_playground.html.

Menguji perubahan

Saat menjalankan salah satu 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 harus 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 memungkinkan dengan playground yang sederhana dan multi, tetapi tidak lagi direkomendasikan. Jika Anda melakukannya, playground akan mendeteksi bahwa Anda tidak menjalankan server lokal dan otomatis menggunakan file Blockly yang dikompresi (lihat halaman Mem-build Blockly untuk mengetahui informasi selengkapnya) dan setiap kali Anda mengubah sesuatu di core Blockly, Anda harus mem-build ulang core dan melakukan staging perubahan. Anda tetap dapat mengakses halaman ini jika dihosting di server jarak jauh, seperti contoh yang dihosting di situs demo kami. Latar belakang akan berwarna biru cerah setiap kali Anda berada dalam mode terkompresi.

Playground lanjutan tidak tersedia melalui akses file:.