فرق reactjs با react native چیست ؟

فرق reactjs با react native چیست ؟

ReactJS و React Native هر دو توسط شرکت فیس‌بوک (Meta) توسعه داده شده‌اند و از کتابخانه‌ی React برای ایجاد رابط کاربری استفاده می‌کنند، اما در کاربرد و ساختار تفاوت‌های کلیدی دارند:

 

### 1. نوع کاربرد:

– **ReactJS**: یک کتابخانه جاوااسکریپتی برای ساختن رابط کاربری وب است. با استفاده از ReactJS می‌توان کامپوننت‌های وب ایجاد کرد که در مرورگر اجرا می‌شوند.

– **React Native**: یک فریم‌ورک برای توسعه‌ی اپلیکیشن‌های موبایل (اندروید و iOS) است. React Native از کامپوننت‌های نیتیو (بومی) سیستم‌عامل موبایل استفاده می‌کند و به جای مرورگر، اپلیکیشن‌های مستقل برای موبایل ایجاد می‌کند.

 

### 2. نوع کامپوننت‌ها:

– **ReactJS**: از تگ‌های HTML مانند `<div>`, `<span>`, `<h1>` استفاده می‌کند که برای مرورگر قابل فهم است.

– **React Native**: از کامپوننت‌های نیتیو موبایل مانند `<View>`, `<Text>`, `<Image>` استفاده می‌کند که توسط React Native به کامپوننت‌های بومی سیستم‌عامل موبایل ترجمه می‌شوند.

 

### 3. شیوه‌ی استایل‌دهی:

– **ReactJS**: از CSS و فایل‌های CSS-in-JS یا SASS برای استایل‌دهی استفاده می‌کند.

– **React Native**: از یک سیستم استایل‌دهی مخصوص به نام StyleSheet استفاده می‌کند که شبیه به CSS است ولی با محدودیت‌هایی برای تنظیمات نیتیو موبایل.

 

### 4. نحوه اجرا:

– **ReactJS**: در مرورگر اجرا می‌شود و به واسطه‌ی Webpack و Babel به کد مرورگر تبدیل می‌شود.

– **React Native**: کد جاوااسکریپت را با استفاده از Bridge به کامپوننت‌های نیتیو تبدیل می‌کند. به همین دلیل اپلیکیشن‌هایی که با React Native ساخته می‌شوند، عملکردی نزدیک به اپلیکیشن‌های نیتیو دارند.

 

### 5. کتابخانه‌های جانبی:

– **ReactJS**: کتابخانه‌های جانبی بسیاری برای وب وجود دارد که به راحتی می‌توان در ReactJS از آنها استفاده کرد، مانند React Router برای مسیریابی.

– **React Native**: برای موبایل، کتابخانه‌های متفاوت و ویژه‌ای مانند React Navigation برای مسیریابی دارد که به خوبی با ویژگی‌های موبایل هماهنگ شده‌اند.

 

### 6. دسترسی به امکانات دستگاه:

– **ReactJS**: به امکاناتی مانند دوربین یا GPS به صورت مستقیم دسترسی ندارد و برای این نوع ویژگی‌ها به API‌های مرورگر یا کتابخانه‌های خاص نیاز دارد.

– **React Native**: از طریق ماژول‌های نیتیو به امکانات دستگاه مثل دوربین، GPS، و فایل‌های سیستم دسترسی مستقیم دارد.

 

### جمع‌بندی:

به طور کلی:

– **ReactJS** برای توسعه‌ی وب اپلیکیشن‌ها مناسب است.

– **React Native** برای توسعه‌ی اپلیکیشن‌های موبایل (اندروید و iOS) مناسب است.

 

بنابراین، انتخاب بین این دو به بستری که قصد توسعه در آن را دارید بستگی دارد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *