ری اکت رو از کجا شروع کنم؟

این موضوع چند روزه که میبینم سوال خیلی از دوستان شده . بزارید سوال رو جور دیگه مطرح کنم زبان برنامه نویسی سی پلاس پلاس رو از کجا شروع کنم؟پلتفورم نود جی اس رو از کجا شروع کنم؟زبان برنامه نویسی جاوا اسکریپت رو از کجا شروع کنم؟الفبا زبان فارسی رو از کجا شروع کنم؟فریمورک لاراول یا جنگو رو از کجا شروع کنم؟اینا همه شبیه هم بودن . نه؟بعضیا تفاوت باهم دارن . چه تفاوتی؟ بعضی از سوالا نیاز به پیش نیاز دارند . مثلا : برای کار با فیم ورک لاراول باید php , mysql رو بلد باشید .اما قدم بعدی چیه؟باید ببینیم هدفمون چیه؟ گاهی اوقت من فقط میخوام یک موضوع رو سطحی بدونم که در موردش بتونم صحبت کنم ، بعضی از مواقع میخوام یک پروژه ساده انجام بدم یا نه ، یک پروژه کاملا حرفه ای . این سه مورد با هم متفاوتن . هیچ وقت برای یادگیری یک زبان ، پلتفورم و ... به دنبال آموزش های دسته دوم نرید حالا میخوایم ببینیم که باید با چه روشی یک مهارت رو کامل کسب کنیم . ما فرض میکنیم میخوایم یک پروژه با ری اکت بزنیم که حرفه ای و معرکه باشه . قدم اولوقتی که شما یک دستگاه میخرید ، اول از همه باید دفترچه راهنمای اون رو بخونید . بعضی مواقع این دفترچه راهنما به زبان فارسی هم وجود داره . اما دقیقا همون متن به فارسی ترجمه شده . نه اینکه بریم توی یک کتاب راهنمای دیگه که متعلق به اون دستگاه نیست و چیزی رو بخونیم که شاید برای مدل های پایینتر بوده و نریم سربخت دفترچه اصلی . هیچ وقت برای یادگیری یک زبان ، پلتفورم و ... به دنبال آموزش های دسته دوم نرید .مورد دوم این که باید اول پیش نیاز های استفاده از اون دستگاه (کتابخانه یا هرچی) رو بلد باشیم. پس باید اول بدونیم ری اکت با چی نوشته شده و چه زبانی رو قبلش باید یاد بگیریم تا بتونیم با همون زبان باهاش صحبت کنیم . برای این کار به صفحه موزیلا میریم و با لینک زیر جاوا اسکریپت رو شروع میکنیم https://developer.mozilla.org/en-US/docs/Learn/JavaScript قدوم دوم الان باید کاری که بالاتر کردیم رو برای ری اکت انجام بدیم .در مورد ری اکت هم باید اول به لینک زیر بریم https://facebook.github.io/create-react-app/docs/getting-started همه زبان ها و پلتفروم ها و ... یک صفحه getting start دارن . اول از همه باید با اون متد ها بریم جلو . سمت چپ یک منو هست که باید طبق اون منو بریم جلو .قدم سوم خوب ما الان اولین قدم ها رو رفتیم جلو و با مفاهیم اولیه آشنا شدیم . در واقع یک پله رفتیم جلو . حالا با اصطلاحات کامپوننت و استیت آشنا شدیم (state). خوب اما نمیدونم باید چجوری یک پروژه از صفر بنویسم . اینجاست که باید در مورد react project from scratch جستجو کنیم . به تاریخ مقاله ها و ویدئو ها حتما دقت کنین https://www.valentinog.com/blog/babel/ قدم چهارمخوب الان یک پروژه از صفر طراحی کردیم با لینک بالا . باید حالا بتونیم یک سناریو برای خودمون بسازیم . فرض میکنیم که میخوایم یک سایت فروشگاهی با ری اکت بزنیم . برای این کار نیاز ها رو لیست میکنیم تا بدونیم به چه چیز هایی لازم داریم؟ اول یک روتر لازم داریم که بتونیم شناور باشیم داخل صفحه و لینک تغییر کنه . دوم نیاز به یک state management داریم برای سبد خرید سوم یک ui kit لازم داریم که با اون قالب طراحی کنیم چهارم باید بدونیم گوگل ما رو چقدر درک میکنه (SSR)خوب با همین مراحل میتونیم شروع کنیم . یکی یکی میریم جلو اول :برای این کار بهترین گزینه react router dom هست که با لینک زیر میرسیم بهش : https://www.npmjs.com/package/react-router-dom دوم :‌برای این مورد گزینه های زیادی وجود داره و من چیزی نمیگم . اما باید در موردش تحقیق کنید و اطلاعات کسب کنین . It’s a good idea to get to know React first, before adding in additional libraries. You can build quite complex applications using only React. (reactjs.org)همیشه یک لیست از لایبرری های خوب وجود داره که یکیش لینک زیر: https://softmedialab.com/blog/top-10-best-react-libraries/ سوم:این مورد کامل بستگی داره به نیاز های پروژه . میتونین لینک زیر رو بخونین و مقایسه کنین https://hackernoon.com/23-best-react-ui-component-libraries-and-frameworks-250a81b2ac42 در مورد ssr کردن هم باید یک سری مقاله دیگه بخونیم . اینکه ssr چیه و چرا؟ و اینکه به چه شکلی پیاده سازی کنیم https://github.com/jaredpalmer/razzle https://medium.freecodecamp.org/demystifying-reacts-server-side-render-de335d408fe4 https://virgool.io/iran-react-community/%D9%85%D8%AB%D8%A7%D9%84-%DA%A9%D8%A7%D9%85%D9%84%DB%8C-%D8%A7%D8%B2-%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%DB%8C%DA%A9-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%88%D8%A8%DB%8C-%D9%BE%D8%A7%DB%8C%D9%87-%D8%A8%D8%B1-react-efebuxevlbih حرف آخرحتما قبل از هر کاری اول جاوا اسکریپت رو کامل مسلط بشید و بعد از اون باید ری اکت و لایف سایکل اون رو کامل بشناسید . بعدش شروع کنین و پروژه رو استارت بزنین .