در یک گزارش خبری در کارینا وب، به تازگی اعلام شده است که کلودفلر ۱۰ پیشرفت بزرگ را در پلتفرم Cloudflare Workers ارائه کرده است. این تحولات جدید، فرایند ساخت و استقرار برنامههای کاربردی را سادهتر و قدرتمندتر از همیشه کرده است. این پیشرفتها به توسعهدهندگان اجازه میدهد تا یک برنامه کامل فولاستک را، از فرانتاند تا بکاند و پایگاه داده، همگی در یک Cloudflare Worker واحد بسازند و میزبانی کنند.
از سپتامبر ۲۰۲۴، کلودفلر پشتیبانی بتا از میزبانی فایلهای ایستا (مانند HTML، CSS، JavaScript و تصاویر) را برای Workers معرفی کرد. این قابلیت پیش از این فقط در Cloudflare Pages امکانپذیر بود و یک قطعه حیاتی برای توسعهدهندگانی بود که میخواستند یک برنامه کامل را در یک Worker واحد ایجاد کنند. اکنون، با این ۱۰ پیشرفت بزرگ، این پلتفرم به یک راهحل جامع برای ساخت انواع پروژهها، از وبسایتهای ساده ایستا گرفته تا برنامههای پیچیده فولاستک، تبدیل شده است.
۱۰ پیشرفت کلیدی در Cloudflare Workers
- پشتیبانی گسترده از فریمورکها: Cloudflare Workers اکنون پشتیبانی عمومی (GA) از فریمورکهای محبوب مانند React Router v7 (Remix)، Astro، Hono، Vue.js، Nuxt، و Svelte (SvelteKit) را فراهم میکند. پشتیبانی عمومی از Next.js، Angular، و SolidJS (SolidStart) نیز در سهماهه دوم ۲۰۲۵ اعلام خواهد شد.
- ساخت برنامههای فولاستک بدون فریمورک: اکنون میتوانید تنها با استفاده از ابزارهای Vite و React، یک API بکاند را در همان Worker فرانتاند خود بسازید.
- بهبود آداپتور Next.js: آداپتور OpenNext که در سپتامبر ۲۰۲۴ به صورت آلفا معرفی شده بود، اکنون به نسخه ۱.۰-beta رسیده و به زودی به صورت عمومی در دسترس قرار خواهد گرفت.
- پلاگین عمومی Vite: پلاگین Cloudflare Vite به نسخه ۱.۰ و به حالت عمومی (GA) رسیده است. این پلاگین به شما امکان میدهد تا سرور توسعه Vite را در محیط Workers (workerd) اجرا کنید و از مزایای Hot Module Replacement بهرهمند شوید.
- فایلهای پیکربندی _headers و _redirects: اکنون میتوانید از فایلهای پیکربندی _headers و _redirects برای برنامههای خود در Workers استفاده کنید، قابلیتی که قبلاً فقط در Pages وجود داشت.
- پشتیبانی از پایگاه داده MySQL: علاوه بر PostgreSQL، از طریق Hyperdrive میتوانید به پایگاه دادههای MySQL متصل شوید. این قابلیت، اتصال به پایگاههای داده موجود شما در سرویسهایی مانند Planetscale و AWS را تسهیل میکند.
- APIs گستردهتر Node.js: اکنون APIهای بیشتری از ماژولهای crypto، tls، net، و dns در Workers Runtime در دسترس هستند. همچنین، حداکثر زمان CPU برای هر درخواست Worker از ۳۰ ثانیه به ۵ دقیقه افزایش یافته است.
- بهبود Workers Builds: اکنون میتوانید یک مخزن GitHub یا GitLab را به طور مستقیم به یک Worker جدید متصل کنید. علاوه بر این، عملکرد ساخت (Build) با کاهش زمان شروع تا ۶ ثانیه بهبود یافته است.
- URLهای پیشنمایش برای شاخههای غیرتولیدی: میتوانید Workers Builds را برای شاخههای غیرتولیدی (non-production) پیکربندی کنید تا URLهای پیشنمایش به صورت یک کامنت در GitHub ارسال شوند.
- پشتیبانی عمومی از Images binding: این قابلیت به شما امکان میدهد تا به صورت برنامهنویسی و انعطافپذیر، جریانهای کاری بهینهسازی تصاویر را ایجاد کنید.
چرا از Workers شروع کنیم؟
پیش از این، توسعهدهندگان مجبور بودند بین Cloudflare Pages و Cloudflare Workers یکی را انتخاب کنند. اکنون با پشتیبانی Workers از هر دو میزبانی فایلهای ایستا و رندر سمت سرور (SSR)، کلودفلر توصیه میکند که پروژههای جدید خود را با Workers آغاز کنید. Cloudflare Pages همچنان پشتیبانی میشود، اما تمام سرمایهگذاریها و بهینهسازیهای آینده به بهبود Workers اختصاص خواهد یافت.
مزیت اصلی استفاده از Workers این است که میتوانید فرانتاند و بکاند خود را در یک پروژه واحد مدیریت کنید و از تمام خدمات دیگر پلتفرم توسعهدهندگان کلودفلر (مانند Durable Objects برای مدیریت وضعیت) در همان پروژه بهره ببرید. همچنین، ابزارهای نظارت Workers Logs و امکانات استقرار تدریجی (Gradual Deployments) برای انتشار تغییرات به درصد مشخصی از ترافیک، به شما کمک میکنند تا مدیریت پروژههای پیچیدهتر را به راحتی انجام دهید.
انواع برنامههای کاربردی در Workers
پلتفرم Workers از معماریها و حالتهای رندرینگ مختلف پشتیبانی میکند:
- وبسایتهای ایستا (Static Sites): سرور فایلهای ایستا (HTML، CSS، JavaScript) را به صورت مستقیم و بدون رندر دینامیک بازمیگرداند.
- برنامههای تکصفحهای (SPAs): سرور یک پوسته HTML و یک بسته JavaScript اولیه ارسال میکند و سپس مرورگر تمام رابط کاربری را در سمت کلاینت رندر میکند.
- برنامههای با رندر سمت سرور (SSR): سرور یک صفحه HTML کامل را به صورت درخواستی (on-demand) تولید میکند که منجر به بارگذاری سریع اولیه صفحه میشود.
برای شروع به کار، کلودفلر ابزارهای مختلفی مانند Cloudflare Vite plugin را ارائه داده است که به شما امکان میدهد محیط توسعه خود را به سادگی تنظیم کنید.
با استفاده از Hyperdrive، Workers میتواند به پایگاه دادههای سنتی مانند MySQL متصل شود. این سرویس به عنوان یک “پل” بین شبکه کلودفلر و پایگاه داده شما عمل کرده و مدیریت اتصالات را به عهده میگیرد، که چالش نگهداری اتصالات در یک محیط توزیعشده و بدون حالت را حل میکند. قابلیت Smart Placement نیز به طور خودکار Worker را به نزدیکترین مکان به پایگاه داده منتقل میکند تا تأخیر (latency) کاهش یابد.
در نهایت، با این بهروزرسانیها و تغییرات، کلودفلر گامی بزرگ در راستای هدف خود برای تبدیل Workers به بهترین پلتفرم برای ساخت برنامههای فولاستک برداشته است و توسعهدهندگان را برای شروع ساخت و استقرار پروژههای خود بر روی این پلتفرم تشویق میکند.
منبع: blog.cloudflare.com