প্রতিক্রিয়া নেটিভ 0.70-এ হার্মিস ইঞ্জিন থেকে কী আশা করা যায়

প্রতিক্রিয়া নেটিভ 0.70-এ হার্মিস ইঞ্জিন থেকে কী আশা করা যায়
আপনার মত পাঠকরা MUO সমর্থন করতে সাহায্য করে। আপনি যখন আমাদের সাইটে লিঙ্ক ব্যবহার করে একটি ক্রয় করেন, আমরা একটি অনুমোদিত কমিশন উপার্জন করতে পারি।

রিঅ্যাক্ট নেটিভ 0.70 আউট হয়ে গেছে, এবং হার্মিস এই আপডেটের সাথে নতুন ডিফল্ট জাভাস্ক্রিপ্ট ইঞ্জিন শিপিং। এখানে হার্মিস থেকে কি আশা করা যায় এবং কিছু বৈশিষ্ট্য যা আপনার প্রতিক্রিয়া নেটিভ অ্যাপ্লিকেশনের কার্যকারিতাকে প্রভাবিত করবে।





হার্মিস কি?

হার্মিস হল একটি ওপেন-সোর্স জাভাস্ক্রিপ্ট ইঞ্জিন যা iOS এবং অ্যান্ড্রয়েড অ্যাপ্লিকেশান লঞ্চের সময় কার্যকরী বাইটকোডে জাভাস্ক্রিপ্ট কোড প্রাক-কম্পাইল করে এবং অ্যাপ্লিকেশন মেমরির ব্যবহার কমিয়ে কর্মক্ষমতাকে অপ্টিমাইজ করে।





দিনের মেকইউজের ভিডিও

হার্মিসকে সমর্থন করার জন্য পুরানো প্রতিক্রিয়া নেটিভ সংস্করণ আপডেট করা হচ্ছে

রিঅ্যাক্ট নেটিভ অ্যাপ্লিকেশানগুলি 0.70 এ চলমান ডিফল্টরূপে হার্মিস সক্রিয় থাকবে৷ পুরানো রিঅ্যাক্ট নেটিভ অ্যাপ্লিকেশনের জন্য, একটি হার্মিস প্রতিটি রিঅ্যাক্ট নেটিভ সংস্করণ সহ Android বিল্ডের 0.60.4 সংস্করণ এবং iOS এর জন্য 0.64.0 সংস্করণ সহ জাহাজ তৈরি করে৷ ম্যাচিং সংস্করণগুলি আপনার প্রতিক্রিয়া নেটিভ অ্যাপ্লিকেশনে নির্ভরতা অমিলের ঝুঁকি দূর করে।





React Native-এর এই পুরানো সংস্করণগুলিতে হার্মিসকে সক্ষম করতে, আপনাকে আপনার Android এবং iOS উভয় অ্যাপ্লিকেশনে কিছু কনফিগারেশন যোগ করতে হবে।

অ্যান্ড্রয়েডে, আপনার সম্পাদনা করুন android/app/build.gradle ফাইল:



project.ext.react = [ 
entryFile: "index.js",
enableHermes: true // clean and rebuild if changing
]

iOS-এ, আপনি আপনার নিম্নলিখিত পরিবর্তনগুলি করেন৷ আইওএস/পডফাইল :

use_react_native!( 
:path => config[:reactNativePath],
:hermes_enabled => true
)

iOS এর জন্য সেটিংস কনফিগার করার পরে আপনাকে হার্মিস পড ইনস্টল করতে হবে।





পড ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:

cd ios && pod install 

এক্সপো সহ হার্মিস সক্ষম করা

আপনি এক্সপো ব্যবহার করে তৈরি বা চালানোর জন্য রিঅ্যাক্ট নেটিভ অ্যাপ্লিকেশনের জন্য হার্মিস ইঞ্জিন ব্যবহার করতে পারেন। এক্সপো লাইব্রেরি হার্মিসকে অ্যান্ড্রয়েডের SDK সংস্করণ 42 থেকে এবং iOS-এর SDK সংস্করণ 43 থেকে বর্তমান সংস্করণ 0.70 পর্যন্ত সমর্থন করে৷ এটা মনে রাখা গুরুত্বপূর্ণ যে এক্সপো অ্যাপ্লিকেশন সার্ভিসেস বিল্ড ব্যবহার করে নির্মিত না হওয়া পর্যন্ত স্বতন্ত্র অ্যাপ্লিকেশনগুলি হার্মিস চালাতে পারে না।





ভার্চুয়াল মেশিন কি জন্য ব্যবহার করা হয়

একটি প্রতিক্রিয়া নেটিভ অ্যাপ্লিকেশনে হার্মিস সক্ষম করতে, আপনার সম্পাদনা করুন app.json ফাইল:

{ 
"expo": {
"jsEngine": "hermes"
}
}

এখন আপনার এক্সপো অ্যাপ্লিকেশন পরিষেবাদির সাথে তৈরি অ্যাপ্লিকেশানের জাভাস্ক্রিপ্ট ইঞ্জিন হিসাবে হার্মিস সক্রিয় থাকবে৷

প্রতিক্রিয়া নেটিভ অ্যাপের জন্য হার্মিস পারফরম্যান্স অপ্টিমাইজেশান

