খেলার মাঠ

যখন ব্লকলির কোরে হ্যাকিং করা হয় বা একটি প্লাগইন তৈরি করা হয়, তখন খেলার মাঠ একটি অত্যন্ত দরকারী টুল। এটিতে ব্লকলির একটি পূর্বনির্ধারিত উদাহরণ রয়েছে যা আপনি পরীক্ষা, ডিবাগিং বা প্রোটোটাইপিংয়ের জন্য ব্যবহার করতে পারেন। গুগলে, ব্লকলির কার্যত সমস্ত বিকাশ খেলার মাঠ ব্যবহার করে ঘটে। একটি পূর্বরূপ হিসাবে, এখানে ডেমো সার্ভারে সাধারণ খেলার মাঠ

কোর ব্লকলির জন্য 3 ধরনের খেলার মাঠ রয়েছে: সাধারণ, উন্নত এবং বহু। ব্লকলি-নমুনাগুলিতে, সাধারণত শুধুমাত্র উন্নত খেলার মাঠ ব্যবহার করা হয়।

পূর্বশর্ত

ব্লকলি এখন ক্লোজার মডিউল সিস্টেম ব্যবহার করে। সেগুলি যেভাবে লোড করা হয়েছে তার কারণে, অসংকলিত ক্লোজার মডিউলগুলি অবশ্যই একটি http: বা https: URL থেকে আনতে হবে এবং file: URL থেকে সরাসরি আনা যাবে না৷ ফলস্বরূপ, খেলার মাঠটিকে অসংকলিত মোডে লোড করতে, আপনাকে এটি একটি স্থানীয় ওয়েব সার্ভার থেকে লোড করতে হবে৷

আমরা একটি স্ক্রিপ্ট তৈরি করেছি যা একটি স্থানীয় সার্ভার শুরু করে এবং ব্লকলি মডিউলগুলি লোড করার জন্য প্রয়োজনীয় সমস্ত কোড লোড করে। সমস্ত নির্ভরতা ইনস্টল করার জন্য আপনাকে আপনার মেশিনে npm ইনস্টল করতে হবে এবং Blockly এর রুট থেকে npm install চালাতে হবে।

ইন্টারনেট এক্সপ্লোরার ব্যবহার করে

ব্লকলি এখন তার কোডবেসে উন্নত বৈশিষ্ট্য ব্যবহার করে যা ইন্টারনেট এক্সপ্লোরারের সাথে সামঞ্জস্যপূর্ণ নাও হতে পারে। সংকুচিত (সংকলিত) কোডে, এই বৈশিষ্ট্যগুলি IE-এর সাথে কাজ করার জন্য স্থানান্তরিত হয়, তবে অসঙ্কোচিত কোড লোড করা কাজ নাও করতে পারে। আপনি যদি IE-তে খেলার মাঠ লোড করেন, এমনকি স্থানীয় HTTP সার্ভারের মাধ্যমে, খেলার মাঠ তাই স্বয়ংক্রিয়ভাবে সামঞ্জস্য নিশ্চিত করার প্রচেষ্টায় সংকুচিত ব্লকলি কোড লোড করবে। সংকুচিত মোডে খেলার মাঠের পরিবর্তনগুলি পরীক্ষা করার বিষয়ে আরও বিশদ বিবরণের জন্য "সরাসরি খেলার মাঠগুলি অ্যাক্সেস করা" বিভাগটি দেখুন৷

সরল খেলার মাঠ

সাধারণ খেলার মাঠ হল অন্য দুটি খেলার মাঠ কিসের উপর ভিত্তি করে। এটি একটি টুলবক্স এবং ওয়ার্কস্পেস প্রদর্শন করে এবং আপনাকে সীমিত সংখ্যক সেটিংস সামঞ্জস্য করতে দেয়।

খেলার মাঠ খুলতে, দৌড়ান

npm run start

Blockly এর মূল থেকে। নিশ্চিত করুন যে পোর্ট 8080-এ অন্য কিছু শোনা যাচ্ছে না। এই কমান্ডটি ব্লকলি মডিউলগুলি হোস্ট করা একটি সার্ভার শুরু করবে এবং স্বয়ংক্রিয়ভাবে আপনার ব্রাউজারকে খেলার মাঠের পৃষ্ঠায় খুলবে। যখন আপনি খেলার মাঠ বন্ধ করতে প্রস্তুত হন, প্রক্রিয়াটি শেষ করুন (ম্যাক এবং লিনাক্স পরিবেশে ctrl-c)।

খেলার মাঠের বৈশিষ্ট্য:

  • দ্রুত বিকাশের জন্য সমস্ত কোড অসঙ্কুচিত।
  • সমস্ত ডিফল্ট ব্লক (কিছু অবচয় বাদে)।
  • সমস্ত ভাষা জেনারেটর (জাভাস্ক্রিপ্ট, পাইথন, পিএইচপি, লুয়া এবং ডার্ট)।
  • ওয়ার্কস্পেস স্টেট (JSON বা XML) সিরিয়ালাইজ এবং ডিসিরিয়ালাইজ করুন।
  • LTR এবং RTL লেআউটের মধ্যে স্যুইচ করুন।
  • টুলবক্স লেআউটের মধ্যে স্যুইচ করুন।
  • রেন্ডারারের জন্য স্ট্রেস পরীক্ষা।
  • কনসোলে সমস্ত ইভেন্ট লগ করুন।

উন্নত খেলার মাঠ

