Title: Shopify เลิกใช้ React Native แล้วเปลี่ยนไปใช้ Swift และ Kotlin แทน

Shopify กำลังถอดโค้ดชุดเดิมที่เป็น React Native ออก และสร้างแอป iOS และ Android ขึ้นมาใหม่ด้วย Swift และ Kotlin ซึ่งเป็นการสิ้นสุดการทดลองใช้เฟรมเวิร์กแบบ cross-platform ที่ยาวนานถึง 6 ปี โดยมีเครื่องมือพัฒนาที่ขับเคลื่อนด้วย AI เป็นตัวผลักดันการเปลี่ยนแปลงครั้งนี้ ซึ่งช่วยลดเวลาในการเริ่มทำงาน (start-up time) ของ Android, ลดขนาดแอปลงถึง 109 MB และลดอัตราการแอปค้าง (crash) ลงได้ประมาณ 10 เท่า

ทำไม Shopify ถึงเปลี่ยนจาก React Native

ในปี 2020 Shopify เลือกใช้ React Native เพื่อเขียนโค้ด JavaScript เพียงชุดเดียวที่สามารถรันได้ทั้งสองแพลตฟอร์ม ซึ่งช่วยประหยัดแรงในการดูแลรักษา native stack สองชุด และตอบโจทย์ตลาดที่ต้องการการเปิดตัวฟีเจอร์ใหม่อย่างรวดเร็ว

ในปัจจุบัน สมการนี้ได้เปลี่ยนไปแล้ว Shopify ใช้ “coding agents” ซึ่งเป็นโปรแกรม AI ที่ช่วยจัดการงานที่ซ้ำซ้อนส่วนใหญ่ การดูแลโปรเจกต์ Swift และ Kotlin แยกกันในตอนนี้มีต้นทุนที่ต่ำกว่าเมื่อเทียบกับประสิทธิภาพและความน่าเชื่อถือที่โค้ดแบบ native มอบให้

ผลตอบแทนด้านประสิทธิภาพ

ผลการทดสอบประสิทธิภาพภายในของ Shopify แสดงให้เห็นถึงการปรับปรุงที่ก้าวกระโดดหลังจากการย้ายระบบ:

  • เวลาในการเริ่มทำงานของ Android ลดลงจาก 4,433 ms เหลือ 2,233 ms
  • ขนาดแพ็กเกจของ Android ลดลง 109 MB
  • ความถี่ในการแอปค้างลดลงประมาณ 10 เท่า
  • การเลื่อนหน้าจอ (scrolling) ทำได้ที่ 120 fps อย่างสม่ำเสมอ

เครื่องมือ AI ที่ทำให้การเขียนโค้ดใหม่เป็นไปได้

การย้ายระบบครั้งนี้ไม่ใช่แค่โปรเจกต์ “เขียนโค้ดใหม่” แบบธรรมดา Shopify ได้สร้างเครื่องมือ AI ภายในขึ้นมาสองตัว เพื่อให้การทำงานอยู่ในขอบเขตที่จัดการได้และเพื่อให้มั่นใจว่าฟีเจอร์ต่างๆ จะมีความเท่าเทียมกัน (feature parity)

Pi ทำหน้าที่มอบหมาย AI agents ให้บันทึกพฤติกรรมปัจจุบันของแอป, วางโครงร่างงานที่จำเป็นสำหรับแต่ละแพลตฟอร์ม และตรวจสอบว่าการเขียนโค้ดแบบ native ใหม่นั้นทำงานได้ตรงตามฟังก์ชันเดิม

Tardis ทำหน้าที่เป็นผู้ช่วยในการดีบั๊ก (debugging assistant) โดยให้ agents เข้าถึง live logs และสถานะของแอป (app state) เพื่อให้พวกเขาสามารถตรวจสอบความถูกต้องของการเปลี่ยนแปลงได้ด้วยตัวเองโดยไม่ต้องพึ่งพามนุษย์

เครื่องมือทั้งสองใช้กฎข้อเดียวคือ: “Android และ iOS ต้องมีฟีเจอร์ที่เหมือนกันตลอดเวลา” การตรวจสอบความเท่าเทียมกันอย่างต่อเนื่องนี้ช่วยป้องกันปัญหาความแตกต่างของฟีเจอร์ (drift) ที่มักจะเกิดขึ้นในโปรเจกต์แบบ multi-platform

ข้อแลกเปลี่ยน: การสูญเสียการอัปเดตแบบ over-the-air

การเปลี่ยนเป็น native หมายความว่า Shopify ไม่สามารถส่งอัปเดตไปยังผู้ใช้ได้โดยตรงอีกต่อไป ทุกการเปลี่ยนแปลงจะต้องผ่านกระบวนการตรวจสอบของ App Store ซึ่งทำให้การแก้ไขปัญหาด่วน (hotfixes) และการเพิ่มฟีเจอร์ใหม่ล่าช้าลง สำหรับแพลตฟอร์มอีคอมเมิร์ซที่ให้ความสำคัญกับการพัฒนาอย่างรวดเร็ว (rapid iteration) อุปสรรคนี้ถือเป็นเรื่องที่สังเกตเห็นได้ชัด

มุมมองต่าง: React Native ยังไม่ตาย

การตัดสินใจของ Shopify สะท้อนถึงบริบทเฉพาะของบริษัทเอง นั่นคือการเป็นองค์กรวิศวกรรมขนาดใหญ่ที่มี AI agents ที่ปรับแต่งมาโดยเฉพาะ ซึ่งสามารถแบกรับภาระงานที่ซ้ำซ้อนได้ อย่างไรก็ตาม เฟรมเวิร์กนี้ยังคงมีการพัฒนาอย่างต่อเนื่อง และแอปจำนวนมากยังคงได้รับประโยชน์จากการใช้โค้ดชุดเดียวกัน

สิ่งที่ต้องจับตามองต่อไป

  • การพัฒนาแบบ native ที่ขับเคลื่อนด้วย AI
  • ระบบนิเวศของ React Native
  • ระยะเวลาในการตรวจสอบของ App Store

บทสรุป

การเปลี่ยนแปลงของ Shopify แสดงให้เห็นว่า AI สามารถเปลี่ยนโฉมเศรษฐศาสตร์ของการพัฒนาโมบายแอปได้ เมื่อ AI agents เข้ามาจัดการงานที่ซ้ำซ้อนในการทำโค้ดให้เหมือนกัน ประสิทธิภาพที่เพิ่มขึ้นจากการใช้ Swift และ Kotlin แบบ native ก็มีความคุ้มค่ามากพอที่จะชดเชยความสะดวกสบายของการใช้โค้ด JavaScript ชุดเดียว การเคลื่อนไหวครั้งนี้ไม่ใช่การตัดสินว่า React Native ไม่ดี แต่เป็นเครื่องเตือนใจว่าเครื่องมือที่ทรงพลังสามารถเปลี่ยนทิศทางของเกมได้อย่างมหาศาล