عنوان:

‫معرفی MagicMapper: فورکی از AutoMapper


نویسنده: وحید نصیری
تاریخ: ۱۴۰۴/۰۱/۳۱ ۰۸:۱۹
آدرس: www.dntips.ir
MagicMapper یک فورک متن‌باز (Open-Source) از AutoMapper است که با هدف حفظ روح پروژه‌های متن‌باز و رفع برخی محدودیت‌های AutoMapper ایجاد شده است. این کتابخانه تحت مجوز MIT منتشر شده و تلاش دارد تا جایگزینی پایدار و انعطاف‌پذیر برای توسعه‌دهندگانی باشد که به دلایل مختلف، از جمله تغییرات مجوز AutoMapper یا نیاز به ویژگی‌های جدید، به دنبال گزینه‌های دیگر هستند.

دلایل ایجاد MagicMapper
  1. تغییرات مجوز AutoMapper: تغییر در مدل مجوز AutoMapper باعث نگرانی‌هایی در جامعه .NET شد. برخی توسعه‌دهندگان معتقد بودند که این تغییرات ممکن است محدودیت‌هایی برای استفاده در پروژه‌های تجاری یا متن‌باز ایجاد کند. MagicMapper با حفظ مجوز MIT، این نگرانی را برطرف می‌کند.
  2. نیاز به پشتیبانی از NativeAOT: یکی از اهداف کلیدی MagicMapper، بهبود پشتیبانی از NativeAOT (Ahead-of-Time Compilation) است. AutoMapper به دلیل استفاده گسترده از انعکاس، در سناریوهای NativeAOT عملکرد مطلوبی ندارد. MagicMapper با آزمایش‌هایی در زمینه تولیدکننده‌های منبع (Source Generators) قصد دارد این مشکل را حل کند.
  3. روح متن‌باز و همکاری جمعی: MagicMapper بر حفظ روح همکاری در جامعه متن‌باز تأکید دارد و امکان مشارکت آسان‌تر توسعه‌دهندگان و انتقال مالکیت پروژه در صورت نیاز را فراهم می‌کند.

ویژگی‌های کلیدی MagicMapper
  • تطابق با AutoMapper: MagicMapper از نظر API و نحوه استفاده، کاملاً با AutoMapper سازگار است. توسعه‌دهندگان می‌توانند بدون تغییر قابل‌توجه در کدهای موجود، از MagicMapper استفاده کنند.
  • تمرکز بر نگهداری ساده: این فورک سیاست‌هایی مانند عدم تغییر تست‌های موجود و پذیرش مشارکت‌های جامعه را اتخاذ کرده تا نگهداری پروژه آسان‌تر شود.
  • آزمایش با Source Generators: MagicMapper در حال بررسی استفاده از تولیدکننده‌های منبع برای بهبود عملکرد و پشتیبانی از سناریوهای مدرن مانند NativeAOT است.

توصیه‌هایی برای توسعه‌دهندگان .NET
برای توسعه‌دهندگانی که در حال ارزیابی MagicMapper هستند، موارد زیر توصیه می‌شود:
  • ارزیابی نیازهای پروژه: اگر پروژه شما به NativeAOT یا مجوز کاملاً متن‌باز نیاز دارد، MagicMapper گزینه‌ای مناسب است. در غیر این صورت، بررسی ابزارهایی مانند Mapperly نیز مفید خواهد بود.
  • آزمایش قبل از مهاجرت: با توجه به جدید بودن MagicMapper، پیش از مهاجرت کامل، تست‌های جامعی در پروژه خود انجام دهید.


مشاهده مطلب اصلی