ری اکت نیتیو

از ویکی‌پدیا، دانشنامهٔ آزاد
ری اکت نیتیو
React-icon.svg
توسعه‌دهنده(ها)Facebook and community
انتشار ابتدایی۲۶ مارس ۲۰۱۵؛ ۶ سال پیش (۲۰۱۵-۰۳-26)[۱]
انتشار پایدار
۰٫۵۹٫۹
۵ ژوئن ۲۰۱۹؛ ۲ سال پیش (۲۰۱۹-۰۶-05)[۲]
مخزن
نوشته‌شده باJavaScript, Java, C++, Objective-C, Objective-C++, Python
پروانهMIT License
وبگاه

ری اکت نیتیو (به انگلیسی React Native) یک فریم ورک نرم‌افزار تلفن همراه منبع باز ایجاد شده توسط فیس بوک است.[۳] این برنامه برای توسعه برنامه‌های کاربردی اندروید،[۴] iOS و UWP[۵] با امکان استفادهٔ توسعه دهندگان از React به همراه قابلیت‌های نیتیو پلتفرم مورد نظر مورد استفاده قرار می‌گیرد.

تاریخ

در سال ۲۰۱۲، مارک زوکربرگ اظهار داشت: «بزرگترین اشتباهی که ما به عنوان یک شرکت انجام دادیم، بیش از حد بر روی HTML در مقایسه با نیتیوها کار کردیم».[۶] او قول داد که فیس بوک به زودی یک تجربه بهتر تلفن همراه را ارائه دهد.

در داخل فیس بوک، اردن واکی راهی را برای تولید عناصر UI برای IOS از یک پس زمینه جاوا اسکریپت پیدا کرد.[۷] آنها تصمیم گرفتند یک هکاتون داخلی را برای تکمیل این نمونه اولیه بسازند تا قادر به ساخت برنامه‌های نیتیو با این تکنولوژی باشند.[۸]

پس از چند ماه توسعه، فیس بوک اولین نسخه را برای پیکربندی ری اکت جاوا اسکریپت در سال ۲۰۱۵ منتشر کرد. در جریان یک بحث فنی،[۹] کریستوفر چودو توضیح داد که فیس بوک از برنامه ری اکت نیتیو برای تولید برنامه گروه و برنامه مدیریت آگهی خود استفاده کرده‌است.[۱۰]

پیاده‌سازی

اصول کار React Native تقریباً با React یکسان است، به جز اینکه ری اکت نیتیو، DOM را از طریق DOM مجازی دستکاری نمی‌کند. این برنامه در فرایند پس زمینه (که جاوا اسکریپت نوشته شده توسط توسعه دهندگان را تفسیر می‌کند) به‌طور مستقیم در دستگاه انتها (دیوایس کاربر) اجرا می‌شود و با پلتفرم نیتیو از طریق یک سریال سازی، اسینکرونس و پل پردازش دسته‌ای ارتباط برقرار می‌کند.[۱۱][۱۲]

React Native از HTML استفاده نمی‌کند. در عوض، پیام‌هایی از جاوا اسکریپت برای اداره نمایشهای نیتیو استفاده می‌شود.

مثال Hello World

یک برنامه Hello, World که در React Native این گونه است:

// App.js
import React, {Component} from 'react';
import {Text, View} from 'react-native';

export default class App extends Component {
  render() {
    return (
      <View>
        <Text>
          Hello, World.
        </Text>
      </View>
    );
  }
}

// index.js
import {AppRegistry} from 'react-native';
import App from './App';
import {name as appName} from './app.json';

22 AppRegistry.registerComponent(appName, () => App);

منابع

  1. "React Native: Bringing modern web techniques to mobile".
  2. "Releases – Facebook/React". GitHub.
  3. "Git-hub React-Native".
  4. "Android Release for React Native".
  5. Windows Apps Team (April 13, 2016). "React Native on the Universal Windows Platform". blogs.windows.com. Retrieved 2016-11-06.
  6. "Zuckerberg's Biggest Mistake? 'Betting on HTML5'". Mashable. Retrieved 7 April 2018.
  7. "React (JavaScript library)".
  8. "A short Story about React Native". Archived from the original on 17 January 2018. Retrieved 16 January 2018.
  9. Christopher, Chedeau. "A Deep Dive into React Native". YouTube. Retrieved 16 January 2018.
  10. "React Native: Bringing modern web techniques to mobile".
  11. "Bridging in React Native". 14 October 2015. Retrieved 16 January 2018.
  12. "React Native Framework". Archived from the original on 14 May 2019. Retrieved 15 June 2019. Thursday, 13 September 2018