آپ کو آئیکن لائبریریز کیوں تبدیل کرنی چاہئیں

@expo/vector-icons سے آفیشل @react-native-vector-icons پیکیجز پر منتقل ہونے سے آپ کے بنڈل کا سائز 4MB یا اس سے زیادہ کم ہو جاتا ہے۔ اب Expo اس تبدیلی کی سفارش کرتا ہے۔

پرانا @expo/vector-icons ایک ریپر (wrapper) تھا۔ اس نے آئیکنز کو Expo Go اور over-the-air اپ ڈیٹس کے ساتھ کام کرنے میں مدد دی۔ تاہم، اس ریپر نے پیچیدگیوں میں اضافہ کیا۔ اسے کام کرنے کے لیے Expo کو Babel transforms استعمال کرنے پڑتے تھے۔ اس سے دیکھ بھال (maintenance) کا اضافی کام پیدا ہوا۔

نئے پیکیجز مختلف طریقے سے کام کرتے ہیں۔ یہ براہ راست expo-font کے ساتھ انٹیگریٹ ہوتے ہیں۔ یہ native font loading APIs استعمال کرتے ہیں۔ اس کا مطلب ہے کہ یہ Expo Go، development builds، اور production apps میں کام کرتے ہیں۔

تبدیلی کے فوائد:

مائیگریٹ کیسے کریں:

  1. codemod چلائیں: اپنے پروجیکٹ روٹ میں npx @react-native-vector-icons/codemod استعمال کریں۔
  2. تبدیلی کی تصدیق کریں: پرانے پیکیجز تلاش کرنے کے لیے npx expo doctor چلائیں۔
  3. expo-font چیک کریں: یقینی بنائیں کہ یہ انسٹال اور کنفیگر ہے۔ node_modules سے فونٹ کے راستے (paths) براہ راست config plugin میں شامل نہ کریں۔

ان مسائل سے ہوشیار رہیں:

Expo مستقبل کے ریلیز میں @expo/vector-icons کو ختم (deprecate) کر دے گا۔ ابھی یہ تبدیلی کرنے سے آپ کا پروجیکٹ سادہ ہو جائے گا اور کارکردگی (performance) میں بہتری آئے گی۔

ماخذ: https://dev.to/expo/why-you-should-drop-expovector-icons-for-react-native-vector-icons-3m1n