اگر قصد دارید یک برنامه یا وبسایت جدید با React بسازید، پیشنهاد اصلی و استاندارد، شروع کار با یک فریمورک (Framework) است. فریمورکها ابزارها، ساختارها و بهینهسازیهای لازم را از پیش برای شما آماده میکنند.
با این حال، اگر پروژه شما محدودیتهای خاصی دارد که توسط فریمورکهای موجود پوشش داده نمیشود، یا تمایل دارید فریمورک اختصاصی خود را توسعه دهید و یا صرفاً میخواهید مفاهیم پایهای یک برنامه React را یاد بگیرید، میتوانید پروژه خود را به صورت کاملاً دستی و از صفر (From Scratch) پیادهسازی کنید.
فریمورکهای پیشنهادی زیر، از تمامی قابلیتهای لازم برای استقرار (Deploy) و مقیاسپذیری (Scale) برنامه در محیط عملیاتی پشتیبانی میکنند. این ابزارها آخرین قابلیتهای هسته React را در خود ادغام کرده و از ساختار مدرن آن نهایت استفاده را میبرند.
نکته بسیار مهم: عبارت «فولاستک» به این معنا نیست که شما حتماً به یک سرور مجزا نیاز دارید! تمام فریمورکهای معرفیشده در این بخش، از قابلیتهای رندر سمت کلاینت (CSR)، برنامههای تکصفحهای (SPA) و تولید سایت استاتیک (SSG) پشتیبانی میکنند. این برنامهها را میتوان بدون نیاز به سرور، روی یک شبکه توزیع محتوا (CDN) یا سرویسهای میزبانی استاتیک مستقر کرد. علاوه بر آن، این فریمورکها به شما اجازه میدهند تا در صورت نیاز، رندر سمت سرور (SSR) را به صورت تفکیکشده برای هر مسیر (Route) فعال کنید.
این ویژگی به شما امکان میدهد کار خود را با یک برنامه کاملاً سمت کلاینت (Client-only) شروع کنید و در آینده اگر نیازهای پروژه تغییر کرد، بدون بازنویسی کل برنامه، قابلیتهای سمت سرور را برای مسیرهای دلخواه فعال کنید.
ساختار مدرن App Router در Next.js، یک فریمورک قدرتمند React است که با بهرهگیری کامل از پتانسیلهای این کتابخانه، امکان ساخت برنامههای فولاستک را فراهم میکند.
# دستور راهاندازی پروژه جدید Next.js
npx create-next-app@latest
پشتیبانی و توسعه: این فریمورک توسط شرکت Vercel مدیریت و نگهداری میشود. شما میتوانید خروجی آن را روی هر ارائهدهنده میزبانی که از Node.js یا کانتینرهای Docker پشتیبانی میکند، یا روی سرور شخصی خود مستقر کنید. همچنین Next.js از خروجی کاملاً استاتیک (Static Export) بدون نیاز به سرور نیز پشتیبانی میکند.
ابزار قدیمی و محبوب مسیردهی در راکت، در نسخه جدید خود به یک فریمورک کامل تبدیل شده است. React Router پکیج محبوب مسیردهی را با ابزار ساخت Vite ترکیب میکند تا یک فریمورک فولاستک قدرتمند ایجاد کند. تمرکز اصلی این ابزار روی استانداردهای رسمی وب (Web APIs) است و الگوهای آمادهای برای اجرا روی انواع محیطهای جاوااسکریپت (Runtimes) دارد.
# دستور راهاندازی پروژه جدید React Router
npx create-react-router@latest
پشتیبانی و توسعه: این ابزار توسط شرکت Shopify مدیریت و پشتیبانی میشود.
اگر هدف شما ساخت برنامههای موبایل است، Expo فریمورک اختصاصی React برای تولید برنامههای چندسکویی (Universal) برای اندروید، iOS و وب با رابطهای کاربری کاملاً بومی و نیتیو (Native UIs) است. این ابزار یک SDK قدرتمند برای React Native ارائه میدهد که تعامل با بخشهای سختافزاری و بومی سیستمعامل را بسیار آسان میکند.
# دستور راهاندازی پروژه جدید Expo
npx create-expo-app@latest
پشتیبانی و توسعه: این پروژه توسط شرکت Expo توسعه مییابد. ساخت برنامه با این ابزار کاملاً رایگان است و میتوانید خروجی آن را بدون هیچ محدودیتی در فروشگاههای گوگلپلی و اپاستور منتشر کنید. این شرکت خدمات ابری پولی و اختیاری را نیز برای تسهیل فرآیندها ارائه میدهد.
چندین فریمورک آیندهدار دیگر نیز در حال حرکت به سمت چشمانداز فولاستک React هستند:
TanStack Start (نسخه بتا): یک فریمورک فولاستک که قدرت خود را از ابزار قدرتمند TanStack Router میگیرد. این ابزار قابلیتهایی مانند رندر کامل سمت سرور (Full-document SSR)، پخش جریانی دادهها (Streaming)، توابع سمت سرور (Server Functions) و باندلینگ بهینه را با استفاده از ابزارهایی مانند Vite و Nitro فراهم میکند.
RedwoodSDK: یک فریمورک همهجانبه و آماده (Opinionated) که همراه با پکیجها و تنظیمات پیشفرضِ فراوان عرضه میشود تا ساخت برنامههای وب فولاستک را به سادهترین شکل ممکن تبدیل کند.
اگر تمایلی به استفاده از راهکارهای آماده ندارید و میخواهید کنترل همهچیز را در دست بگیرید، ساخت پروژه از صفر گزینهای است که پیش روی شماست.
شروع کار از صفر انعطافپذیری فوقالعاده بالایی به شما میدهد، اما مسئولیت انتخاب و پیکربندی ابزارها را کاملاً به دوش شما میاندازد. در این حالت، شما باید خودتان در مورد ابزارهای مسیردهی (Routing)، دریافت دادهها (Data Fetching) و سایر الگوهای رایج تصمیمگیری کنید. این کار شباهت زیادی به طراحی یک فریمورک اختصاصی برای خودتان دارد.
در مقابل، فریمورکهای پیشنهادی بالا تمام این مشکلات را با راهحلهای داخلی و تستشده خود از قبل حل کردهاند.
راهنمای شروع: اگر میخواهید راهکارهای اختصاصی خودتان را خلق کنید، میتوانید مستندات رسمی را مطالعه کرده و پروژه خود را با ابزارهای ساخت مدرنی مانند Vite، Parcel یا RSbuild پایهریزی کنید.
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://react.dev/learn