রিয়েক্ট নেটিভ সম্পর্কে যা কিছু জানা প্রয়োজন

রিয়েক্ট নেটিভ সম্পর্কে যা কিছু জানা প্রয়োজন

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

মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্ট ফ্রেমওয়ার্ক কী?

মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্ট ফ্রেমওয়ার্ক একটি পুরোদস্তুর ডেভেলপমেন্টের কারখানা যা নির্দিষ্ট পরিবেশের জন্য মোবাইল অ্যাপ্লিকেশন তৈরি করতে প্রয়োজনীয় মৌলিক কাঠামো সরবরাহ করে। সংক্ষেপে, এটি মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্টে সাহায্য  করার জন্য একটি বিন্যাস বা layout হিসাবে কাজ করে। মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্ট ফ্রেমওয়ার্ক ব্যবহারের বিভিন্ন সুবিধা মধ্যে কিছু হলো সময়-সাশ্রয়,কার্যকারিতা , দক্ষতা ইত্যাদি।

মোবাইল অ্যাপ্লিকেশনকে  প্রধানত ৩ টি বিভাগে ভাগ করা যায়: নেটিভ অ্যাপ্লিকেশন, ওয়েব অ্যাপ্লিকেশন এবং হাইব্রিড অ্যাপ্লিকেশন।

নেটিভ অ্যাপ্লিকেশন:

এমন অ্যাপ্লিকেশন যা  একটি নির্দিষ্ট প্ল্যাটফর্ম বা ডিভাইসে ব্যবহারের জন্য ডিজাইন করা হয়েছে। প্ল্যাটফর্ম হতে পারে Windows, MacOS, Android, iOS এর মত অপারেটিং সিস্টেম।

ওয়েব অ্যাপ্লিকেশন:

এই ধরনের অ্যাপ্লিকেশন যে কোনো ডিভাইসে ও  ওয়েব প্ল্যাটফর্মে ওয়েবপেইজ সরবরাহ করার জন্য ডিজাইন করা হয়ে থাকে।

হাইব্রিড অ্যাপ্লিকেশন:

হাইব্রিড অ্যাপ্লিকেশন হলো নেটিভ এবং ওয়েব অ্যাপ্লিকেশন উভয়ের সংমিশ্রণ। এটিকে সিঙ্গেল কোডবেইস থেকে যে কোনো প্ল্যাটফর্মের জন্য তৈরি করা যেতে পারে।

রিয়েক্ট নেটিভ কি?

রিয়েক্ট নেটিভ আধুনিক ডেভেলপমেন্ট ইন্ডাস্ট্রির অন্যতম প্রস্তাবিত মোবাইল অ্যাপ ফ্রেমওয়ার্ক। এটি জাভাস্ক্রিপ্টের একটি মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্ট ফ্রেমওয়ার্ক যেখানে নেটিভ ইউজার ইন্টারফেজ এলিমেন্ট দিয়ে বিভিন্ন প্ল্যাটফর্মের জন্য অ্যাপ ডেভেলপ করা যায়। তবে এটি কিন্তু কোন ওয়েবভিউ অ্যাপ না।

রিয়েক্ট নেটিভ সম্পর্কে যা কিছু জানা প্রয়োজন

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

এই ফ্রেমওয়ার্কটি React লাইব্রেরি এবং JavaScript এর উপর ভিত্তি করে তৈরি করা হয়েছে। এর লক্ষ্য একটি ওয়েব-ভিউতে রান করা হাইব্রিড অ্যাপ্লিকেশনের উপর নেটিভ অ্যাপ্লিকেশন ডেভেলপ করা। ক্রস প্ল্যাটফর্ম অ্যাপ্লিকেশন একাধিক অপারেটিং সিস্টেম বা ডিভাইসে ব্যবহারের জন্য তৈরি করা হয়। এর সুবিধা হলো আপনি উইন্ডোজ পিসিতে থাকুন বা ল্যাপটপ বা স্মার্টফোন থেকে লগ ইন করুন একই প্রোগ্রাম ব্যবহার করতে পারবেন।

