زبان برنامه نویسی React Native و تاثیر جادوی آن بر توسعه اپلیکیشنهای موبایل
زبان برنامه نویسی React Native چند سالی است که به یک موضوع داغ در دنیای توسعه اپلیکیشن موبایل تبدیل شده است. البته جای تعجب هم ندارد، چرا که این فناوری با ارائه راهی برای توسعه همزمان اپلیکیشنهای موبایل برای iOS و اندروید، دنیای برنامه نویسی را طوفانی کرده است.
زمانی که بیزینسهای بزرگی در سرتاسر جهان مانند اوبر، فیسبوک و … از این تکنولوژی استفاده کردند، React Native مورد توجه همگان قرار گرفت و امروزه طیف وسیعی از صنایع برای توسعه پلتفرمهای خود از این تکنولوژی استفاده میکنند.
با همه اینها، قبل از اینکه تصمیم بگیرید به سراغ React Native بروید، بهتر است که نحوه عملکرد آن را بدانید و سپس تصمیم بگیرید که برای پروژه شما مناسب است یا خیر؟
با ما در ادامه همراه باشید.
زبان برنامه نویسی React Native چیست؟
React Native یک فریمورک محبوب ساخت اپلیکیشن تلفن همراه مبتنی بر جاوا اسکریپت است که به شما امکان میدهد اپلیکیشنهای تلفن همراه رندر شده برای iOS و Android بسازید. این فریمورک به شما امکان میدهد با استفاده از یک کُد بیس، یک اپلیکیشن برای پلتفرمهای مختلف ایجاد کنید.
React Native برای اولین بار توسط فیسبوک به عنوان یک پروژه متن باز در سال 2015 منتشر شد. با گذشت چند سال به یکی از بهترین تکنولوژیهای مورد استفاده برای توسعه اپلیکیشن موبایل تبدیل شد. توسعه React Native برای قدرت بخشیدن به برخی از اپلیکیشنهای موبایل پیشرو در جهان از جمله اینستاگرام، فیسبوک و اسکایپ استفاده میشود.
زبان برنامه نویسی دلایل متعددی بر موفقیت جهانی React Native تاثیر گذاشته است که به آنها میپردازیم:
یک: با استفاده از React Native، توسعه دهندهها میتوانند تنها یک بار کدنویسی انجام دهند و از آن برای ساخت اپلیکیشنهای iOS و اندروید خود استفاده کنند. این به معنای صرفه جویی بسیار زیاد در زمان و منابع است.
دو: React Native بر اساس React ساخته شده است. (یک کتابخانه جاوا اسکریپت، که در زمان انتشار فریم ورک موبایل بسیار محبوب بود). تفاوت های بین React و React Native را با جزئیات بیشتر در ادامه توضیح میدهیم.
سه: این فریمورک به توسعه دهندگان Front-end که قبلاً فقط میتوانستند با فناوریهای مبتنی بر وب کار کنند، قدرت میداد تا اپلیکیشنهای با کیفیتی برای پلتفرمهای تلفن همراه ایجاد کنند.
جالب اینجاست که مانند بسیاری از اختراعات انقلابی، React Native به عنوان پاسخی به یک اشتباه بزرگ تکنولوژیکی توسعه یافت.
React در مقابل React Native
React Native نسخه جدیدتر React نیست، اگرچه React Native از آن استفاده میکند.
React (همچنین به عنوان ReactJS شناخته می شود) یک کتابخانه جاوا اسکریپت است که برای ساختن بخش ظاهری یک وب سایت استفاده میشود. همانند React Native، توسط تیم مهندسی فیس بوک توسعه یافته است.
در همین حال، React Native که توسط React پشتیبانی میشود به توسعهدهندگان اجازه میدهد از مجموعهای از مؤلفههای رابط کاربری برای گردآوری و راهاندازی سریع اپلیکیشنهای iOS و Android استفاده کنند.
هر دو React و React Native از ترکیبی از جاوا اسکریپت و یک زبان نشانه گذاری ویژه، JSX استفاده میکنند. با این حال، رندر عناصر اجزای JSX بین React و React Native متفاوت است. علاوه بر این، React از مقداری HTML و CSS استفاده میکند، در حالی که React Native امکان استفاده از عناصر بومی رابط کاربر تلفن همراه را میدهد.
از این رو، در حالی که این دو فریمورک به یکدیگر مرتبط هستند، برای اهداف متفاوتی استفاده میشوند. دانش React برای توسعه اپلیکیشن موبایل iOS و Android کافی نخواهد بود.
React Native چگونه کار می کند؟
همانطور که قبلا ذکر شد، React Native با ترکیبی از جاوا اسکریپت و JXL نوشته شده است، یک کد نشانه گذاری ویژه شبیه XML. این فریمورک توانایی برقراری ارتباط با هر دو حوزه رشتههای مبتنی بر جاوا اسکریپت و رشتههای مبتنی بر اپلیکیشنهای Native را دارد.
این ارتباط چگونه کار می کند؟ React Native از یک به اصطلاح پل استفاده میکند. در حالی که جاوا اسکریپت و رشتههای بومی به زبانهای کاملا متفاوت نوشته میشوند، این ویژگی پل است که ارتباط دو طرفه را ممکن می کند.
چه چیزی React Native را منحصر به فرد می کند؟
تفاوت بین React Native و سایر راه حلهای توسعه چند پلتفرمی (به عنوان مثال Cordova و PhoneGap) در این است که React Native، WebViews را در کد خود رندر نمی کند. بر روی نماها و مؤلفههای واقعی و بومی اجرا میکند. این یکی از دلایل موفقیت و محبوبیت چشمگیر React Native است.
نمونه هایی از اپلیکیشنهای ساخته شده با React Native
حالا که میدانید React Native چیست و چگونه کار میکند، بیایید با هم نگاهی به محصولات ساخته شده با این تکنولوژی بیندازیم:
فیسبوک
فیسبوک یکی از محبوبترین اپلیکیشنهای React Native است و دلیل اینکه به عنوان اولین نمونه از آن استفاده کردیم این است که فیسبوک این زبان برنامه نویسی را به وجود آورده و از ارکانهای اصلی توسعه آن است.
فیسبوک قصد داشت تمام مزایای توسعه وب را برای موبایل به ارمغان بیاورد، مانند تکرار سریع و داشتن یک تیم توسعه محصول واحد، و اینگونه بود که React Native جان گرفت. این شرکت از آن برای توسعه برنامه مدیریت تبلیغات خود در iOS و Android استفاده کرد که هر دو نسخه توسط یک تیم توسعه دهنده ایجاد شدهاند.
اسکایپ
اسکایپ یکی دیگر از نمونههای خوب توسعه اپلیکیشن موبایل React Native است. در سال 2017، اسکایپ اعلام کرد که در حال ساخت یک اپلیکیشن کاملاً جدید بر اساس React Native است. این موضوع هیجان زیادی را از سوی کاربران خود به همراه داشت، زیرا نسخه قدیمی تعدادی باگ داشت که موجب آزار کاربران شده بود. اپلیکیشن جدید کاملاً بازطراحی شد، از آیکونها گرفته تا رابط کاربری تماما عوض شد. مایکروسافت که مالک اسکایپ است تصمیم گرفت از React Native نه تنها در اپلیکیشن موبایل بلکه در نسخه دسکتاپ این پلتفرم استفاده کند.
پینترست
مهندسان پینترست اعتراف کردهاند که از زمان عرضه این فریمورک در سال 2015، React Native را زیر نظر داشته و علاقه مند به استفاده از امکانات آن بودهاند.
در آن زمان، آنها قبلاً به کاربران یک برنامه وب ارائه کردند که توسط Gestalt، مجموعه منبع باز Pinterest از اجزای React UI پشتیبانی میشد. از آنجایی که Gestalt و React Native هر دو مبتنی بر React بودند، مهندسان Pinterest انتظار داشتند که توسعه فرآیند پیچیده و دشواری نباشد. در حالی که آنها هرگز قصد نداشتند برنامه Gestalt خود را به طور کامل با React Native جایگزین کنند، اما میخواستند بررسی کنند که آیا میتواند به راحتی در Back-end فعلی آنها ادغام شود یا خیر.
به منظور آزمایش امکانات React Native، آنها تصمیم گرفتند نمونه اولیه یک ویژگی حیاتی onboarding – Topic Picker – بسازند.
اجرای نمونه اولیه در iOS ده روز و برای اندروید دو روز دیگر طول کشید. مهندسان تخمین زدند که توانستند بیش از یک هفته در زمان اجرای فیچر صرفه جویی کنند. آنها جدا از سرعت، از عملکرد iOS و اندروید نیز راضی بودند.
در نتیجه، Pinterest تصمیم گرفت React Native را بهعنوان یک فریمورک توسعه موبایل بهصورت دائمی در لیست فناوریهای مورد استفاده خود قرار دهد. از زمان معرفی، نه تنها برای انتخاب موضوع، بلکه برای توالی ثبت نام تجاری Pinterest نیز استفاده شده است.
در پایان
بهتر است تصمیم گیری برای اینکه پروژه شما با چه زبانی نوشته شود را به عهده تیم فنی مجری خود بگذارید. چرا که آنها از چالشهای مسیر برای مشاوره با ما تماس بگیرید. توسعه آگاهترند و در نتیجه میتوانند تصمیمات بهتری در رابطه با انتخاب سبد تکنولوژی بگیرند.
محمودرضا پیرپکاجکی
1 خرداد 1401رضایتمندم