Tiêu đề: Shopify từ bỏ React Native để chuyển sang Swift và Kotlin
Shopify đang loại bỏ toàn bộ mã nguồn React Native và xây dựng lại các ứng dụng iOS và Android bằng Swift và Kotlin, kết thúc cuộc thử nghiệm kéo dài sáu năm với framework đa nền tảng này. Các công cụ phát triển hỗ trợ bởi AI đã thúc đẩy sự thay đổi này, giúp giảm thời gian khởi động trên Android, giảm 109 MB dung lượng ứng dụng và cắt giảm tỷ lệ lỗi (crash) khoảng mười lần.
Tại sao Shopify rời bỏ React Native
Vào năm 2020, Shopify đã chọn React Native để viết một mã nguồn JavaScript duy nhất có thể chạy trên cả hai nền tảng. Điều đó giúp tiết kiệm công sức duy trì hai ngăn xếp (stack) native và đáp ứng nhu cầu thị trường đang khao khát triển khai tính năng nhanh chóng.
Ngày nay, bài toán đã thay đổi. Shopify đang vận hành các "coding agents" – các chương trình AI xử lý phần lớn các công việc trùng lặp. Việc duy trì các dự án Swift và Kotlin riêng biệt hiện có chi phí thấp hơn so với những lợi ích về hiệu suất và độ tin cậy mà mã nguồn native mang lại.
Hiệu quả về hiệu suất
Các chỉ số đo lường nội bộ của Shopify cho thấy những cải thiện đáng kể sau khi chuyển đổi:
- Thời gian khởi động Android giảm từ 4.433 ms xuống còn 2.233 ms.
- Dung lượng gói ứng dụng Android giảm 109 MB.
- Tần suất lỗi (crash) giảm khoảng mười lần.
- Tốc độ cuộn hiện đạt ổn định ở mức 120 fps.
Các công cụ AI giúp việc viết lại mã trở nên khả thi
Quá trình chuyển đổi không đơn thuần là một dự án "viết lại mã". Shopify đã xây dựng hai công cụ AI nội bộ để giữ cho nỗ lực này trong tầm kiểm soát và đảm bảo tính tương đồng về tính năng (feature parity).
Pi phân công các tác nhân AI để ghi chép lại hành vi hiện tại của ứng dụng, phác thảo các công việc cần thiết cho từng nền tảng và xác minh rằng các triển khai native mới khớp với các chức năng cũ.
Tardis đóng vai trò như một trợ lý gỡ lỗi, cho phép các tác nhân truy cập vào nhật ký (logs) trực tiếp và trạng thái ứng dụng để chúng có thể tự xác thực các thay đổi của mình mà không cần sự trợ giúp của con người.
Cả hai công cụ đều thực thi một quy tắc duy nhất: "Android và iOS phải luôn có các tính năng giống nhau." Việc kiểm tra tính tương đồng liên tục này đã ngăn chặn sự sai lệch (drift) thường thấy trong các dự án đa nền tảng.
Sự đánh đổi: mất đi các bản cập nhật qua mạng (over-the-air updates)
Chuyển sang native đồng nghĩa với việc Shopify không còn có thể đẩy các bản cập nhật trực tiếp đến người dùng. Mọi thay đổi giờ đây đều phải đi qua quy trình xét duyệt của App Store, gây ra sự chậm trễ cho các bản sửa lỗi khẩn cấp (hotfixes) và các tính năng mới. Đối với một nền tảng thương mại coi trọng việc lặp lại nhanh chóng (rapid iteration), sự cản trở này là rất đáng kể.
Quan điểm ngược lại: React Native chưa chết
Quyết định của Shopify phản ánh bối cảnh riêng của họ: một tổ chức kỹ thuật lớn với các tác nhân AI tùy chỉnh có thể gánh vác gánh nặng trùng lặp mã nguồn. Framework này vẫn đang phát triển, và nhiều ứng dụng vẫn tiếp tục hưởng lợi từ việc chia sẻ chung một mã nguồn.
Những điều cần theo dõi tiếp theo
- Phát triển native được thúc đẩy bởi AI
- Hệ sinh thái React Native
- Thời gian xét duyệt của App Store
Bài học rút ra
Sự chuyển dịch của Shopify cho thấy AI có thể viết lại bài toán kinh tế của việc phát triển di động. Khi các tác nhân thông minh đảm nhận công việc lặp đi lặp lại là nhân bản mã nguồn, những lợi ích về hiệu suất của Swift và Kotlin native trở nên đủ hấp dẫn để vượt qua sự tiện lợi của một mã nguồn JavaScript duy nhất. Bước đi này không phải là một bản án cho chính React Native; nó là một lời nhắc nhở rằng các công cụ có thể làm thay đổi cán cân một cách mạnh mẽ.