React Native এর মূল উদ্দেশ্য?

২০১৫ সালে এই জাভাস্ক্রিপ্ট মোবাইল ডেভেলপমেন্ট ফ্রেমওয়ার্কটি ফেসবুক তৈরি করে যখন তাদের মোবাইল অ্যাপ্লিকেশনগুলি খুব বেশি এইচটিএমএল (HTML) মার্কআপ ল্যাংগুয়েজ নির্ভর ছিল।

ফেসবুকের প্রতিষ্ঠাতা মার্ক জাকারবার্গ TechCrunch Disrupt এর এক সাক্ষাতকারে বলেছিলেন, 

“The biggest mistake we made as a company was betting too much on HTML5 as opposed to native.”

অর্থাৎ “প্রতিষ্ঠান হিসাবে আমরা সবচেয়ে বড় ভুল ছিলো নেটিভের পরিবর্তে এইচটিএমএল৫ (HTML5) এ বেশি নির্ভর করা।”

ফেসবুকে কর্মরত সময়ে রিয়েক্টজেএস(ReactJS) এর জনক Jordan Walke জাভাস্ক্রিপ্ট থ্রেড থেকে iOS এর জন্য ইউজার ইন্টারফেস (UI) এলিমেন্টগুলো তৈরি করার একটি উপায় খুঁজে পেয়েছিলেন যা রিয়েক্ট এর ভিত্তি হিসেবে কাজ করে। ফেসবুক ২০১৫ সালের জানুয়ারিতে রিয়েক্ট.জেএস (React.js) এর সম্মেলনে রিয়েক্ট নেটিভ  প্রকাশ করে। পরবর্তীতে এটিকে ওপেন-সোর্স করে দেয়া হয়। ফলে বহু ডেভেলপার এর সংস্করণে কাজ করেছে এবং করে যাছে।

React নাকি React Native?

React Native কিন্তু React এর কোন পৃথক সংস্করণ নয় বরং ReactDOM যেমন ওয়েব এর জন্য তেমনি React Native হলো React এর জন্য কাস্টম রেন্ডার।

React হচ্ছে জাভাস্ক্রিপ্টের একটি জনপ্রিয় লাইব্রেরী, যা একটি ওয়েব এপ্লিকেশনের ইউজার ইন্টারফেস তৈরি করতে ব্যবহৃত হয়।

React এর বিভিন্ন কম্পোনেন্ট ব্যবহার করে একটি ওয়েবসাইটের ফ্রন্ট এন্ড ডেভেলপ করা যায়। অন্যদিকে React Native ব্যবহৃত হয় সম্পূর্ণ মোবাইল প্ল্যাটফর্মে ব্যবহার উপযোগী অ্যাপ ডেভেলপ করার জন্য।

React Native এর সুবিধা বা কেন ব্যবহার করব ?

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

রিয়েক্ট নেটিভ ডেভেলপার এবং কোম্পানি উভয়ের জন্যই বেশ সুবিধাজনক।

  • কোড পুনর্ব্যবহারযোগ্যতা – এটি নির্দিষ্ট প্রোজেক্টের উপর নির্ভর করে, তবে সাধারণত  রিয়েক্ট নেটিভ এর   ৫০-৯০% কোড সহজেই পুনরায় ব্যবহার করা যায়। ডেভেলপাররা মোবাইল অ্যাপ তৈরি করতে  রিয়েক্ট লিখিত ওয়েব অ্যাপ্লিকেশন কোডটিও ব্যবহার করতে পারে।
  • ডেভেলপমেন্ট স্পিড – ডেভেলপাররা তাদের কোডগুলো পুনরায় ব্যবহার করতে পারে ফলে ডেভেলপমেন্টে সময় কম লাগে ও কাজে গতি আসে।
  • ফাস্ট MVP চেক – MVP(Minimum viable product) পরীক্ষা করতে মার্কেটে দ্রুত অ্যাপ আনা যায়।
  • সাবলীল কাজ – এটি সময়-সাশ্রয়ী এবং শক্তিশালী কম্পোনেন্ট দিয়ে তৈরি বিধায় কাজ করা সহজ।
  • সহজে পরিবর্তনশীল – প্রতিটি বার পুনর্নির্মাণের(Re-building) জন্য কেবল “Command+R” চাপ দিলেই হয়।

