উন্নয়নকারী | ফেসবুক ও সম্প্রদায় |
---|---|
প্রাথমিক সংস্করণ | ২৬ মার্চ ২০১৫[১] |
স্থিতিশীল সংস্করণ | ০.৭৬.১[২]
/ ২৯ অক্টোবর ২০২৪ |
রিপজিটরি | https://github.com/facebook/react-native |
যে ভাষায় লিখিত | জাভাস্ক্রিপ্ট, জাভা, সি++, অবজেক্টিভ সি, অবজেক্টিভ সি++, পাইথন |
প্ল্যাটফর্ম | অ্যান্ড্রয়েড, অ্যান্ড্রয়েড টিভি, আইওএস, টিভিওএস, ম্যাক ওএস, ওয়েব এবং উইন্ডোজ |
লাইসেন্স | এমআইটি সনদ |
ওয়েবসাইট | reactnative |
রিঅ্যাক্ট নেটিভ ফেসবুকের তৈরী একটা ওপেন সোর্স মোবাইল অ্যাপলিকেশন ফ্রেমওয়ার্ক।[৩] নেটিভ সক্ষমতার সাথে সংমিশ্রন ঘটিয়ে রিঅ্যাক্ট নেটিভ একটাই ফ্রেমওয়ার্ক ব্যবহার করে ডেভেলপারদের জন্য ওয়েব,[৪] ডেস্কটপ অ্যাপলিকেশন, ইউডব্লিউপি অ্যাপলিকেশন,[৫] অ্যান্ড্রয়েড [৬] ও আইওএস অ্যাপলিকেশন ডেভেলপ সহজ করে দেয়। এর বাইরেও, কিউটির জন্য রিয়েক্ট ন্যাটিভের একটা অসম্পূর্ণ পোর্ট রয়েছে।[৭]
২০১২ সালে মার্ক জাকারবার্গ মন্তব্য করেন, কোম্পানি হিশেবে তাদের সবচেয়ে বড় ভুল ছিলো নেটিভের বদলে এইচটিএমএলের উপর খুব বেশি মনোযোগ দেওয়া। এরপর সে জানায় ফেসবুক খুব শীঘ্রই আরও ভালো মোবাইল এক্সপেরিয়েন্স নিয়ে কাজ করবে।[৮]
ফেসবুকের জরডান ওয়াকে ব্যাকগ্রাউন্ড জাভাস্ক্রিপ্ট থ্রেড ব্যবহার করে আইওএসের জন্য ইউআই উপাদান তৈরীর একটা উপায় বের করেন। ফেসবুক এ প্রযুক্তিকে একটা পরিপক্ব রূপ দিতে নিজেদের মধ্যে একটা হ্যাকাথন আয়োজনের সিদ্ধান্ত নেয়।[৯]
মাসের পর মাস এর উপর কাজ করার পর ২০১৫ সালে রিঅ্যাক্ট জাভাস্ক্রিপ্ট কনফিগারেশনের প্রথম সংস্করণ প্রকাশিত হয়। একবার আলোচনার সময় ক্রিস্টোপার চ্যাডো বলেন ফেসবুক ইতোমধ্যেই তাদের নিজস্ব গ্রুপ অ্যাপ ও অ্যাড ম্যানেজারের জন্য রিঅ্যাক্ট নেটিভ ব্যবহার করছিলো।[১০]
রিঅ্যাক্ট নেটিভের কাজের ধরন অনেকটা রিয়েক্টের মত। একটা তফাৎ হলো রিঅ্যাক্ট নেটিভ ডকুমেন্ট অবজেক্ট মডেল বা ডোম ভার্চুয়াল ডোম ব্যবহার করে পরিবর্তন করে না। এটা অই নির্দিষ্ট যন্ত্রের একটা ব্যাকগ্রাউন্ড প্রসেসে চলে আর অ্যাসিনক্রোনাস, সিরিয়ালাইসেশন আর ব্যাসড ব্রিজ ব্যবহার করে নেটিভ যন্ত্রের সাথে যোগাযোগ করে।
রিঅ্যাক্ট নেটিভ এইচটিএমএল বা সিএসএস ব্যবহার করে না। বরং নেটিভ ভিউ নিয়ন্ত্রনের জন্য জাভাস্ক্রিপ্ট থ্রেডের ম্যাসেজ ব্যবহার করে। এটা অ্যান্ড্রয়েডে জাভা, আইওএসে সুইফট বা অবজেক্টিভ সিতে নেটিভ কোড লেখার সুযোগ দেয়, যা এতে অ্যাপলিকেশন নির্মান আরও নমনীয় ও ব্যবহার আরও বিস্তৃত করে।
হ্যালো, ওয়ার্ল্ড প্রোগ্রাম রিঅ্যাক্ট নেটিভে যেমন দেখায়:
import React from 'react';
import { Text } from 'react-native';
export default function HelloWorld(){ return(
<Text>Hello, World!</Text>
)
}