বেশিরভাগ জাভাস্ক্রিপ্ট ইঞ্জিন JIT (জাস্ট ইন টাইম) কম্পাইলেশন সিস্টেম ব্যবহার করে সমস্ত জাভাস্ক্রিপ্ট সোর্স কোড পার্স করে। JIT সিস্টেমটি কার্যকর করার গতি কমিয়ে দেয় কারণ আপনার ডিভাইসটিকে অবশ্যই সম্পূর্ণ সংকলন প্রক্রিয়া সম্পূর্ণ হওয়ার জন্য অপেক্ষা করতে হবে। হার্মিস একটি আগাম-অব-টাইম কম্পাইলেশন (AOT) পদ্ধতি ব্যবহার করে, যা সময় তৈরি করতে বেশিরভাগ ভারী-শুল্ক জাভাস্ক্রিপ্ট ইঞ্জিনের কাজ স্থানান্তর করে।

হার্মিস প্রধানত প্রয়োগের কার্যক্ষমতার তিনটি মেট্রিক্সকে প্রভাবিত করে: অ্যাপ্লিকেশন টিটিআই (টাইম টু ইন্টারঅ্যাকটিভ), বাইনারি আকার এবং মেমরি ব্যবহার।

ইন্টারেক্টিভ করার সময়

TTI হল একটি অ্যাপ লোড করতে এবং স্ক্রলিং বা টাইপ করার মতো ব্যবহারকারীর ইন্টারঅ্যাকশন সমর্থন করতে সময় লাগে। হার্মিস অন্যান্য জাভাস্ক্রিপ্ট ইঞ্জিনের তুলনায় রিঅ্যাক্ট নেটিভ অ্যাপ্লিকেশনের জন্য গড় TTI উন্নত করে।

TTI তে এই হ্রাস কারণ হার্মিস একটি JIT কম্পাইলার চালায় না।

বাইনারি সাইজ

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

মেমরি ব্যবহার

অ্যাপ্লিকেশনে অপ্টিমাইজ করার জন্য মেমরি ব্যবহার আরেকটি গুরুত্বপূর্ণ মেট্রিক। একটি অ্যাপ্লিকেশনের ব্যবহারকারীর অভিজ্ঞতা নেতিবাচকভাবে প্রভাবিত হবে যদি এটি খুব বেশি মেমরি ব্যবহার করে। হার্মিস একটি আবর্জনা সংগ্রাহক সিস্টেম প্রয়োগ করে যা চাহিদা অনুযায়ী মেমরি ব্যবহার নিয়ন্ত্রণ করে, একটি অ্যাপ্লিকেশন চালানোর সময় শুধুমাত্র প্রয়োজনীয় মেমরির স্থান ব্যবহার করে তা নিশ্চিত করে।

হার্মিস এবং ক্রোম ডেভটুলগুলির সাথে ডিবাগিং প্রতিক্রিয়া নেটিভ৷

এক্সপো ব্যবহার করে এমুলেটর, সিমুলেটর বা শারীরিক ডিভাইসে চলমান রিঅ্যাক্ট নেটিভ অ্যাপ্লিকেশনগুলি ডিবাগ করার জন্য হার্মিস একটি নতুন অভিজ্ঞতা নিয়ে আসে। Hermes Chrome DevTools-এর ইন্সপেক্টর প্রোটোকল ব্যবহার করে রিঅ্যাক্ট নেটিভ অ্যাপ্লিকেশানগুলি ডিবাগিং সমর্থন করে৷ আপনি ঐতিহ্যগত সঙ্গে এটি বিভ্রান্ত করা উচিত নয় ব্রাউজারের কনসোল ব্যবহার করে জাভাস্ক্রিপ্ট ডিবাগিং .

হার্মিস অ্যাপ্লিকেশন ডিবাগ করতে Chrome কনফিগার করতে, এই পদক্ষেপগুলি অনুসরণ করুন৷

  1. নেভিগেট করুন chrome://inspect আপনার ক্রোম ব্রাউজারের ভিতরে।
  2. ক্লিক করুন সজ্জিত করা বোতাম
  3. অন-স্ক্রীন মডেলের ভিতরে, আপনার রিঅ্যাক্ট নেটিভ অ্যাপ্লিকেশন চালানোর মেট্রো বান্ডলারের জন্য সার্ভারের ঠিকানা ইনপুট করুন এবং ক্লিক করুন সম্পন্ন .

আপনি এখন হার্মিস টার্গেট পরিদর্শন লিঙ্ক ব্যবহার করে আপনার প্রতিক্রিয়া নেটিভ অ্যাপ্লিকেশন ডিবাগ করতে পারেন।

কেন হার্মিস শুধুমাত্র প্রতিক্রিয়া নেটিভ জন্য অপ্টিমাইজ করা হয়

রিঅ্যাক্ট নেটিভ জাভাস্ক্রিপ্ট ইঞ্জিন হিসাবে হার্মিসের সর্বোত্তম কার্যক্ষমতা আংশিকভাবে এটির রানটাইম পরিবেশে রয়েছে। প্রতিক্রিয়া নেটিভ-এ, আপনি অ্যাপ্লিকেশন পরিবেশের মধ্যে সমস্ত জাভাস্ক্রিপ্ট কোড বান্ডিল করেন। এই সিস্টেম শিপিং বাইটকোড দক্ষ করে তোলে।

আমার জীবন কে জানে কে আমাকে খুঁজছে

বিবেচনা করার আরেকটি বিষয় হল জাভাস্ক্রিপ্ট সংকলনের সময় করা কাজের পরিমাণ। হার্মিস আক্রমনাত্মক বাইটকোড অপ্টিমাইজেশান এড়ানোর সময় মোবাইল অ্যাপ্লিকেশনগুলির প্রত্যাশিত ঘন ঘন ব্যবহারকারীর মিথস্ক্রিয়া পরিচালনা করে৷ একটি JIT কম্পাইলার জাভাস্ক্রিপ্ট ইঞ্জিন এইভাবে কাজ সম্পাদন করবে না।