রিয়েক্ট নেটিভ কিভাবে কাজ করে?

অ্যান্ড্রয়েডের পাশাপাশি আইওএস(iOS) মোবাইল প্ল্যাটফর্ম উভয়ই এপিআই(API – Application Programming Interface) সরবরাহ করে যা নেটিভ পরিবেশের সাথে যোগাযোগ করে। এর মধ্যে এমন এপিআই জড়িত থাকতে পারে যা নেটিভ উপাদানগুলি রেন্ডার করে বা নেটিভ প্রযুক্তি ব্যবহার করে থাকে (যেমন জিপিএস বা ব্লুটুথ ইত্যাদি)।

মূলত, React Native ব্যবহারকারীদের জাভাস্ক্রিপ্ট(JS) কোডকে নির্দিষ্ট প্ল্যাটফর্মের মাধ্যমে নেটিভ ফাংশনগুলিকে কল করার সুবিধা দেয়।

রিয়েক্ট নেটিভ কিভাবে কাজ করে
Credit: Reactnative.guide

যখনই আপনি ক্রিয়েট বাটন (ব্যাকগ্রাউন্ডে রিঅ্যাক্ট ডোমের মাধ্যমে এটি করা হয়) এর মতো কিছু এবস্ট্রাক্ট কল করার মাধ্যমে একটি বাটন তৈরি করেন, রিয়েক্ট নেটিভ সেই নির্দেশনাটি একটি ব্রিজের মাধ্যমে নেটিভ প্ল্যাটফর্মে স্থানান্তর করে, তারপর অ্যান্ড্রয়েডের জাভাস্ক্রিপ্ট ফাংশনটিকে কল করে একটি বাটন তৈরি করে এবং একইসাথে আইওএস(iOS) এর Objective-C ফাংশন তার জন্য একটি নেটিভ বাটন তৈরি করে। এই নীতিটি React Native এর অ্যাপ্লিকেশনগুলিকে একটি নেটিভ অ্যাপ্লিকেশনটির মতো কাজ করতে এবং দেখাতে সাহায্য করে।

রিয়েক্ট নেটিভে এ ডেভেলপমেন্টের পূর্বশর্ত

রিয়েক্ট নেটিভ শেখার আগে যে যে জিনিসগুলো নিয়ে বেসিক ধারণা থাকা প্রয়োজন:

১. জাভাস্ক্রিপ্ট (JavaScript), যেহেতু React Native JavaScript এর একটি ফ্রেমওয়ার্ক

২. রিয়েক্ট (React) , যেটি জাভাস্ক্রিপ্টভিত্তিক লাইব্রেরি

৩. রিডাক্স (Redux) , জাভাস্ক্রিপ্ট স্টেট ম্যানেজমেন্ট

পিসিতে এনভায়রনমেন্ট সেট আপ করতে যা যা লাগবেঃ

১.কোড এডিটর- Visual Studio Code

২.ব্যাকএন্ড রানটাইম – নোড.জেএস (Node.js).

৩.ইমুলেটর বা মোবাইল ডিভাইস যার সাহায্যে আপনার অ্যাপ্লিকেশনটি ঠিকভাবে চলছে কি না তা পরীক্ষা করতে পারবেন।

রিয়েক্ট নেটিভ দিয়ে তৈরি জনপ্রিয় কিছু অ্যাপ

