تصور کنید توسعهدهندهای هستید که باید بین دو راه سخت یکی را انتخاب کند: یا یک کد بنویسد که در همهی پلتفرمها «متوسط» کار کند، یا دو کد مجزا بنویسد تا هر اپلیکیشن «عالی» باشد. این همان تقابل سنتی و بیرحمانهی توسعهی موبایل بود. اما Shopify بهتازگی ثابت کرد که عاملهای هوش مصنوعی (AI Agents) این موازنه و این انتخاب دشوار را بهکلی از بین بردهاند.
به نقل از گزارش مهندسی مفصلی که در ۱۰ سپتامبر ۲۰۲۶ منتشر شد، Shopify فاش کرد که در حال انتقال کل زیرساخت موبایل خود به زبانهای نیتیو Swift و Kotlin است. این تصمیم، چرخش ۱۸۰ درجهای نسبت به استراتژی سال ۲۰۲۰ است؛ زمانی که شرکت تصمیم گرفت بهطور کامل روی React Native شرطبندی کند. این شرطبندی برای سالها موفقیتآمیز بود، اما اکنون با تکامل مدلهای کدنویسی، قواعد بازی تغییر کرده است.
شرطبندی سال ۲۰۲۰
برای اکثر کسبوکارها، وعدهی «یکبار بنویس، همهجا اجرا کن» در چارچوبهای چندپلتفرمی (Cross-platform)، تنها راهی بود که میتوانستند بدون دو برابر کردن بودجهی مهندسی، برابری ویژگیها (Feature Parity) را حفظ کنند. Shopify برای ۶ سال از این مسیر پیروی کرد. در سال ۲۰۲۰، این شرکت به سه دلیل مشخص به React Native مهاجرت کرد:
- توقف ساخت تکراری ویژگیهای یکسان برای دو پلتفرم.
- اجازه دادن به توسعهدهندگان برای کار روی کل استک، فارغ از پیشزمینهی موبایلی آنها.
- صرف زمان کمتر برای دنبال کردن برابری ویژگیها و صرف زمان بیشتر برای عرضه ارزش به کاربر.
React Native بهطور مستمر این مزایا را ارائه داد. با این حال، این موفقیت هزینههایی داشت. Shopify متوجه شد که مقدار قابلتوجهی از زمان و منابع خود را صرف بهینهسازی عملکرد، بهبود بخشهای بنیادین چارچوب و بهروزرسانی وابستگیهای خارجی و آپدیتهای خودِ فریمورک میکند. در آن زمان، اینها تبادلات (Trade-offs) قابلقبولی بودند، زیرا مزایا بسیار بیشتر از سرمایهگذاریهای لازم بود.
چرخش به سمت هوش مصنوعی
Shopify از سال ۲۰۲۱ — یعنی یک سال پیش از عرضه ChatGPT — از مدلهای زبانی بزرگ (LLM) برای ساخت نرمافزار استفاده میکرد. در ابتدا، این مدلها برای کارهای ابتدایی به کار میرفتند: پیادهسازی ویژگیهای ساده، بررسی باگها و بازبینی کد (Code Review). هرچه مدلها پیشرفتهتر شدند، پیچیدگی کارهایی که Shopify به آنها میسپرد نیز افزایش یافت.
تا اواخر سال ۲۰۲۵، نقش LLMها تغییر کرد. آنها دیگر فقط ابزاری برای سریعتر نوشتن کد نبودند، بلکه باعث شدند تیم مهندسی این سوال را مطرح کند که آیا ساخت نرمافزار برای دو پلتفرم، واقعاً به معنای انجام «دو برابر کار» است یا خیر. در ژانویه ۲۰۲۵، Shopify اعلام کرده بود که آیندهی React Native روشن است، اما تا اواخر همان سال، فرضیات اصلی تغییر کرد. شرکت استک موبایل خود را بر اساس «اصول اولیه» (First Principles) بازنگری کرد و دریافت که ساخت یک ویژگی در Swift و Kotlin دیگر هزینهای مشابه سال ۲۰۲۰ ندارد. این رویکرد در تضاد با استراتژیهای بهینهسازی در چارچوبهای مدرن است، مشابه آنچه در استراتژی FERASET برای کاهش هزینه استنتاج با استفاده از expo-ai-kit مشاهده شد تا بهرهوری در محیطهای چندپلتفرمی افزایش یابد.
برای آزمایش این فرضیه، Shopify اجزای اصلی اپلیکیشن را با استفاده از عاملهای هوش مصنوعی پروتوتایپ کرد. نتایج نشان داد که این عاملها میتوانند:
- یک ویژگی را در اندروید با استفاده از نسخهی iOS به عنوان مرجع مستقیم پیاده کنند و برعکس.
- به توسعهدهندگان کمک کنند تا بهسرعت یاد بگیرند و در پلتفرمی که تخصص اصلیشان نیست، بهطور موثر مشارکت کنند.
- هزینهی حفظ برابری ویژگیها را از طریق مشخصات (Specifications)، تستها و نقاط بازرسی بازبینی مشترک بهشدت کاهش دهند.
در حالی که توسعهی نیتیو همچنان نیازمند نگهداری دو پلتفرم است، اما اکنون عاملها بخش زیادی از پیادهسازی، ترجمه، تست و بازبینی را بر عهده میگیرند، بهطوری که «کار دوبرابر» دیگر عامل تعیینکننده نیست. با بازگشت به حالت نیتیو، Shopify نزدیکتر به قابلیتهای پلتفرم و ابزارهای رسمی (First-party) میماند و لایههای چارچوب و وابستگیهای واسط بین کد و پلتفرم را حذف میکند.
بازسازی ۱۲ هفتهای
Shopify چندین اپلیکیشن بزرگ را مدیریت میکند، از جمله اپلیکیشن Shopify، Shop، Point of Sale و Inbox که میلیونها فروشنده و خریدار روزانه به آنها متکی هستند. هنگام برنامهریزی برای مهاجرت، تیم بین دو رویکرد «Brownfield» (مهاجرت تدریجی) و «Greenfield» (بازسازی از صفر) بحث کرد.
در گذشته، Shopify از مهاجرتهای Brownfield استفاده میکرد زیرا بازنویسیها سالها طول میکشید و تیم را مجبور میکرد عرضه ویژگیهای جدید را متوقف کند. اما این بار، رویکرد Greenfield برنده شد زیرا:
- مدلهای زبانی در ساخت ویژگیها در Swift و Kotlin با استفاده از نسخههای React Native به عنوان مرجع، بسیار ماهر هستند.
- یک صفحه سفید و پاک برای بازسازی بدون محدودیتهای قبلی فراهم میکند.
- پروتوتایپها ثابت کردند که بازسازی با کمک عاملهای کدنویسی، بهطور قابلتوجهی سریعتر از روشهای بدون AI است.
اپلیکیشن Shop — که بهطور منظم در دست رتبههای برتر دستهی خرید است — اولین اپلیکیشنی بود که مهاجرت کرد. با کمک هوش مصنوعی، تیم توانست تنها در ۱۲ هفته از یک اثبات مفهوم (PoC) به یک اپلیکیشن نیتیو کامل در استورها برسد.
اکنون شرکت این فرآیند را برای بزرگترین اپلیکیشن خود، یعنی اپلیکیشن Shopify، به کار میگیرد. این یک عملیات عظیم است که بیش از ۳۰۰ صفحه، ویجتهای صفحه اصلی و صفحه قفل، یک اپلیکیشن اپلواچ با Complicationها و Siri Shortcuts را شامل میشود. این مهاجرت در حال انجام است و انتظار میرود در اواخر سال ۲۰۲۶ عرضه شود و سایر اپلیکیشنها بهزودی پس از آن دنبال کنند.
حل مشکل «Slop» با سیستم Helix
Shopify هشدار داد که صرفاً اشاره کردن یک LLM به کد React Native برای تبدیل یکباره (One-shot) به نسخه نیتیو، جواب نمیدهد. حتی با وجود مشخصات دقیق و فایلهای وظیفه، این رویکرد مقدار زیادی کد غیرقابلنگهداری — یا همان «Slop» — تولید میکند که نمیتوان آن را عرضه کرد.
برای حل این مشکل، آنها سیستمی به نام Helix توسعه دادند. Helix انتظار ندارد اولین خروجی درست باشد؛ در عوض، حلقهای ایجاد میکند که در آن یک تلاش ناقص نمیتواند جلو برود تا زمانی که به یک نتیجه با کیفیت بالا تبدیل شود.
نحوه عملکرد Helix
- تحلیل: توسعهدهنده یک صفحه را به Helix معرفی میکند. Helix کد React Native را میخواند و توالی «نقاط بازرسی» (Checkpoints) — یعنی تکههای کوچک و مرتب شده از کار — را پیشنهاد میدهد که میتوان آنها را در چند دقیقه بازبینی کرد.
- تأیید: هر نقطه بازرسی باید رفتار خود را با تستها ثابت کند و در یک بازبینی بصری با اپلیکیشن در حال اجرا مطابقت داشته باشد.
- نظارت انسانی: کد باید از فیلتر دو بازبین کد متخاصم (Adversarial Reviewers) عبور کند و تایید یک انسان را دریافت کند تا Commit شود.
- یادگیری: بازخورد هر بازبینی به خاطر سپرده میشود و اجازه میدهد با پیشرفت مهاجرت، این حلقه خودکارتر شود.
معماری برای عاملها
یکی از گلوگاههای اصلی، سرعت شبیهسازهای موبایل بود. عاملها میتوانستند کد را در چند ثانیه بنویسند، اما تست آن از طریق درخت دسترسی (Accessibility Tree) یا اسکرینشاتها دقایق طول میکشید. این امر تکرار را کند و دستی میکرد، زیرا عاملها ساعتها وقت خود را صرف «پرستاری» شبیهسازهایی میکردند که نمیتوانستند بهطور قابلاعتمادی بیلد یا تست شوند.
برای رفع این مشکل، Shopify معماری اپلیکیشن خود را بازطراحی کرد تا هم برای انسانها و هم برای عاملها کار کند. اصل اساسی این است که منطق تجاری (Business Logic) باید بهطور کامل از رابط کاربری (UI) جدا شود تا بتواند بهصورت «بدون سر» (Headless) روی دسکتاپ اجرا شود.
رابط خط فرمان (Agent CLI)
Shopify یک CLI سفارشی ساخت که به عاملها اجازه میدهد در میلیثانیه به جای دقیقه با منطق اپلیکیشن تعامل کنند. این CLI عاملها را قادر میسازد تا:
- وضعیت اپلیکیشن را بدون نیاز به UI بازرسی کنند.
- بین بخشهای مختلف اپلیکیشن جابهجا شوند.
- عملیات را انجام داده و نتایج را بهطور خودکار برای ساعتهای متوالی تأیید کنند.
زمانی که تعامل با شبیهساز واقعاً لازم است، CLI از طریق یک حالت ریموت متصل شده و UI را با دستورات هدایت میکند. این کار نیاز به بازرسی لایه یا درخت دسترسی را دور میزند و عملکرد فوقسریع و تستهای E2E را ممکن میسازد.
تاثیر بر اکوسیستم و متنباز
Shopify متعهد است که انتقالی پاک برای کتابخانههای متنبازی که به جامعه React Native ارائه کرده است، ایجاد کند.
انتقال کتابخانهها
- React Native Skia: Shopify حمایت مالی از این پروژه را تا پایان سال ۲۰۲۶ ادامه میدهد. ویلیام کندیلون (William Candillon) پس از آن به کار روی آن ادامه خواهد داد، مخزن را فورک کرده و با نام جدید منتشر میکند. مخزن اصلی آرشیو خواهد شد.
- FlashList: این کتابخانه حدود ۲ میلیون دانلود در هفته دارد و پیشفرض برای لیستهای با عملکرد بالاست. Shopify به رفع مشکلات بحرانی سازگاری ادامه میدهد در حالی که درباره مدیریت بلندمدت آن با شرکتهای دیگر بحث میکند.
- Restyle: به دلیل تعداد کاربران کمتر، این مخزن آرشیو خواهد شد. Shopify آن را تا پایان ۲۰۲۶ فعال نگه میدارد و سپس پشتیبانی را متوقف میکند، هرچند هر کسی میتواند آن را فورک کند.
مسیر پیش رو
این تغییر سیگنالی از یک روند گستردهتر است که در آن «مالیات انتزاع» (Abstraction Tax) چارچوبهای چندپلتفرمی، جای خود را به «کارایی ترجمه» (Translation Efficiency) هوش مصنوعی میدهد. با بازگشت به حالت نیتیو، Shopify دسترسی مستقیم به ابزارهای رسمی و قابلیتهای پلتفرم را بدون لایههای واسط به دست میآورد.
Shopify استانداردها را برای این بازسازیها پایین نیاورده است؛ هر اپلیکیشن باید استانداردهای فعلی عملکرد، پایداری، دسترسیپذیری و کیفیت محصول را برآورده کند یا از آنها فراتر رود. موفقیت با سرعت محصول، کیفیت اپلیکیشن و مقدار کاری که عاملها میتوانند بهطور خودکار به پایان برسانند، اندازهگیری خواهد شد.
برای یک توسعهدهنده معمولی، این موضوع نشان میدهد که ارزش دانستن تنها یک چارچوب چندپلتفرمی در حال کاهش است. مزیت رقابتی جدید در ساخت معماریهای «عامل-پذیر» (Agent-addressable) نهفته است؛ سیستمهایی که بهگونهای طراحی شدهاند تا توسط عاملهای AI در مقیاس بزرگ خوانده، تست و اصلاح شوند.
منتظر بررسیهای عمیق آیندهی Shopify درباره سیستم Helix و معماری عامل-پذیر آنها باشید تا ببینید آیا این نقشه راه میتواند برای سایر مهاجرتهای سیستمهای قدیمی (Legacy) نیز به کار رود یا خیر.
گام بعدی شما
- اگر مدیر محصول هستید، بررسی کنید آیا هزینهی نگهداری چارچوبهای Cross-platform شما بیشتر از هزینهی بازنویسی با کمک AI شده است یا خیر.
- توسعهدهندگان باید روی جداسازی منطق تجاری از UI (معماری Headless) تمرکز کنند تا سیستمهایشان برای عاملهای AI قابلفهم باشد.
- ابزارهای اتوماسیون تست را در اولویت قرار دهید، زیرا در دنیای AI، سرعت تولید کد از سرعت تست پیشی گرفته است.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو