چی میدونی قبل اینکه reactjs کار کنی؟

شاید عنوان کمی تند و تیزه . اما لازمه با هم مروری کنیم به اینکه اگر بخوایم ری اکت کار کنیم باید چی بدونیم؟

مثلا : خیلی ها میرن سراغ reactNative بدون اینکه life cycle ری اکت رو خونده باشن . چون داخل داکیومنت نیتیو ، دوباره لایف سایکل رو ننوشته . باید برید ری اکت جی اس رو بخونید .

مورد بعدی هم اینکه دوستانی میان با علم html و css ، بعد توقع دارن بتونن reactjs کار کنن به اسم ui کار.

حالا میخوام ببینیم که UI/UX Designer کیه ؟ UI Developer کیه ؟ و ما به عنوان UI Developer باید چی کار کنیم؟


به چه کسی میگین UI / UX Designer ؟

آدمای حرفه ای توی زمینه طرای گرافیک که با ابزار های مثل sketch , Adobe XD , ... یک موکاپ و اسکچ طراحی میکنن تا هم رابط کاربر و هم تجربه کاربری رو به نمایش بکشن ، UI / UX Designer هستن . این افراد میتونن به عنوان Developer هم باشن . هیچ تناقضی وجود نداره . اما جای شک و ابهام توی حرفه ای بودن این افراد هست ( مگر استثنا ) . چون مورد طراحی با develope دوتا آدم با دو روحیه متفاوت میطلبه .

به کی میگن UI Developer ؟

کسی که طراحی UI / UX Designer رو پیاده سازی میکنه . اما این مورد خیلی پیچیدگی داره دوست من . شما فقط نباید از نظر ظاهری کارت ۲۰ باشه . باید از نظر فنی و کدنویسی هم کارت درست باشه .
باید بدونی که کجا از دیزاین پترن ها استفاده کنی کجا از پکیج ها و کجا خودت تولید یک پکیج رو انجام بدی .

حالا با همه این حرف ها بریم سر اصل مطلب .

یک ری اکت کار باید چیا بدونه؟

جوابش سادست :

باید اصول یک برنامه نویسی و تولید نرم افزار با بهینه ترین حالت رو بدونه .

برای مثال : زمانی که شما با WebPack آشنایی نداشته باشید ، پس نمیدونید چجوری یک اپلیکیشن ری اکتی داره کار میکنه و حتی به چه شکل میشه SSR کرد .

اگر شما دانش node.js و خاصیت های پلتفورمی که روی اون دارید کد میزنید رو ندونید ، پس نمیدونید که چرا برای SSR از express.js استفاده میشه .

زمانی که شما نحوه طراحی Routing رو بلد نباشید ، نمیدونید که react-router-dom داره چی کار میکنه .

زمانی که لایف سایکل ری اکت رو نخونید و از نظر فنی باهاش آشنایی نداشته باشید ، نمیدونید که app.js چه وظیفه ای داره .

زمانی که شما با اصطلاح Memory leak آشنایی نداشته باشید ، نمیدونید که چه زمانی که از componentDidMount و یا componentWillUpdate و ... استفاده کنید .

وقتی که آگاهی از ساختار node.js و مدل کد نویسی ندارید ، پس باید اول سطح مطالعه روی این قسمت رو بالا ببرید تا بدونید دارید با چی کد میزنید و چی کار میکنید .

خیلی از وقت ها برای اینکه حجم باندل بالا نره مجبورید که خودتون دست به تولید یک پکیج بزنید و از پکیج های بزرگ استفاده نکنید . هرچیزی کار رو راحت میکنه ، صرفا مناسب نیست .

حساسیت سایت های SPA و State Base ، روی همین نکته هاست که بدونید دارید چه بلایی سر کلاینت میارید و چه قدر از رم و CPU کلاینت بی چاره استفاده میکنید .

در آخر : مطالعه کنید . نوشته های دوستان عزیزم رو بخونید تا بیشتر با حرفام آشنا بشید

https://virgool.io/JavaScript8/how-javascript-works-memory-management-how-to-handle-4-common-memory-leaks-ldxonke9zy3k
https://virgool.io/iran-react-community/%D8%AF%D8%B1%D9%88%D8%BA%DB%8C-%D8%A8%D9%87-%D9%86%D8%A7%D9%85-%D8%B4%D8%A8%D8%A7%D9%87%D8%AA-react-%D9%88-react-native-ecv0abjf8ftk+
https://virgool.io/iran-react-community/%D8%A8%D9%87%DB%8C%D9%86%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%B1%DB%8C-%D8%A7%DA%A9%D8%AA-react-performance-%D9%88%DB%8C%DA%98%DA%AF%DB%8C-%D9%87%D8%A7%DB%8C-%D8%AC%D8%AF%DB%8C%D8%AF-%D8%B1%DB%8C-%D8%A7%DA%A9%D8%AA-166-f5lxvorg4sva
https://virgool.io/iran-react-community/%D9%85%D9%82%D8%A7%DB%8C%D8%B3%D9%87-purecomponent-%D9%88-memo-%D8%AF%D8%B1-reactjs-pp5wyhwgjjus