هدف این سند توسعه دهندگانی است که قبلاً Blockly را فورک کرده اند و به دنبال به روز رسانی به نسخه اخیر Blockly هستند، بدون اینکه کتابخانه را اصلاح کنند. اگرچه این یک کار دلهره آور به نظر می رسد، چند مرحله وجود دارد که می توانید برای مدیریت پذیرتر کردن فرآیند انجام دهید.
Unforking را درک کنید
استفاده از خط اصلی Blockly به این معنی است که شما از یک نسخه اخیراً منتشر شده از Blockly استفاده میکنید و همه سفارشیسازیهای شما از APIهای عمومی Blockly بدون وصله میمون استفاده میکنند. Unforking کاری است که باید انجام دهید تا عملکرد سفارشی فورک خود را با APIهای خط اصلی پیاده سازی کنید.
موارد ساده باز کردن انشعاب
در زیر دو دلیل متداول که ممکن است فوکوس کرده باشید و راه حل هایی برای چگونگی بازگشت به خط اصلی آورده شده است:
- شما بلوکها و ژنراتورهای خود را بدون تغییر هیچ کد Blockly ایجاد کردید : برای باز کردن در این شرایط، میتوانید به سادگی بلوکها و ژنراتورهای سفارشی خود را از مخزن Blockly خارج کرده و به کد برنامه خود منتقل کنید. سپس باید بتوانید نسخه Blockly خود را به روز کنید.
- شما عملکرد سفارشی را در فضای نام Blockly بدون تغییر هیچ کد Blockly اضافه کردید : به عنوان مثال، شما فیلدهای سفارشی یا روش های کمکی را اضافه کرده اید که فقط توسط برنامه شخصی شما استفاده می شود. برای باز کردن در این شرایط، این کد سفارشی را به برنامه خود خارج از مخزن Blockly منتقل کنید. سپس باید بتوانید نسخه Blockly خود را به روز کنید.
مورد گسترده Unforking
عملکرد دوشاخه را تعیین کنید
آخرین دلیلی که میبینیم کاربران فوک میکنند، پچ کردن Blockly برای ایجاد قابلیتهای سفارشی است که تصور میکنند در آن زمان در بالادست گنجانده نشده است. اگر فورک شما به طور قابل توجهی قدیمی است، ممکن است عملکرد مورد نیاز شما را قبلاً اضافه کرده باشیم، چه به عنوان افزونه یا در هسته. دانستن اینکه چه ویژگی هایی را در فورک خود اضافه کرده اید، می تواند نقشه راهی برای ویژگی هایی که باید به روز کنید ارائه دهد.
معماری را درک کنید
هنگامی که ویژگی هایی را که از API های مخصوص فورک استفاده می کنند درک کردید، در نظر بگیرید:
- برای هر ویژگی با استفاده از فورک، آیا راهی برای تکرار آن با استفاده از Blockly API وجود دارد؟
- اگر به نظر میرسد که نمیتوانید این ویژگی را با استفاده از APIهای Blockly تکرار کنید، لطفاً از طریق انجمن با ما تماس بگیرید یا مشکلی را در Github ثبت کنید. سپس تیم ما اضافه کردن API ها را بررسی می کند تا سفارشی سازی شما را فعال کند.
مسیر انشعاب خود را مشخص کنید
گام بعدی این است که در واقع فرآیند پیادهسازی معماری جدید Blockly را برای ویژگیهای با استفاده از فورک آغاز کنیم. دو رویکرد اصلی وجود دارد که می توانید اتخاذ کنید:
- Blockly را ارتقا دهید و ببینید چه چیزی خراب می شود : فوراً قسمت هایی را در کد خود خواهید دید که باید به روز شوند. شما می توانید از این ترکیب با آنچه قبلاً می دانید رفتار سفارشی است برای هدایت توسعه خود استفاده کنید.
- کد خود را اصلاح کنید تا ویژگیهای خود را از Blockly جدا کنید : برای این کار باید درک عمیقی از این که کدام ویژگیها برای فورک شما سفارشی هستند و کدام از Blockly آمدهاند، به دست آورید. هنگامی که کد شما به طور کامل جدا شد، نسخه قدیمی Blockly خود را با جدیدترین نسخه جایگزین کنید، سپس مشکلات یکپارچه سازی باقی مانده را برطرف کنید.
حرکت رو به جلو
در اینجا چند قانون وجود دارد که باید به عنوان یک توسعه دهنده Blockly در آینده از آنها پیروی کنید:
- به طور کلی، شما نباید کلاس های جدیدی را به فضای نام Blockly اضافه کنید. می توانید فیلدهای سفارشی یا سایر کلاس های قابل ثبت را بدون اعلام آنها در مخزن Blockly یا در فضای نام Blockly ثبت کنید.
- برای کامپایل برنامه خود نباید به ابزارهای ساخت Blockly اعتماد کنید. ما ابزارهای ساخت خود را بخشی از API عمومی نمیدانیم، بنابراین ممکن است تغییراتی در آنها ایجاد کنیم که برنامه شما را خراب کند. در صورتی که بخواهید این کار را انجام دهید، شما مسئول تدوین برنامه خود هستید.
تماس گرفتن
Blockly همیشه از طریق انجمن Blockly در دسترس است! اگر در طول فرآیند باز کردن انشعاب به مشکلی برخورد کردید، آنها را در آنجا پست کنید و ما میتوانیم کمک کنیم.