TanStack Charts به نسخهی 1.0 رسید
خلاصهٔ کاملتر
Tanner Linsley، سازندهی TanStack، تو این پست نسخهی 1.0 کتابخونهی TanStack Charts رو معرفی میکنه. حرف اصلیش اینه که کشیدن یه خط روی صفحه هیچوقت مشکل نبوده؛ مشکل از جایی شروع میشه که محصول بزرگتر میشه و یهو لازم میشه زیر خط چند تا میله بیاد، چند تا نقطه هایلایت بشه یا tooltip یه چیز مخصوص اپ رو نشون بده. شعار این نسخه هم همینه: چارتهایی که مجبور نیستی یه روز کنارشون بذاری.
نویسنده سابقهی طولانی تو این حوزه داره: با D3 کار کرده، تو ساخت Chart.js 2.0 کمک کرده و react-charts رو هم خودش ساخته. به گفتهی خودش react-charts وقتی میخواست چیزها رو به شکلهای جدید ترکیب کنه دستوپاگیر شد و آشنایی با Grammar of Graphics و Observable Plot بهش نشون داد چه APIای میخواد. اون میگه طراحی API و تجربهی کار رو خودش انجام داده و پیادهسازی رو به AI سپرده، ولی روی type system کلی وقت گذاشته.
پایهی TanStack Charts مفهوم mark هست، یعنی هر چیزی که روی چارت کشیده میشه: خط یه mark هست، نقطهها و میلهها هم همینطور. scaleها داده رو به مقادیری که markها لازم دارن تبدیل میکنن و بعد اینا رو با axis و interaction کنار هم میذاری. پس اگه خط داری و نقطه هم میخوای، فقط نقطه اضافه میکنی و دنبال یه نوع چارت جدید نمیگردی. برای کارهای خیلی خاص هم میشه mark، scale و renderer سفارشی ساخت.
نویسنده تأکید داره که تایپها باید از انتخاب فیلد داده تا scale و mark همراهت بیان، چون موقع ساختن چارتهای پیچیده دقیقاً همونجا به کمکشون نیاز داری؛ به گفتهی اون این برای کار با AI هم مهمه. رندر پیشفرض SVG هست و Canvas یه import و renderer جداگونهست که فقط وقتی لازمه میاریش. انیمیشن هم توکار نیست ولی هر وقت بخوای راحت اضافه میشه. از scaleهای D3 و scaleهای compact هم پشتیبانی میکنه تا حجم باندل کم بمونه.
به گفتهی نویسنده 1.0 یعنی تیم آمادهست از کسایی که روی این API میسازن پشتیبانی کنه: باید بتونی کتابخونه رو آپدیت کنی بدون اینکه نگران باشی چارتت خراب بشه، حتی اگه mark یا renderer خودت رو نوشته باشی. اگه API یه روز عوض بشه، قراره یه مسیر مهاجرت تمیز هم فراهم بشه. اون پیشنهاد میده یه چارت واقعی از اپت رو برداری و از AI بخوای با TanStack Charts بازنویسیش کنه.
نکات کلیدی:
- TanStack Charts 1.0 رو Tanner Linsley روز ۵ اکتبر ۲۰۲۶ معرفی کرد.
- ساختار کتابخونه بر پایهی mark و scale و الهامگرفته از Grammar of Graphics و Observable Plot هست.
- SVG رندر پیشفرضه و Canvas بهصورت import جدا اضافه میشه.
- از scaleهای D3 پشتیبانی میکنه و برای حجم باندل، تست و bundle budget مشخص داره.
- 1.0 یعنی API پایدار و تعهد به مسیر مهاجرت برای تغییرات بعدی.




