| 👀 خبر در یک نگاه:
TanStack Start نسخه اول فریمورک فولاستک متنباز برای React و Solid است که قابلیتهایی مانند SSR، هیدراسیون جریاندار، مسیریابی تایپسیف و استقرار جهانی را ارائه میدهد. این فریمورک سیستم تایپ کامل روتر را به مسیرهای سرور و توابع بارگذاری گسترش میدهد و امکان یکپارچهسازی تدریجی با اپلیکیشنهای موجود را فراهم میکند. |
TanStack Start، فریمورک فولاستک ساختهشده روی TanStack Router و Vite برای React و Solid، نسخه اول خود را منتشر کرد. در این نسخه، قابلیتهای آماده پروداکشن مانند رندر سمت سرور، هیدراسیون جریاندار (Streaming Hydration)، توابع سرور و APIهای تایپسیف (Type-Safe APIs) را معرفی کرده است. این انتشار، آغاز ورود TanStack به حوزه فریمورکهای متای کامل است و جایگزینی برای استکهای موجود مانند Next.js و Remix ارائه میدهد.
آشنایی با TanStack Start
نسخه اول بر سه حوزه اصلی تمرکز دارد:
- مسیریابی و APIهای تایپسیف
- رندر سمت سرور با پشتیبانی از استریمینگ
- انعطافپذیری در پیادهسازی.
در اصل، TanStack Start سیستم تایپ کامل و خوداستخراجشده روتر را به ارث میبرد و آن را به مسیرهای سرور و توابع بارگذاری گسترش میدهد تا ناوبری و بارگذاری دادهها از همان تعاریف تایپ استفاده کنند. مدل SSR استریمینگ به اپلیکیشنها اجازه میدهد HTML را به محض آماده شدن به کلاینت ارسال کنند، سپس هیدراسیون و ادامه بارگذاری تعاملی انجام شود و مرز بین رندر سمت کلاینت و سرور را محو کند.
فرایند استقرار (Deployment)
فرایند استقرار بهصورت یونیورسال طراحی شده و میتوان آن را روی پلتفرمهایی مثل Cloudflare Workers، Netlify، Vercel یا هر محیط Node/Bun اجرا کرد که این امکان با پلاگین سفارشی Vite و روش بستهبندی مدرن فراهم شده است.
برای توضیح مدل مسیریابی و بارگذاری دادهها:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import { createFileRoute } from ‘@tanstack/react-router’ import { createServerFn } from ‘@tanstack/react-start’ export const getTodos = createServerFn({ method: ‘GET’ }).handler(async () => { return fetch(‘/api/todos’).then(r => r.json()) }) export const Route = createFileRoute(‘/task-list’)({ loader: getTodos, component: TaskList, }) function TaskList() { // … Example Component } |
این قطعه کد نشان میدهد که چگونه توابع سرور (createServerFn) و تعریف مسیرهای مبتنی بر فایل در یک API یکپارچه ترکیب میشوند. توسعهدهندگان میتوانند نمونههای جامعتر را در مخزن GitHub مربوط به TanStack Start پیدا کنند.
واکنش کاربران
واکنش جامعه کاربری خوشبینانه بوده و مقایسههای زیادی با فریمورکهای دیگر صورت گرفته است. یک مقایسه دقیق بین ۱۰ فریمورک مختلف از نظر عملکرد موبایل، نشان داد که TanStack Start در اندازه بسته (Bundle) و معیارهای مختلف پرفورمنس، عملکرد بسیار بهتری نسبت به جایگزینهایی مانند Next.js دارد.
خالق jQuery، جان رسیگ (John Resig)، نیز در بحثی در پلتفرم X اینطور نوشت:
«من از TanStack Start برای یک پروژه جدید استفاده کردم و فوقالعاده است. توابع سرور بهطور کامل نیاز به TRPC/GraphQL/REST را از بین میبرند، میدلورها (Middleware) قابل ترکیب و کاملا تایپشده هستند. داشتن تایپ زیبا و پارامترهای جستجوی حالتدار TSRouter هم یک امتیاز اضافه است.»
هیجان برای این پروژه در انجمنهای دیگر هم دیده میشود، مانند یک بحث در Reddit که برخی توسعهدهندگان آن را بهعنوان جایگزینی برای Next.js بررسی میکنند و یک کاربر حتی ذکر کرده که از آن در تولید برای یک پروژه پیچیده استفاده میکند.
مهاجرت به TanStack Start
از نظر مهاجرت و هماهنگی ابزارها، TanStack Start از یکپارچهسازی تدریجی پشتیبانی میکند:
اپلیکیشنهای موجود TanStack Router یا TanStack Query میتوانند بهتدریج از قابلیتهای توابع سرور و SSR Start با حداقل اختلال استفاده کنند. نگهدارندگان پروژه تاکید دارند که Start روتر را تکمیل میکند و جایگزین آن نمیشود، بنابراین پذیرش آن برای تیمها آسانتر است.
برای توسعهدهندگانی که قصد مهاجرت از Next.js را دارند، یک راهنمای مهاجرت ویژه در دسترس است.
جمعبندی
TanStack Start یک فریمورک فولاستک متنباز است که با قدرت TanStack Router و Vite طراحی شده و برای اپلیکیشنهای React و Solid که به SSR، جریاندهی، مسیریابی تایپسیف و استقرار یونیورسال نیاز دارند مناسب است. با انتشار نسخه اول، TanStack اکوسیستم خود را از مسیریابی سمت کلاینت به استکهای کامل اپلیکیشن گسترش میدهد و به تیمها جایگزینی جذاب برای فریمورکهای متای سختگیرانهتر ارائه میدهد، بهویژه برای کسانی که به دنبال تایپسیف و کنترل دقیق هستند.
منبع: infoq.com




دیدگاهتان را بنویسید