ব্লকলি ডিবাগিংকে আরও সহজ করতে উন্নত খেলার মাঠে অতিরিক্ত বৈশিষ্ট্য রয়েছে। এটিও ডিফল্ট খেলার মাঠ যা সমস্ত প্লাগইনের জন্য ব্লকলি-স্যাম্পলে ব্যবহৃত হয়।

এই খেলার মাঠের সমস্ত সাধারণ খেলার মাঠের বৈশিষ্ট্যগুলি ছাড়াও রয়েছে:

  • অতিরিক্ত সেটিংস কনফিগার করা যেতে পারে, যেমন গ্রিড সাইজ, জুম/মুভ কন্ট্রোল, রেন্ডারার, থিম এবং আরও অনেক কিছু।
  • ব্যবহৃত সেটিংস এবং ব্লকগুলি ক্যাশে করা হয় এবং পরের বার খেলার মাঠ লোড হলে স্বয়ংক্রিয়ভাবে ব্যবহৃত হয়৷
  • একই উইন্ডোতে প্রতিটি জেনারেটরের আউটপুট দেখুন।

ব্লকলি-স্যাম্পলে যেকোনো প্লাগইনের জন্য উন্নত খেলার মাঠ শুরু করতে, প্লাগইনের রুট ডিরেক্টরি থেকে npm run start করুন। বর্তমানে, শুধুমাত্র একটি প্লাগইন একবারে চলতে পারে এবং এটি 3000 পোর্ট ব্যবহার করে। প্লাগইনটি শুরু করতে আপনার সমস্যা হলে, প্রথমে নিশ্চিত করুন যে সেই পোর্টে অন্য কিছু শোনা যাচ্ছে না।

কোরে উন্নত খেলার মাঠ শুরু করতে, ব্লকলির রুট থেকে npm run start চালান এবং তারপর শিরোনামের নীচে "উন্নত" লিঙ্কে ক্লিক করুন।

আপনি Blockly এর dev-tools প্যাকেজ ব্যবহার করে আপনার নিজস্ব পরীক্ষা পৃষ্ঠাও তৈরি করতে পারেন যাতে উন্নত খেলার মাঠ রয়েছে।

একাধিক খেলার মাঠ

মাল্টি প্লেগ্রাউন্ডে এলটিআর মোড এবং টুলবক্সের অবস্থানের জন্য বিভিন্ন কনফিগারেশনে বেশ কয়েকটি খেলার মাঠ রয়েছে। এটি প্রধানত দ্রুত পরীক্ষা করার জন্য ব্যবহৃত হয় যে ব্লকলি প্রকাশের আগে LTR সম্পর্কিত কিছু ভাঙেনি। এই খেলার মাঠটি খুলতে, সাধারণ খেলার মাঠের জন্য ধাপগুলি অনুসরণ করুন, এবং তারপর URL টি /tests/multi_playground.html এ পরিবর্তন করুন।

পরীক্ষার পরিবর্তন

স্থানীয় সার্ভার থেকে খেলার মাঠ চালানোর সময়, বেশিরভাগ ক্ষেত্রে ব্লকলিতে আপনার পরিবর্তনগুলি দেখতে আপনাকে যা করতে হবে তা হল পৃষ্ঠাটি রিফ্রেশ করা। আপনি যদি একটি নতুন ফাইল যোগ করেন বা একটি ফাইলে একটি নতুন নির্ভরতা যোগ করেন, তাহলে আপনাকে প্রথমে npm run build চালানোর প্রয়োজন হতে পারে যা নির্ভরতা সঠিকভাবে লোড হয়েছে তা নিশ্চিত করতে test/deps.js ফাইল আপডেট করবে এবং তারপর পৃষ্ঠাটি রিফ্রেশ করবে।

আপনি যদি একটি প্লাগইনের উন্নত খেলার মাঠ চালাচ্ছেন, তাহলে আপনাকে পৃষ্ঠাটি রিফ্রেশ করারও প্রয়োজন নেই৷ পরিবর্তন স্বয়ংক্রিয়ভাবে হটলোড হয়!

সরাসরি খেলার মাঠ অ্যাক্সেস করা

পূর্বে, আপনার ব্রাউজারে test/playground.html ফাইলে সরাসরি নেভিগেট করে সাধারণ খেলার মাঠটি স্থানীয়ভাবে অ্যাক্সেস করা হয়েছিল। এটি এখনও সহজ এবং বহু খেলার মাঠের সাথে সম্ভব, তবে এটি আর সুপারিশ করা হয় না। আপনি যদি এটি করেন, খেলার মাঠ শনাক্ত করবে যে আপনি একটি স্থানীয় সার্ভার চালাচ্ছেন না এবং স্বয়ংক্রিয়ভাবে সংকুচিত ব্লকলি ফাইলগুলি ব্যবহার করবেন (আরো তথ্যের জন্য বিল্ডিং ব্লকলি পৃষ্ঠা দেখুন) এবং যখনই আপনি কোর ব্লকলিতে কিছু পরিবর্তন করবেন, তখন আপনাকে মূল এবং স্টেজ পুনর্নির্মাণ করতে হবে। পরিবর্তনগুলি রিমোট সার্ভারে হোস্ট করা থাকলে আপনি এখনও এই পৃষ্ঠাগুলি অ্যাক্সেস করতে পারেন, যেমন আমাদের ডেমো সাইটে হোস্ট করা উদাহরণ। আপনি যখনই সংকুচিত মোডে থাকবেন তখনই পটভূমি উজ্জ্বল নীল হবে।

উন্নত খেলার মাঠ file: অ্যাক্সেস।