توسعه وب غالباً دنیای دیوانه واری تلقی میشود که در آن توسعهی نرم افزار با نوشتن هک توی هک انجام میشود. من معتقدم که React از این الگو جدا شد و از اساس به گونه ای طراحی شد تا به شما یک پایهی محکم بدهد تا بر اساس آن کار کنید. یکی از سرچشمههای اصلی باگها در برنامههای front-end، همگام سازی مدل دادهها با DOM بود. مطمئن شدن از اینکه هر زمان که دادهها تغییر میکنند، همه چیز در UI نیز با آن به روز میشوند، بسیار سخت است. اولین نوآوری React، معرفی یک ارائهی خالص جاوا اسکریپتی از DOM و پیاده سازی مغایرت گیری در زمین کاربر و سپس استفاده از رویداد هایی که دستورات ساده ای را ارسال میکردند: ایجاد، بروز رسانی و حذف. با ری اَکت، از نظر مفهومی هر موقع که چیزی تغییر کند، همه چیز مجددا رندر میشوند و نه تنها کدی دارید که به طور پیش فرض امن است، بلکه کار چندانی هم نیاز نیست انجام دهید، چرا که فقط باید مسیر ایجاد را بنویسید و به روزرسانیها برای شما انجام میشوند.
برای مدتی طولانی، مرورگرها از جهات مختلف ناسازگار بودند، به این علت که برای اینکه DOM کار کند، باید از تعداد زیادی API پشتیبانی میکردند. React نه تنها راهی عالی برای حل اختلافات مرورگرها ارائه میدهد، بلکه مواردی را که قبلاً برای کتابخانههای frontend هرگز امکان پذیر نبود را امکان پذیر کرد، مانند رندر سمت سرور و قابلیت پیاده سازی اهداف رندر مانند native iOS، اندروید و حتی اجزای سخت افزاری. اما مهمترین چیز در مورد React و دلیل اصلی اینکه چرا باید این کتاب را بخوانید این است که نه تنها از آن برای ایجاد برنامههای عالی برای کاربران خود استفاده خواهید کرد، بلکه شما را به توسعه دهنده بهتری نیز تبدیل خواهد کرد. کتابخانهها همیشه میآیند و میروند و احتمالاً React نیز از این قاعده مستثنی نخواهد بود. چیزی که آن را خاص میکند این است که مفاهیمی را به شما میآموزد که میتوانید در کل دوران حرفه ای خود از آنها مجددا استفاده کنید. همچنین در جاوا اسکریپت بهتر خواهید شد زیرا React دارای سیستم قالب بندی نیست. در عوض، React شما را مجبور میکند تا از قدرت کامل جاوا اسکریپت برای ایجاد رابط کاربری خود استفاده کنید. شما همچنین بخش هایی از برنامه نویسی تابعی را با map و filter تمرین میکنید و همچنین به استفاده از جدیدترین قابلیتهای جاوا اسکریپت (از جمله ES6) ترغیب میشوید. با انتزاع نکردن مدیریت داده ها، React شما را مجبور میکند تا در مورد نحوه معماری برنامه خود فکر کنید و شما را تشویق میکند تا مفاهیمی مانند تغییرناپذیری را در نظر بگیرید.
هدف کتاب Fullstack React (فول استک ری اکت) این است که مفیدترین منبع برای یادگیری React باشد. وقتی که خواندن این کتاب را به پایان رساندید، شما (و تیمتان) تمام چیز هایی که برای ساخت برنامههای React قدرتمند و قابل اطمینان نیاز داشته باشید را در اختیار خواهید داشت. هسته React، نحیف و قدرتمند است. پس از چند فصل اول، شما درک کاملی از مبانی React خواهید داشت و قادر خواهید بود تا طیف وسیعی از برنامههای وب غنی و تعاملی را با چارچوب ری اَکت ایجاد کنید.
اما فراتر از هسته React، ابزارهای زیادی در اکوسیستم آن وجود دارد که ممکن است برای ساختن برنامههای عملیاتی مفید باشند؛ مواردی مانند مسیریابی سمت کلاینت بین صفحات، مدیریت حالت پیچیده و تعاملات زیاد API در مقیاس بالا.