রিঅ্যাক্ট নেটিভ

রিঅ্যাক্ট নেটিভ ফেসবুকের তৈরী একটু ওপেন সোর্স মোবাইল অ্যাপলিকেশন ফ্রেমওয়ার্ক [৩]। নেটিভ সক্ষমতার সাথে সংমিশ্রন ঘটিয়ে রিঅ্যাক্ট নেটিভ একই ফ্রেমওয়ার্ক ব্যবহার করে ডেভেলপারদের জন্য ওয়েব [৪], ডেস্কটপ অ্যাপলিকেশন, ইউডব্লিউপি অ্যাপলিকেশন [৫], অ্যানড্রয়েড [৬]আইওএস অ্যাপলিকেশন নির্মান ও উন্নয়ন সহজ করে দেয়। কিউটির জন্য এর একটি অসম্পূর্ণ পোর্টও রয়েছে [৭]

রিয়েক্ট নেটিভ
React-icon.svg
উন্নয়নকারীফেসবুক ও কম্যুনিটি
প্রাথমিক সংস্করণ২৬ মার্চ ২০১৫; ৫ বছর আগে (2015-03-26)[১]
স্থায়ী মুক্তি০.৬৩.১ / ১৪ জুলাই ২০২০; ৪ মাস আগে (2020-07-14)[২]
লেখা হয়েছেজাভাস্ক্রিপ্ট, জাভা, সি++, অবজেক্টিভ সি, অবজেক্টিভ সি++, পাইথন
লাইসেন্সএমআইটি সনদ
ওয়েবসাইটreactnative.dev

ইতিহাসসম্পাদনা

২০১২ সালে মার্ক জাকারবার্গ মন্তব্য করেন, কোম্পানি হিশেবে তাদের সবচেয়ে বড় ভুল ছিলো নেটিভের বদলে এইচটিএমএলের উপর খুব বেশী মনোযোগ দেওয়া। সে মন্তব্য করে ফেসবুক খুব দ্রুত আরও ভালো মোবাইল অভিজ্ঞতা প্রদানে কাজ করবে [৮]

ফেসবুকের জরডান ওয়াকে ব্যাকগ্রাউন্ড জাভাস্ক্রিপ্ট থ্রেড ব্যবহার করে আইওএসের জন্য ইউআই উপাদান তৈরীর একটা উপায় বের করেন। ফেসবুক এ প্রযুক্তিকে একটা পরিপক্ব রূপ দিতে নিজেদের মধ্যে একটা হ্যাকাথন আয়োজনের সিদ্ধান্ত নেয় [৯]

মাসের পর মাস এর উপর কাজ করার পর ২০১৫ সালে রিঅ্যাক্ট জাভাস্ক্রিপ্ট কনফিগারেশনের প্রথম সংস্করণ প্রকাশিত হয়। একবার আলোচনার সময় ক্রিস্টোপার চ্যাডো বলেন ফেসবুক ইতোমধ্যেই তাদের নিজস্ব গ্রুপ অ্যাপ ও অ্যাড ম্যানেজারের জন্য রিঅ্যাক্ট নেটিভ ব্যবহার করছিলো [১০]

প্রয়োগসম্পাদনা

রিঅ্যাক্ট নেটিভের কাজের ধরণ অনেকটা রিয়েক্টের মতন। একটা তফাৎ হলো রিঅ্যাক্ট নেটিভ ডকুমেন্ট অবজেক্ট মডেল বা ডোম ভার্চুয়াল ডোম ব্যবহার করে পরিবর্তন করে না। এটা অই নির্দিষ্ট যন্ত্রের একটা ব্যাকগ্রাউন্ড প্রসেসে চলে আর অ্যাসিনক্রোনাস, সিরিয়ালাইসেশন আর ব্যাসড ব্রিজ ব্যবহার করে নেটিভ যন্ত্রের সাথে যোগাযোগ করে।

রিঅ্যাক্ট নেটিভ এইচটিএমএল বা সিএসএস ব্যবহার করে না। বরং নেটিভ ভিউ নিয়ন্ত্রনের জন্য জাভাস্ক্রিপ্ট থ্রেডের ম্যাসেজ ব্যবহার করে। এটা অ্যানড্রয়েডে জাভা, আইওএসে সুইফট বা অবজেক্টিভ সিতে নেটিভ কোড লেখার সুযোগ দেয়, যা এতে অ্যাপলিকেশন নির্মান আরও নমনীয় ও ব্যবহার আরও বিস্তৃত করে।

হ্যালো ওয়ার্ল্ড উদাহরণসম্পাদনা

হ্যালো, ওয়ার্ল্ড প্রোগ্রাম রিঅ্যাক্ট নেটিভে যেমন দেখায়:

1 import React from 'react';
2 import { AppRegistry, Text } from 'react-native';
3 
4 const HelloWorldApp = () => <Text>Hello world!</Text>;
5 export default HelloWorldApp;
6 
7 AppRegistry.registerComponent('HelloWorld', () => HelloWorldApp);
8 
9 import HelloWorldApp from './HelloWorldApp';

আরও দেখুনসম্পাদনা

তথ্যসূত্রসম্পাদনা

  1. "React Native: Bringing modern web techniques to mobile" 
  2. "Releases – Facebook/React"গিটহাব 
  3. "অধ্যায় ১। রিঅ্যাক্ট নেটিভ কি?"oreilly.com। ও'রেলি মিডিয়া ইনকর্পোরোটেড। সংগ্রহের তারিখ ৩০ জুলাই ২০২০ 
  4. "React Native for Web"। সংগ্রহের তারিখ ৬ নভেম্বর ২০১৯ 
  5. উইন্ডোজ অ্যাপস টিম (১৩ এপ্রিল ২০১৬)। "React Native on the Universal Windows Platform"blogs.windows.com। সংগ্রহের তারিখ ৬ নভেম্বর ২০১৯ 
  6. "Android Release for React Native" 
  7. "Out-of-Tree Platforms"reactnative.dev। ফেসবুক ইনকর্পোরেটেড। সংগ্রহের তারিখ ৩০ জুলাই ২০২০ 
  8. "Zuckerberg's Biggest Mistake? 'Betting on HTML5'"। ম্যাশেবল। সংগ্রহের তারিখ ৭ এপ্রিল ২০১৮ 
  9. "A short Story about React Native"। সংগ্রহের তারিখ ১৬ জানুয়ারি ২০১৮ 
  10. "React Native: Bringing modern web techniques to mobile"