Roots: اِستکی اپن‌سورس برای توسعه‌دهندگان وردپرس


Roots شامل مجموعه ابزارهای اپن‌سورسی است که طبق ادعای سایت رسمی‌اش منجر بدان می‌گردند تا دولوپرهای وردپرس بتوانند سایت‌های بهتری با استفاده از این سی‌ام‌اس بسازند.

اولین کسی باشید که به این سؤال پاسخ می‌دهید

Roots در ابتدا یک تِم اولیهٔ مبتنی بر HTML5 بود که طراحان سایت می‌توانستند از آن به عنوان یک نقطهٔ شروع استفاده کنند اما به مرور زمان این ابزار به بلوغ رسید و ابزارها و استانداردهای جدید توسعهٔ وب در آن گنجانده شد تا این امکان در اختیار توسعه‌دهندگان قرار گیرد تا بتوانند لبهٔ‌ تکنولوژی گام برداشته و سایت‌هایی به‌روز و مدرنی طراحی کنند. Roots شامل سه ابزار کلیدی است که عبارتند از:

- Sage: یک تِم اولیه است که بر پایهٔ آن می‌توان قالب‌ها بهتری طراحی نمود.
- Bedrock: ابزاری می‌باشد که با استفاده از آن می‌توان به شکل بهتری دست به سازماندهی سایت خود زد. 
- Trellis: ابزاری است که به منظور دیپلوی سایت روی محیط‌های گوناگون می‌تواند مورد استفاده قرار گیرد.

به منظور آشنایی بیشتر با این مجموعه ابزارها، لازم به یادآوری است که Sage به نوعی مبتنی بر الگوی MVC است که همین مسئله منجر می‌گردد تا ساختار پروژه اصولی‌تر گردد. Bedrock هم در راستای بهبود فرآیند توسعهٔ سایت با وردپرس، به توسعه‌دهندگان کمک می‌کند تا به شکل اصولی‌تری اقدام به نصب و کانفیگ فایل‌ها و پلاگین‌های مورد نیاز کرده و به طور کلی سورس‌کد سایت را سازماندهی کنند. به علاوه، Trellis این امکان را برای دولوپرها فراهم می‌آورد تا با خیال راحت آنچه در محیط به اصطلاح Development به درستی کار می‌کند را روی محیط Production نیز دیپلوی نمایند.

آشنایی با برخی مزایای Roots

برخی تِم‌های وردپرس هستند که دولوپر را موظف به استفاده از یک فریمورک خاص می‌کنند اما این در حالی است که Sage دست دولوپر را به منظور انتخاب فریمورکی همچون بوت‌استرپ و یا انتخاب هیچ فریمورکی کاملاً باز می‌گذارد. همچنین لازم به یادآورس است که Webpack در این ابزار گنجانده شده تا پروسهٔ کامپایل‌ کردن فایل‌ها، مینیفای کردن کدهای جاوااسکریپت و سی‌اس‌اس و ... تسهیل گردد.

یکی از اهداف کلیدی این مجموعه ابزارها تبعیت از قانون Don’t Repeat Yourself یا به اختصار DRY است؛ روی همین حساب هم از Blade Template Engine فریمورک لاراول برای کدنویسی تِمپلیت‌ها استفاده شده است که سینتکسی به صورت زیر دارا است:

@extend('layouts.app')
@section('content')
    @while(have_posts()) @php the_post() @endphp
        @include('partials.content-single-'.get_post_type())
    @endwhile
@endsection

یکی از مزایای چنین تمپلیتی آن است که می‌توان مبحث وراثت را در توسعهٔ ویوها نیز وارد ساخت بدین صورت که یک تمپلیت والد طراحی کرده سپس یکسری تمپلیت فرزند می‌توانند از آن ارث‌بری کنند.

Roots مبتنی بر ابزار Composer به منظور مدیریت وابستگی‌ها و سایر پکیج‌ها است که همین مسئله فرآیند توسعهٔ نرم‌افزار را برای توسعه‌دهندگان (پی‌اچ‌پی) وردپرس تسهیل می‌کند (جهت کسب اطلاعات بیشتر در مورد این ابزار، به مقالهٔ کامپوزر چیست؟ مراجعه نمایید.)

جمع‌بندی
استفاده از مجموعه‌ ابزارهای Roots علاوه بر اینکه مستلزم یادگیری چیزهای جدید است، آن شعار معروف «نصب وردپرس در ۵ دقیقه» را نیز زیر سؤال می‌برد اما در عین حال قابلیت‌هایی را در اختیار توسعه‌دهندگان این سیستم مدیریت محتوای محبوب می‌گذارد که می‌توانند بر آن اساس سایت‌های به مراتب مدرن‌تری طراحی نمایند.