شاپیفای React Native را به نفع Swift و Kotlin کنار گذاشت

شاپیفای در حال حذف کامل کد‌باز (codebase) React Native خود و بازسازی اپلیکیشن‌های iOS و Android با استفاده از Swift و Kotlin است؛ این اقدام به معنای پایان یک تجربه شش‌ساله با این فریم‌ورک چندپلتفرمی است. ابزارهای توسعه مبتنی بر هوش مصنوعی عامل اصلی این تغییر بودند که باعث کاهش زمان راه‌اندازی (start-up) در اندروید، کاهش ۱۰۹ مگابایتی حجم اپلیکیشن و کاهش حدود ده برابری کرش‌ها (crash) شدند.

چرا شاپیفای از React Native فاصله گرفت

در سال ۲۰۲۰، شاپیفای React Native را انتخاب کرد تا یک کد‌باز واحد با JavaScript بنویسد که روی هر دو پلتفرم اجرا شود. این کار باعث صرفه‌جویی در تلاش برای نگهداری دو پشته (stack) بومی (native) شد و با نیاز بازار برای عرضه سریع ویژگی‌های جدید همخوانی داشت.

امروز محاسبات تغییر کرده است. شاپیفای از «عوامل کدنویسی» (coding agents) استفاده می‌کند؛ برنامه‌های هوش مصنوعی که بخش زیادی از کارهای تکراری را انجام می‌دهند. اکنون هزینه نگهداری پروژه‌های مجزای Swift و Kotlin کمتر از مزایای عملکردی و قابلیت اطمینانی است که کد بومی (native) ارائه می‌دهد.

پاداش عملکردی

بنچمارک‌های داخلی شاپیفای بهبودهای چشمگیری را پس از مهاجرت نشان می‌دهند:

  • زمان راه‌اندازی اندروید از ۴۴۳۳ میلی‌ثانیه به ۲۲۳۳ میلی‌ثانیه کاهش یافت.
  • حجم بسته (package) اندروید ۱۰۹ مگابایت کاهش یافت.
  • فراوانی کرش‌ها تقریباً ده برابر کاهش یافت.
  • اسکرول کردن اکنون به‌طور مداوم به ۱۲۰ فریم بر ثانیه (fps) می‌رسد.

ابزارهای هوش مصنوعی که بازنویسی را ممکن کردند

این مهاجرت یک پروژه ساده‌ی «بازنویسی کد» نبود. شاپیفای دو ابزار هوش مصنوعی داخلی ساخت تا این تلاش را مدیریت‌پذیر نگه دارد و برابری ویژگی‌ها (feature parity) را تضمین کند.

Pi عوامل هوش مصنوعی را برای مستندسازی رفتار فعلی اپلیکیشن، تعیین چارچوب کارهای مورد نیاز برای هر پلتفرم و تأیید مطابقت پیاده‌سازی‌های بومی جدید با قابلیت‌های قدیمی وظیفه می‌سپارد.

Tardis به عنوان یک دستیار عیب‌یابی (debugging) عمل می‌کند و به عوامل اجازه دسترسی به لاگ‌های زنده و وضعیت اپلیکیشن را می‌دهد تا بتوانند تغییرات خود را بدون کمک انسان تأیید کنند.

هر دو ابزار یک قانون واحد را اعمال می‌کنند: «اندروید و iOS باید در تمام مدت ویژگی‌های یکسانی داشته باشند.» این بررسی مداومِ برابری، از ایجاد اختلاف (drift) که اغلب گریبان‌گیر پروژه‌های چندپلتفرمی می‌شود، جلوگیری کرد.

هزینه این کار: از دست دادن به‌روزرسانی‌های Over-the-air

بومی‌سازی (Going native) به این معناست که شاپیفای دیگر نمی‌تواند به‌روزرسانی‌ها را مستقیماً به کاربران ارسال کند. اکنون هر تغییر باید از فرآیند بررسی App Store عبور کند که باعث تأخیر در ارائه اصلاحات فوری (hotfixes) و ویژگی‌های جدید می‌شود. برای یک پلتفرم تجارت الکترونیک که برای تکرار سریع (rapid iteration) ارزش قائل است، این اصطکاک محسوس است.

نکته مقابل: React Native نمرده است

تصمیم شاپیفای بازتاب‌دهنده بافتار (context) خاص خود آن است: یک سازمان مهندسی بزرگ با عوامل هوش مصنوعی سفارشی که می‌توانند بار کارهای تکراری را به دوش بکشند. این فریم‌ورک همچنان در حال تکامل است و بسیاری از اپلیکیشن‌ها همچنان از یک کد‌باز مشترک بهره می‌برند.

آنچه باید در آینده زیر نظر داشت

  • توسعه بومی مبتنی بر هوش مصنوعی
  • اکوسیستم React Native
  • بازه‌های زمانی بررسی در App Store

نتیجه‌گیری

تغییر رویکرد شاپیفای نشان می‌دهد که هوش مصنوعی می‌تواند اقتصاد توسعه موبایل را بازنویسی کند. وقتی عوامل هوشمند کار تکراریِ تکثیر کد را بر عهده می‌گیرند، مزایای عملکردی Swift و Kotlin بومی آن‌قدر متقاعدکننده می‌شود که بر راحتیِ داشتن یک کد‌باز واحد JavaScript غلبه کند. این حرکت، حکمی علیه خودِ React Native نیست؛ بلکه یادآوری این نکته است که ابزارها می‌توانند تراز کفه ترازو را به‌شدت تغییر دهند.