اکنون زمان قسمت 3 از مجموعه “ساختمان استودیو به صورت عمومی” است! در پست امروز، نحوه ارتباط برنامه استودیو با سایر پروژههای منبع باز را با تمرکز بر رابطه کلیدی آن با وردپرس Playground بررسی خواهیم کرد. ما همچنین به مزایا و چالشهای این رابطه همزیستی میپردازیم و نشان میدهیم که چگونه هر دو پروژه به طور متقابل از بهبودها و رفع اشکال سود میبرند.
اگر سریال را دنبال میکنید، حتماً پستهای گذشته را ببینید:
به عنوان یادآوری، Studio برنامه توسعه محلی وردپرس رایگان و منبع باز ما است.
نحوه اتصال استودیو به سایر پروژه های منبع باز
استودیو به پروژههای متنباز مختلفی متکی است، که اصلیترین آنها WordPress Playground است که یک سرور محلی وردپرس را ارائه میکند، از اجرای کد PHP گرفته تا ارائه فایلهای استاتیک و مدیریت پایگاه داده. این به توسعهدهندگان اجازه میدهد تا سایتها، افزونهها و تمهای وردپرس را در یک محیط محلی و جعبهشنی آزمایش کنند.
WordPress Playground از Emscripten برای کامپایل مفسر PHP در WebAssembly استفاده میکند و PHP را قادر میسازد در مرورگر و سایر پلتفرمها اجرا شود – یک جهش قابل توجه برای توسعه وردپرس.
استودیو از طریق وردپرس Playground از ابزارهای منبع باز دیگر مانند افزونه ادغام SQLite نیز استفاده می کند.
استودیو خود منبع باز است، به این معنی که پایگاه کد برای بررسی، مشارکت و فورک توسط جامعه در دسترس است. این گشودگی همکاری را تقویت می کند، نوآوری را تشویق می کند و امکان شناسایی و حل سریع مسائل را فراهم می کند.
به دلیل ماهیت منبع باز استودیو و پروژههایی که از آن مانند WordPress Playground استفاده میکند، ما با رفتار ناخواسته یا گمشده کتابخانههایمان مسدود نمیشویم، بلکه میتوانیم به کشف مشکلات یا فرصتهای بهبود در این پروژهها کمک کنیم و اصلاحات و بهبودهای لازم را انجام دهیم. بهجای ایجاد راهحلها، میتوانیم مستقیماً عملکرد و قابلیتهای استودیو را با ارائه راهحلهایی برای مشکلات واقعی افزایش دهیم.
این یک چرخه با فضیلت از بهبود، به نمایش گذاشتن ایجاد می کند چگونه همکاری منبع باز منجر به نوآوری می شود و به حل چالش های پیچیده کمک می کند.
چالش هایی که در کار با WordPress Playground کشف کردیم
WordPress Playground قدرتمند است، اما از آنجایی که باعث می شود وردپرس در یک محیط غیرعادی اجرا شود – مرورگر به جای سرور – برخی چیزها متفاوت از آنچه توسعه دهندگان انتظار دارند کار می کنند. در حالی که استفاده از آن برای تقویت استودیو به ما امکان میدهد به همه چیزهای خوب دست پیدا کنیم، مانند یک راهاندازی سریع، باید بر برخی چالشها نیز غلبه کنیم:
- سازگاری بین پلتفرم: حصول اطمینان از اینکه WordPress Playground بر روی سیستم عامل های مختلف (ویندوز، macOS، لینوکس) و در بین مرورگرها به طور روان اجرا می شود، نیاز به تست و تنظیم دقیق دارد.
- عملکرد: مدیریت منابع متعدد (مفسر پی اچ پی، سایت وردپرس، پایگاه داده و سیستم فایل) در حین اجرای چندین سایت در استودیو می تواند عملکرد را تحت فشار قرار دهد. در اینجا میتوانید درباره نحوه حفظ عملکرد بالا در استودیو اطلاعات بیشتری کسب کنید.
- سازگاری پلاگین و تم: اگرچه WordPress Playground یک محیط کامل برای اجرای سایت ها ایجاد می کند، برخی از افزونه ها و تم ها به افزونه هایی متکی هستند که به طور پیش فرض در وردپرس Playground گنجانده نشده اند. تنظیمات اغلب برای پشتیبانی از پلاگین ها و تم های مختلف ضروری است.
- مدیریت پایگاه داده: WordPress Playground به جای MySQL از پایگاه داده SQLite استفاده می کند که اساساً نحوه عملکرد وردپرس را تغییر می دهد. این تغییر مستلزم انطباق برای پرس و جوهای پایگاه داده و سازگاری با افزونه ها و تم ها است.
این پیچیدگی ها گاهی منجر به ناسازگاری، اشکال یا مشکلات عملکرد می شود. با این حال، ما معتقدیم که مزایای وردپرس Playground بسیار بیشتر از چالشها است و متعهد هستیم که با مشارکت در پروژه Playground به آنها رسیدگی کنیم. بنابراین نه تنها استودیو بهتر کار می کند، بلکه هرکسی که از Playground استفاده می کند تجربه بهتری دارد.
به نوبه خود، استودیو همچنین از مشارکت سایر کاربران Playground بهره می برد.
مشارکت های اخیر ما در وردپرس Playground و دیگر پروژه های منبع باز
به عنوان بخشی از مشارکتهایمان در برنامه استودیو، اخیراً روی بهبود سازگاری افزونهها، تمها و گردش کار در سایتها تمرکز کردهایم. موارد زیر برخی از اصلاحاتی است که ما انجام دادیم و به پروژه ها کمک کرد.
سازگاری با پایگاه داده MySQL
با درخواست کشش، به بهبود سازگاری سایتهای متصل به پایگاههای داده MySQL کمک کردیم، استودیو را در مدیریت تنظیمات مختلف سایت انعطافپذیرتر کرد و قابلیت آن را برای پشتیبانی از تنظیمات متنوعتر وردپرس گسترش داد.
پشتیبانی از Symlink
ما دو مشارکت (PR 1، PR 2) برای اضافه کردن پشتیبانی حیاتی برای مدیریت پیوندهای نمادین در سایتها ارائه کردیم که سازگاری و انعطافپذیری سیستم فایل را تا حد زیادی بهبود میبخشد. این بهبود به طور قابل توجهی گردش کار توسعه را بهبود می بخشد، و توسعه دهندگان را قادر می سازد تا ساختارهای پروژه تمیزتر را حفظ کنند و به طور موثرتر مضامین و افزونه های خود را در چندین پروژه مدیریت کنند. همچنین کنترل نسخه و همکاری آسان تر را با اجازه دادن لینک به مخازن خارجی بدون فایل های تکراری تسهیل می کند.
رفع آپلود رسانه ویندوز
یک راه حل مشکلات مهم بارگذاری رسانه در سایت ها را هنگام استفاده از نسخه ویندوز برنامه استودیو حل کرد و تجربه روان تری را برای کاربران ویندوز تضمین کرد. این مشارکت یک شکاف عملکردی قابل توجه را برطرف کرد و اطمینان حاصل کرد که Studio یک تجربه مدیریت رسانه سازگار و قابل اعتماد را در تمام سیستم عامل های پشتیبانی شده ارائه می دهد.
ارتقاء هسته و برنامه افزودنی وردپرس
کمک دیگری روند ارتقاء نسخه های وردپرس، افزونه ها و تم ها را برطرف کرد. این بهبود فرآیند بهروزرسانی را در استودیو ساده کرد و به توسعهدهندگان اجازه داد تا نصبهای وردپرس و برنامههای افزودنی مرتبط را به راحتی حفظ کنند.
سازگاری با ووکامرس
این درخواست کشش به طور قابل توجهی سازگاری با افزونه WooCommerce را بهبود بخشید و ابزار استودیو برای توسعه تجارت الکترونیک را گسترش داد. این مشارکت به پرس و جوها و عملیات پایگاه داده خاصی می پردازد که با پایگاه داده SQLite مورد استفاده در سایت های ایجاد شده با Studio ناسازگار است. افزونه یکپارچه سازی SQLite شامل پیچیدگی های مختلفی است تا امکان ادغام یکپارچه با اکوسیستم وردپرس را فراهم کند، و این کمک به یکی از مشکلات اصلی استفاده از WooCommerce در محیط های محلی وردپرس می پردازد.
سازگاری پسوند cURL
ما توانایی فعال کردن پسوند cURL در PHP مورد استفاده با Playground را ارائه دادیم که مشخص شد برای تعداد قابل توجهی از افزونهها برای تماسهای API خارجی یا واکشی دادههای از راه دور لازم است. این دامنه افزونه هایی را که می توانند به طور موثر در استودیو و وردپرس Playground مورد استفاده قرار گیرند، گسترش می دهد.
سازگاری ایجاد فایل
اصلاح سازگاری بهبود یافته با افزونههایی که فایلها را با استفاده از umask برای تنظیم مجوزهای فایل ایجاد میکنند و عملکرد سیستم فایل را بهبود میبخشد. این برای افزونههایی که کش تولید میکنند، فایلهای CSS یا جاوا اسکریپت سفارشی ایجاد میکنند یا آپلودها را به روشهای غیر استاندارد مدیریت میکنند، بسیار مهم بود. با حل این مشکلات عملکرد فایل، ما اطمینان حاصل کردیم که طیف گستردهتری از افزونهها میتوانند به درستی در استودیو کار کنند و نمایش دقیقتری از نحوه رفتار سایتها در یک محیط تولید ارائه میدهند.
همه مثالهای بالا نشان میدهند که چگونه مشارکتهای مشارکتی به تکامل استودیو کمک میکند و آن را با مجموعه گستردهای از افزونهها و مضامین در اکوسیستم وردپرس سازگارتر میکند.
نحوه مشارکت
اگر این پست الهام بخش شما برای مشارکت در پروژه های منبع باز است (ما طرفداران بزرگی هستیم)، در اینجا نحوه مشارکت در برخی از پروژه های منبع باز مورد علاقه ما آمده است:
ما با هم می توانیم ابزارهای باورنکردنی برای جامعه بسازیم! 🙂
آماده ساختن؟
اگر این اطلاعات علاقه شما را برانگیخته است، یا اگر در حال توسعه سایت های وردپرسی هستید، از امروز شروع به استفاده از قدرت استودیو کنید. رایگان است، منبع باز است و به طور یکپارچه در جریان کار توسعه شما ادغام می شود.
پس از دانلود Studio، آن را به حساب WordPress.com خود (رایگان یا پولی) متصل کنید تا قفل ویژگی هایی مانند سایت های نمایشی را باز کنید.
به 112.5 میلیون مشترک دیگر بپیوندید