از React Native حرفه ای تر استفاده کنیم - قسمت صفر

قسمت صفر (در حال خواندن هستید)قسمت اولقسمت دوماین پلتفرم React Native با تمام خوبی هایی که داره یه موقع هایی با بدبختی یه سری کار های رو میشه توش انجام داد مواردی مثل:استایل دهی تمیز و مدیریت شدهاشکال یابی یا همون Debuggingایجاد Animation ها چه ساده چه حرفه ای که باعث ایجاد کد کثیف نشهساختار و مدیریت برنامه (پوشه ها یا ارتباط بین Component ها و Libraray ها)نوشتن Platform Specific Code و مدیریت اون هادسترسی به API های دستگاه که به صورت پیش فرض وجود ندارندایجاد Routing و Navigation و مدیریت Screen ها و Layout برنامه بر اساس Routeو...اینا مواردی بودن که خودم توی پروژه های بزرگ و کوچیک بهشون بر خورده بودم و سعی میکنم توی یک سری مقاله توضیحشون بدم و راه حل هایی که خودم برای حلشون پیدا کردم یا ساختم رو باهاتون به اشتراک بذارم.اما چرا قسمت صفر؟توی این قسمت سعی میکنم یه سری توصیه کلی در مورد React Native و طرز تفکر توی اون رو بگم و بیشتر به شکل راهنما است که بی گدار به آب نزنیم و همین جوری الکی و دستی دستی خودمون رو با یه Code Base کثیف خفه نکنیم این توصیه خیلی هاشون کلی هستن و همه جا ممکنه پیداشون کنید اما یه سری هاشون رو خودم یا دوستام و همکارام بهشون بر خوردند.مستنداتسعی کنید خیلی خوب مستندات React Native بخونید یه سری نکات کوچیک ممکنه توی مستندات باشه که ساعت ها و شاید روز ها شما رو سرگردون بکنه و شاید فکر کنید یه اشکال توی برنامه وجود داره یا حتی ممکنه ساعت ها یه چیزی رو پیاده سازی کنید در صورتی که توی React Native همون قابلیت وجود داره یا به همراه یک Component دیگه اون قابلیت ظاهر بشه و شما وقت گذاشتید ولی وقتتون هدر رفته و از طرفی ممکنه چیزی که شما پیاده سازی میکنید بهینه نباشه و باعث سنگینی برنامه و پایین اومدن Perfomance توی برنامه بشه.دیدگاه و تفکر موبایلاکثر کسایی که با React Native شروع به کار میکنن برنامه نویس های وب هستن و حتی ممکنه React رو توی برنامه های وب استفاده کنن و با دیدگاه وب وارد یه دنیایی دیگه میشن و با دیدگاه وب برنامه های موبایل مینویسن یک نکته ای که باید بهش توجه کنید اینه که کسی که قبلا React کار کرده لزوما React Native هم نمیتونه کار کنه به خاطر اینکه محیط موبایل و برنامه نویسی موبایل کاملا با محیط وب طبیعتا فرق میکنه React به روی وب و React بروی موبایل تنها شباهتی که به هم دارن طریقه تعریف Component ها است. مثلا شما باید بدونید که دیگه اینجا خبری از تگ های معمول توی وب وجود ندارد Navigatie شدن بین صفحات جور دیگه ای انجام میشه و شما باید یه پیش زمینه ای در مورد App State توی اندروید و iOS داشته باشید و بدونید Intent یا Fragment چیا هستند چیزی به اسم URL در هنگام پیمایش بین صفحات نداریم خبری از Script نویسی های معمول که توی وب هست نیست.اکثرا با دیدگاه اینکه React Native یه چیزی مثل Phonegap یا Cordova است میان سراغش و خیلی گمراه میشن و با فحش دادن به React Native ازش انتقام میگیرن? در صورتی که خودشون اشتباه پیش رفتن. هسته اصلی و طرز کاربه همه پیشنهاد میکنم قبل یا در حین اینکه دارن برنامه نویسی React Native انجام میدن مستندات ابتدایی برنامه نویسی Android با زبان Java و همچنین برنامه نویسی iOS با زبان Swift رو یه مطالعه جزئی بکنن تا بدونن دقیقا وقتی کد React Native مینویسن اون پشت به چی داره Transform میشه این باعث میشه طرز تفکرتون از وب به موبایل واقعی تغییر بدید.گاهی ممکنه شما بخواهید کد ها و فایل های تنظیمات که توی پوشه های ios و android وجود داره رو اصلاح کنید به همین دلیل نیاز دارید تا با بخش های اصلی اون آشنا باشید.با روند Build و ابزار های هر پلتفرم آشنای داشته باشد مثلا بدونید Gradle چی هست یا وظیفه هر Build Tools Revision چیه و چرا باید اصلا اون ها رو نصب کنید یا توی iOS بدونید Command Line Tools ها چیا هستند و چجوری باید Build Tools رو Config کرد.توضیحی که میتونم در مورد روند کاری React Native بدم اینه که کد هایی که شما به زبان React Native مینویسید توسط یک Transpiler به یک IL یا Intermediate Language تبدیل میشه و ازون طرف یک Engine که با Java و Objective C نوشته شده که قدرت اجرای این IL رو داره میاد و کد های شمارو اجرا میکنه و در نتیجه شما یک Native UI دارید.توی قسمت بعد در مورد طریقه مدیریت Style ها و پرهیز از تکرار و کد های کثیف صحبت میکنیم و راه حل هایی براش توضیح میدیم.