রিয়েক্ট নেটিভ দিয়ে তৈরি জনপ্রিয় কিছু অ্যাপ

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

রিয়েক্ট নেটিভ এর পারফরমেন্স  ,ক্রস প্ল্যাটফর্ম সাপোর্ট ও পুনর্ব্যবহারযোগ্য কোডের কারণেফেসবুক, ফেসবুক অ্যাডস, ওয়ালমার্‌ট, ব্লুমবার্‌গ, ইন্সটাগ্রাম, সাউন্ডক্লাউড পাল্‌স , ডেলিভারি.কম, উবার সহ অনেক নামীদামী কোম্পানিগুলো তাদের মোবাইল অ্যাপে রিয়েক্ট নেটিভ ব্যবহার করছে।

ক্রস প্ল্যাটফর্ম ডেভেলপমেন্টের জন্য আরো কিছু মোবাইল অ্যাপ ফ্রেমওয়ার্ক

ক্রস প্ল্যাটফর্ম ডেভেলপমেন্টের জন্য আরো কিছু মোবাইল অ্যাপ ফ্রেমওয়ার্ক

রিয়েক্ট এর পাশাপাশি আরো কিছু পরিচিত ক্রস প্ল্যাটফর্ম ডেভেলপমেন্ট অ্যাপ ফ্রেমওয়ার্ক রয়েছে যেমন: ফ্লাটার(Flutter), জামারিন(Xamarin), নেটিভস্ক্রিপ্ট(NativeScript)।

ফ্লাটার হচ্ছে গুগলের তৈরি মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্ট ফ্রেমওয়ার্ক যা ডার্ট ল্যাংগুয়েজের সাহায্যে এন্ড্রয়েড এবং আইওএস এর জন্য অ্যাপ তৈরি করে।

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

React Native এবং NativeScript উভয়ই জাভাস্ক্রিপ্ট মোবাইল ফ্রেমওয়ার্ক এবং যারা জাভাস্ক্রিপ্ট এর সাথে পরিচিত তাদের জন্য দুইটি ফ্রেমওয়ার্কই শেখা সহজ।

NativeScript এর উপরে React Native এর সবচেয়ে বড় সুবিধাটি হলো মাল্টি-থ্রেড আর্কিটেকচার। এই বৈশিষ্ট্যটি জাভাস্ক্রিপ্ট প্রোসেসিংকে UI রেন্ডারিংয়ে হস্তক্ষেপ করতে দেয় না। অন্যদিকে, প্রসেসর-ইন্টেনসিভ জাভাস্ক্রিপ্ট কোড রান করা হলে NativeScript এ বানানো অ্যাপগুলোর UI আটকে যেতে পারে।

Xamarin মাইক্রোসফট এর তৈরি মোবাইল এপ্লিকেশন ডেভেলপমেন্ট ফ্রেমওয়ার্ক যা C# ল্যাংগুয়েজ দিয়ে তৈরি। ২০১১ সালের মে মাসে এটি প্রথম প্রাকাশিত হয়।

React Native এবং Xamarin উভয়ই প্রায় নেটিভ পারফরম্যান্স দেয়, উভয়ই সুপরিচিত ব্র্যান্ডগুলি দ্বারা ব্যবহৃত হয় এবং উভয়েরই খুব ভালো কমিনিউটি সাপোর্ট আছে। এই দুটি প্রযুক্তির মধ্যে সর্বাধিক গুরুত্বপূর্ণ পার্থক্যটি তাদের ব্যবহৃত প্রোগ্রামিং ভাষা। জামারিনের ক্ষেত্রে এটি C#, এবং React Native-এ এটি জাভাস্ক্রিপ্ট। সুতরাং যে ভাষা ব্যবহার করতে আপনার টিম স্বাচ্ছন্দ্যবোধ করে সেটিই ব্যবহার করা উচিত।

