فاوستآنچارچوب فرانتاند برای ساخت سایتهای وردپرس بدون سرور در شش ماه گذشته، تیم فاوست روشی جدید برای ساخت سایتهای وردپرس بدون سرور را که بر تجربه توسعهدهندگان تمرکز دارد، تحقیق، نمونهسازی و آزمایش کرده است.
وردپرس بدون سر در مقایسه با وردپرس سنتی مزایای زیادی دارد: تجربه توسعه بهتر، مقیاسپذیری بیشتر، امنیت بالاتر و عملکرد بهتر. همچنین ابزارهای بسیاری برای ساخت سایتهای وردپرس بدون سر در اختیار شماست. چارچوبهای مختلفی برای انتخاب وجود دارد، از جمله Next.js، Gatsby، Nuxt و SvelteKit که فقط چند نمونه هستند.
اگرچه انعطافپذیری و انتخاب گزینههای مختلف خوب است، اما اگر با همه چارچوبها، کتابخانهها، روشهای بهینهسازی و استقرار فرانتاند و غیره بهخوبی آشنا نباشید، میتواند کار دشواری باشد. این یکی از مشکلات بسیاری است که فاوست حل میکند و با هر سرویس ساخت و میزبانی فرانتاند کار میکند.
ویژگیهای زیر برای ساخت وردپرس بدون سر ضروری هستند:
- تولید سایت استاتیکباید بتوانید محتوای خود را به صورت جهانی در لبه شبکه توزیع و با ساخت صفحات ایستا از قبل، تحویل آن را بهینه کنید.
- پردازش سمت سرورگاهی میتوانید از رندرینگ سمت سرور (SSG) استفاده کنید و گاهی نمیتوانید. هم رندرینگ سمت سرور (SSR) و هم رندرینگ سمت سرور استاتیک (SSG) و همچنین رندرینگ سمت کلاینت باید امکانپذیر باشند تا بتوانید آنچه برای کسبوکار و برنامهی خود مناسبتر است را انتخاب کنید.
- دریافت آسان دادههادر وردپرس سنتی، شما به راحتی به هر دادهای که نیاز دارید دسترسی دارید بدون اینکه مجبور شوید پرسوجوهای پیچیده انجام دهید. یک سایت وردپرس بدون سر نیز باید تفاوتی نداشته باشد.
- پیکربندی حداقلباید وقتتان را صرف ساختن کسبوکارتان کنید، نه دستکاری پیکربندی ساخت و بهینهسازی تولید.
- شاخصهای اصلی عملکرد وبباید بتوانید از همه ترفندهای لازم برای کسب بالاترین امتیاز در لایتهاوس استفاده کنید.
- تجربه انتشارناشران شما نباید فقط به خاطر بدون سرور بودن سایتتان، از تجربه کاربری چشمپوشی کنند.
- تجربه توسعهدهندهساخت سایتهای وردپرس بدون سر باید لذتبخش باشد. توسعهدهندگان نباید احساس کنند که با سیستم در حال مبارزه هستند، بلکه باید سیستم در خدمت آنها باشد.
با توجه به همه این موارد، امروز مفتخریم که فاوست را به جامعه وردپرس معرفی کنیم. فاوست بر ارائه بهترین تجربه توسعهدهندگی هنگام ساختن وبسایتهای وردپرس بدون سرور تمرکز دارد، در حالی که تجربه انتشار آشنایی که از وردپرس میشناسید و دوست دارید را حفظ میکند. در اینجا برخی از ویژگیهای فاوست که امروز در دسترس هستند آمده است:
- سامانه پیشنهاد دهنده و سامانه توصیه گرفاوست بر پایهٔ نِکستجیاس که به شما امکان استفاده از SSG و SSR موجود در Next.js را میدهد
- گرافکیوالفاست از یک کلاینت پیشرفته GraphQL استفاده میکند که به شما امکان میدهد بدون نیاز به دانستن پیشین کوئریهای GraphQL، از API WPGraphQL وردپرس پرسوجو کنید. اولین بار که این قابلیت را میبینید، جادویی به نظر میرسد و فاست اولین فریمورکی است که این نوع عملکرد را ارائه میدهد. دیگر هرگز نگران نوشتن کوئری GraphQL نباشید!
- پیشنمایش محتوانمایش پیشنمایشها در وردپرس بدون سرور همیشه دشوار بوده است. فاست این مشکل را حل میکند تا دیگر نگران چیزی نباشید.
- احراز هویتفاست مکانیسمهای داخلی برای احراز هویت در پنل مدیریت وردپرس دارد تا بتوانید بهراحتی محتوای دارای محدودیت دسترسی، تجربیات تجارت الکترونیک یا سایر درخواستهای احراز هویتشده را ایجاد کنید.
- ریاکتوردپرس در بخشی از تجربه توسعهدهندگان هسته خود از ریاکت استفاده میکند. فاست اما فراتر رفته و به شما امکان میدهد کل رابط کاربری جلویی خود را با استفاده از محبوبترین کتابخانه فرانتاند بسازید.
- قلابهای ریکتفاوست بهطور طبیعی گسترش API وردپرس است، زیرا دریافت دادهها از وردپرس را فوقالعاده ساده میکند.
- انواع پست سفارشیبه دلیل روشی منحصربهفرد که فاست در بازیابی دادهها به شما کمک میکند، افزودن انواع پست سفارشی به سایت وردپرس و سپس دسترسی به آنها در بخش پیشخوان، بسیار ساده است.
- انعطافپذیریاگرچه فاوست با نِکستجیاس و ریاکت بهترین عملکرد را دارد، اما میتوانید از ابزارهای دیگری مانند گتسبی، نوکس و اسولتکیت هم استفاده کنید.
فریمورک فاست برای وردپرس بدون سرور یک راهکار نوآورانه برای اجرای سایتهای وردپرسی بدون نیاز به مدیریت سرور است. این فریمورک با استفاده از فناوریهای بدون سرور، امکان مقیاسپذیری و سرعت بالای سایت را فراهم میآورد. برای تیمهای طراحی سایت وردپرس که به دنبال راهحلهای مقیاسپذیر و مقرون به صرفه هستند، فاست یکی از بهترین گزینهها است، چرا که میتوانند به راحتی وردپرس را در بستر سرورless اجرا کنند.
با استفاده از فریمورک فاست، به جای تمرکز بر مدیریت سرور، تیمها میتوانند روی بهینهسازی عملکرد و خدمات سئو وردپرس تمرکز کنند. این فریمورک با فراهم آوردن پشتیبانی کامل برای اجرای وردپرس بدون سرور، سرعت بارگذاری سایت را بهبود میبخشد و به این ترتیب، موجب بهبود تجربه کاربری و رتبهبندی در نتایج جستجو میشود. بدون نیاز به مدیریت پیچیدگیهای سرور، سایتهای وردپرسی میتوانند به طور مؤثری با فریمورک فاست گسترش پیدا کنند.
فاوست در حال استفاده است و جامعه کاربران آن در حال رشد است.
فاوست در حال حاضر دارد بیش از ۳۰۰ ستاره و ۱۹ مشارکتکننده در گیتهاب و بیش از ۱۵۰ بار دانلود هفتگی در NPM بسیاری از سایتها در حال حاضر از فاست در تولید استفاده میکنند. از پیشگامان اولیه که در این راه همراه ما بودهاند و در شناسایی اشکالات، درخواست ویژگیها و بهطور کلی کمک به شکلگیری فاست به آنچه امروز هست، بسیار سپاسگزاریم.
سه اصل راهنمای فاوست
فاست در یک هکاتون داخلی در WP Engine آغاز به کار کرد. هدف، ساخت راه حلی برای پیشنمایش پستها و صفحات در یک سایت وردپرس بدون سرور بود. در آن زمان، چند گزینه برای پیشنمایش در وردپرس بدون سرور وجود داشت، اما بیشتر این راهحلها تجربه ناشر را با الزام به ورود به یک سایت خارجی یا مشاهده صفحه پیشنمایش در یک فریم، قربانی میکردند. راهحلی که ما ارائه کردیم، همان تجربهای را که ناشر با پیشنمایش پستها در یک سایت وردپرس سنتی دارد، فعال کرد، اما با استفاده از وردپرس بدون سرور.
هکاتون فقط یک روز طول کشید، اما وقتی آن را به بقیهی اعضای WP Engine نشان دادیم، با حجم زیادی از بازخوردهای مثبت و سوالات کارمندان شرکت روبرو شدیم. بیشتر این سوالات مضمونی مشترک داشتند: چه کارهای دیگری میتوانیم با وردپرس بدون سرور انجام دهیم تا تجربهی انتشار محتوا مشابه وردپرس سنتی باشد؟
از زمان هکاتون، روی ساخت چارچوبی کار کردهایم که ساخت سایتهای وردپرس بدون سرور را با سه اصل کلیدی سادهتر میکند.
- ما تلاش خواهیم کرد تا تجربهی انتشار محتوا را مشابه وردپرس سنتی ارائه دهیم. هنگام انتشار محتوا، نباید متوجه شوید که سایت شما سنتی است یا بدون سرور.
- وردپرس باید پایگاه داده و موتور ارائه محتوا باشد و تا حد امکان، باید به بخش فرانتاند اجازه دهیم تا نحوه نمایش را تعیین کند.
- تجربه توسعهدهنده در اولویت اول قرار دارد. این یعنی توسعهی شفاف با تمرکز بر ارائه ویژگیهایی که استفاده از آنها طبیعی احساس شود و حفظ مستندات کامل، پیوسته و بهروز.
مقدار عنصر با شناسه «ak_js_1» را به زمان فعلی بر حسب میلیثانیه تنظیم کن.