কেন আপনার আইকন লাইব্রেরি পরিবর্তন করা উচিত

@expo/vector-icons থেকে অফিসিয়াল @react-native-vector-icons প্যাকেজে পরিবর্তন করলে আপনার বান্ডেল সাইজ ৪ মেগাবাইট বা তার বেশি কমে যাবে। Expo এখন এই পরিবর্তনের পরামর্শ দিচ্ছে।

পুরনো @expo/vector-icons ছিল একটি র‍্যাপার (wrapper)। এটি আইকনগুলোকে Expo Go এবং over-the-air আপডেটের সাথে কাজ করতে সাহায্য করত। তবে, এই র‍্যাপারটি জটিলতা বাড়িয়ে দিয়েছিল। এটি কাজ করানোর জন্য Expo-কে Babel transforms ব্যবহার করতে হতো, যা অতিরিক্ত রক্ষণাবেক্ষণের (maintenance) কাজ তৈরি করত।

নতুন প্যাকেজগুলো ভিন্নভাবে কাজ করে। এগুলো সরাসরি expo-font-এর সাথে ইন্টিগ্রেট হয়। এগুলো নেটিভ ফন্ট লোডিং API ব্যবহার করে। এর মানে হলো এগুলো Expo Go, development builds এবং production অ্যাপগুলোতে কাজ করে।

পরিবর্তনের সুবিধাসমূহ:

কিভাবে মাইগ্রেট করবেন:

  1. কোডমড (codemod) চালান: আপনার প্রজেক্ট রুট-এ npx @react-native-vector-icons/codemod ব্যবহার করুন।
  2. পরিবর্তন যাচাই করুন: পুরনো প্যাকেজগুলো খুঁজে পেতে npx expo doctor চালান।
  3. expo-font চেক করুন: এটি ইনস্টল করা এবং কনফিগার করা আছে কিনা নিশ্চিত করুন। node_modules থেকে সরাসরি ফন্ট পাথগুলো কনফিগ প্লাগিনে (config plugin) যোগ করবেন না।

এই সমস্যাগুলোর ব্যাপারে সতর্ক থাকুন:

Expo ভবিষ্যতে একটি রিলিজে @expo/vector-icons-কে ডিপ্রেকেট (deprecate) করে দেবে। এখনই এই পরিবর্তনটি করলে আপনার প্রজেক্ট সহজ হবে এবং পারফরম্যান্স উন্নত হবে।

উৎস: https://dev.to/expo/why-you-should-drop-expovector-icons-for-react-native-vector-icons-3m1n