কখন রিয়েক্ট নেটিভ ব্যবহার করা যাবে না?

জটিল বা ভারী গেম তৈরির সময় যখন এক্সটেন্সিভ ভিজুয়্যালাইজেশন ফিচার, হাই লেভেল কাস্টোমাইজেশন, যথেষ্ট পরিমাণ ইউজার ইন্ট্রাকশন ও ব্যাকগ্রাউন্ডে প্রচুর কাজ চলতে থাকে তখন রিয়েক্ট নেটিভ ব্যবহার না করে নেটিভ ডেভেলপমেন্ট ব্যবহার করাই ভালো। এসব ক্ষেত্রে নেটিভ র‍্যাপার(wrapper) লেখার চেয়ে নেটিভ ডেভেলপমেন্ট দ্রুত কাজ করে।

রিয়েক্ট নেটিভ নিয়ে কিছু ভুল ধারণা

রিয়েক্ট নেটিভ এর সাহায্যে আপনি দুইটির পরিবর্তে একটি অ্যাপ ডেভেলপ করতে পারেনঃ

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

রিয়েক্ট নেটিভ এর সাহায্যে আপনি হাইব্রিড অ্যাপ তৈরি করেনঃ

Apache Cordova এর মত ফ্রেমওয়ার্কগুলো দিয়ে তৈরি হাইব্রিড অ্যাপ্লিকেশনগুলো হলো হার্ডওয়্যার ফিচারের অ্যাক্সেস সহ ওয়েবভিউ অ্যাপ্লিকেশন। রিয়েক্ট নেটিভএর একটি স্ক্রিপ্টিং ভাষা স্তরের উপর তার কম্পোনেন্টগুলো নেটিভ ভাবে অপারেট করে। অ্যাপ্লিকেশনের যুক্তি(Logic) জাভাস্ক্রিপ্টে লেখা হয়।

রিয়েক্ট নেটিভ এর সীমাবদ্ধতা

অন্যান্য ফ্রেমওয়ার্কের মত রিয়েক্ট নেটিভ এর সুবিধার পাশাপাশি কিছু সীমাবদ্ধতাও আছে।

  • অ্যান্ড্রয়েড ও আইওএস অ্যাপ্লিকেশনের কিছু ফিচারে্র জন্য পৃথকভাবে কাজ করতে হয়। 
  • যদি অ্যাপ্লিকেশনে ভারী গাণিতিক(কম্পিউটিশনাল) অপারেশন থাকে তবে নেটিভ অ্যাপ্লিকেশন ডেভেলপ করার জ্ঞান থাকা প্রয়োজন।
  • থার্ড-পার্টি লাইব্রেরির উপর নির্ভরশীলতার কারণে নিরাপত্তা ভিত্তিক কিছু সমস্যা হতে পারে।
  • নেটিভ অ্যাপ এর তুলনায় কিছুটা কম কর্মদক্ষতা। কারণ ক্রস প্ল্যাটফর্ম নেটিভ প্ল্যাটফর্ম থেকে কিছুটা ধীরে চলে। তবে বেশিরভাগ সময় এটি ব্যবহারকারীর অভিজ্ঞতায় প্রভাব ফেলে না।
  • রিয়েক্ট নেটিভ অসংখ্য এপিআই(API), তৃতীয় পক্ষের লাইব্রেরি এবং নেটিভ উপাদান ব্যবহার করে যা অ্যাপটিকে ভারী করে তোলে। এই সমস্যা দূর করার জন্য নেটিভ লাইব্রেরিগুলোকে অপ্টিমাইজ ,ইমেজ কম্প্রেস এবং JSON ডেটাকে স্ট্যাটিক অবজেক্টিভ আইডিতে রুপান্তর করা হয়।
  • ব্যাক-এন্ডে জটিল প্রক্রিয়া চলাকালীন সময় অনেক ক্ষেত্রে মেমোরি খরচ হতে পারে। সেজন্য মেমোরি খরচের কারণ ও মেমোরি খরচ রানটাইম সনাক্ত করতে অ্যান্ড্রয়েড স্টুডিও বা এক্সকোডে প্রোফাইলিং সরঞ্জামগুলি ব্যবহার করতে হয়।

রিয়েক্ট নেটিভ ডেভেলপমেন্ট এর ভবিষ্যত

রিয়েক্ট নেটিভ ব্যবহারের বড় সুবিধা হলো এটি আপনাকে অব্জেক্টিভ-সি, জাভা, কোটলিন বা সুইফট  এর মতো ল্যাংগুয়েজগুলো না বুঝে একটি নেটিভ অ্যাপ্লিকেশন তৈরি করতে সহায়তা করবে। তাই আইওএস, উইন্ডোজ ফোন, ভার্চুয়াল রিয়ালিটি হেডসেট এবং হেলমেট এবং অ্যান্ড্রয়েডের মতো প্ল্যাটফর্মগুলির জন্য অ্যাপ্লিকেশনগুলি ডেভেলপ করা যেতে পারে।

রিয়েক্ট নেটিভ ফেসবুকের একটি প্রকল্প। রিয়েক্ট নেটিভ টিম বর্তমানে API সার্ফেসের এরিয়া কমিয়ে লাইব্রেরিকে আরো হালকা করে তুলছে ফলে অ্যাপ্লিকেশনের গতির উন্নতি হচ্ছে। অ্যান্ড্রয়েডে কর্মদক্ষতা বাড়ানোর জন্য Hermes নামের একটি জাভাস্ক্রিপ্ট ইঞ্জিনের কাজ চলছে। Tesla, Airbnb, Samsung, Wix এর মতো প্রযুক্তিভিত্তিক কোম্পানিগুলো রিয়েক্ট নেটিভ দিয়ে কাজ করছে।

গুগলের মতে রিয়েক্ট নেটিভ ফ্রেমওয়ার্কের জনপ্রিয়তা গত তিন বছরে খুব বেড়েছে এবং শীঘ্রই এর জনপ্রিয়তা কমে যাবার কোনো লক্ষণ নেই।

কিছু জিজ্ঞাসা

রিয়েক্ট নেটিভ মানে কি আমাদের আর নেটিভ ডেভেলপারদের দরকার নেই ?

না, নেটিভ ডেভেলপার এর প্রয়োজন ফুরোয়নি। চলমান ইন্টিগ্রেশন সেবা (Bitrise),অভ্যন্তরীণ অ্যাপ্লিকেশন বিতরণ সেবা (HockeyApp), XCode সার্টফিকেট কনফিগারেশন ইত্যাদির জন্য নেটিভ ডেভেলপারদের অভিজ্ঞতার প্রয়োজন আছে। এগুলি ছাড়াও, রিয়েক্ট নেটিভ সহজেই আইওএস এবং অ্যান্ড্রয়েডে প্রতিটি ফিচার সরবরাহ করে না। নেটিভ ডেভেলপাররা এমন একটি কাস্টম মডিউল তৈরি করে সেই ফিচারগুলি তৈরি করতে পারে যা জাভাস্ক্রিপ্টে উন্মুক্ত করে থাকে।

২০১৭ সালের React কনফারেন্স এ Airbnb এর সফটওয়্যার ইঞ্জিনিয়ার Leland Richardson বলেন,

“React Native does not mean we should use JavaScript for everything, React Native does not mean we shouldn’t use Native for anything”

সব রিয়েক্ট ডেভেলপার ই কি একজন রিয়েক্ট নেটিভ ডেভেলপার?

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

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

নিচের রিসোর্সগুলো ব্যবহার করে আপনিও হয়ে যেতে পারেন একজন রিয়েক্ট নেটিভ ডেভেলপার।

Jannatul Ferdaws Amrin
4 1 vote
Article Rating
Rate This Article
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments