Cross-platform-ийн төгсгөл үү? Shopify React Native-ээс татгалзаж, Swift ба Kotlin руу буцахаар шийдлээ
2020 онд цахим худалдааны дэлхийн гигант Shopify бүх мобайл аппликейшнүүдээ (Shopify Mobile, Point of Sale, Shop) цэвэр Native хөгжүүлэлтээс React Native руу шилжүүлнэ гэж зарлаж, салбартаа томоохон тэсрэлт хийж байв. Тухайн үед Meta-ийн энэхүү cross-platform фрэймворк нь багийн зардлыг хэмнэж, нэг л кодын сангаар хоёр платформд зэрэг үйлчилгээ хүргэх хамгийн шилдэг сонголт байлаа. Тэр ч бүү хэл Shopify нь react-native-skia, flash-list зэрэг олон нийтийн гол сангуудыг хөгжүүлэгч гол хувь нэмэр оруулагч нь байсан юм.
Гэвч 6 жилийн дараа Shopify түүхэн шийдвэр гаргалаа: Тэд React Native-ээс бүрэн татгалзаж, iOS-д зориулсан Swift, Android-д зориулсан Kotlin руу буцан шилжиж байна.
Харин энэхүү эргэлтийн ард фрэймворкийн алдаа дутагдал эсвэл хурдны асуудал байсангүй. Үүний цорын ганц шалтгаан нь AI код бичигч агентууд (LLM-based coding agents) юм.
"Нэг код – хоёр платформ"-ын эдийн засаг нуран унасан нь
Shopify-ийн Мобайл хариуцсан захирал Мустафа Али (Mustafa Ali) өөрийн нийтлэлдээ React Native руу яагаад шилжиж байсан 3 үндсэн шалтгаанаа дурджээ:
- Нэг функцийг хоёр тусдаа хэлээр давхардуулан бичихээс зайлсхийх
- Нэг инженер бүх стек дээр чөлөөтэй ажиллах нөхцөл бүрдүүлэх
- Хоёр системийн функцын зөрүүг (feature parity) хөөцөлдөх зардлыг бууруулах
Эдгээр давуу талууд өнгөрсөн жилүүдэд компанид асар их ашиг тусаа өгсөн. Гэтэл сүүлийн үеийн дэвшилтэт AI моделиуд мобайл хөгжүүлэлтийн зардлын тэгшитгэлийг сууриар нь өөрчилжээ.
AI агентууд одоо:
- Платформ хооронд хөрвүүлэх чадвартай болсон: Жишээ нь, iOS дээр бичигдсэн Swift кодыг лавлагаа болгон авч, яг ижил логиктой Kotlin хувилбарыг алдаагүй үүсгэж чаддаг болов.
- Хөгжүүлэгчийн танил биш стекийг нөхөж чаддаг: Вэб эсвэл Android чиглэлийн инженер байсан ч агентын тусламжтайгаар iOS-ийн хамгийн сүүлийн үеийн Swift архитектур дээр чанартай код бичих боломжтой болсон.
- Платформын тэгш байдлын зардлыг тэг рүү дөхүүлсэн: Хоёр системд тус тусад нь код бичиж арчлах зардал өмнө нь 2 дахин их байсан бол одоо AI-ийн ачаар ердөө 1.1–1.2 дахин буюу өчүүхэн бага түвшинд очжээ.
Өөрөөр хэлбэл, React Native-ийн хамгийн том үнэ цэнэ байсан "код хуваалцах зардлын хэмнэлт"-ийг AI өөрөө бүрэн үнэгүйдүүлж орхисон байна.
6 инженер 12 долоо хоногт: "Helix" дотоод системийн нууц
Shopify энэ шилжилтээ зүгээр нэг туршилт төдий үлдээгээгүй. Тэд сая сая хэрэглэгчтэй Shop аппликейшнээ 100% цэвэр Swift болон Kotlin болгон хөрвүүлж, хэдийн Apple App Store болон Google Play дээр нийтэлжээ. Энэ бүхэн ердөө 6 инженерийн баг, 12-хон долоо хоногийн дотор хэрэгжсэн нь олон хүнийг алмайруулав.
Тэд үүнийг хийхийн тулд Helix хэмээх агент удирдлагын тусгай дотоод системийг бүтээсэн байна:
- Цэгчилсэн ажлын хуваарилалт (Small Checkpoints): Helix нь React Native кодын санг уншаад, түүнийг жижиг хэсгүүдэд хувааж бүтцийн төлөвлөгөө боловсруулна. Инженер үүнийг ердөө хэдхэн минутад хянаж баталгаажуулна.
- Гурван давхар шалгалт: Агент шинэ Swift эсвэл Kotlin код бичмэгц:
- Автомат тестүүд бүрэн давах ёстой.
- Хуучин React Native апптайгаа Visual Review хийж, UI пикселийн зөрүүгүйг шалгана.
- Өөр нэг AI агентаар Adversarial Code Review буюу хөндлөнгийн хатуу хяналт хийлгэнэ.
- Хүний эцсийн баталгаажуулалт: Зөвхөн бүх шалгуурыг давсан эдгээр найдвартай кодуудыг инженер хянаж, нэг товшилтоор commit хийнэ.
Одоо тус компани өөрсдийн 300 гаруй дэлгэцтэй, маш нарийн төвөгтэй Shopify App үндсэн аппликейшнээ мөн энэ аргачлалаар цэвэр Native рүү шилжүүлж эхлээд байна.
Буцаж шилжсэний үр дүн: Цэвэр Native-ийн давуу талууд
Код бичих зардлын саад арилмагц цэвэр Native технологиудын давуу тал шууд тодорч эхэлсэн байна:
- Асах хурд (Cold Startup): Android систем дээр апп асах хугацаа 2 дахин хурдасчээ (50% буурсан).
- Хэмжээ (Bundle Size): JavaScript engine, Bridge болон нэмэлт runtime-уудыг халснаар аппликейшний багцын хэмжээ 30% багассан.
- Шинэ боломжуудыг саадгүй ашиглах: Apple эсвэл Google-ээс жил бүр танилцуулдаг шинэ API, UI бүрэлдэхүүнүүдийг cross-platform сангууд дэмжихийг хүлээлгүйгээр тухайн өдөрт нь шууд нэвтрүүлэх боломж нээгдэв.
Хөгжүүлэгчдийн анхаарах ёстой сургамж
Shopify-ийн энэхүү эргэлт нь салбарт маш том дохио болж байна. Хэрэв хиймэл оюун ухаан өөр өөр хэл, платформуудын хоорондох хөрвүүлэлтийг хялбархан гүйцэтгэж чаддаг болсон бол бидэнд cross-platform хийсвэрлэлүүд (abstractions) цаашид үнэхээр шаардлагатай юу?
Гэхдээ архитектуруудын сануулж буйгаар, Shopify-ийн энэ алхмыг шууд хуулбарлах гэж яарах хэрэггүй:
- Shopify-д харьцуулж шалгах бүрэн бэлэн, ажиллаж буй React Native кодын сан аль хэдийн байсан.
- Тэдэнд AI-ийн гаргасан алдааг шүүх маш өндөр чанартай автомат тестийн орчин болон "Helix" шиг harness систем байсан.
Юутай ч AI нь зөвхөн бидний өдөр тутмын кодын дуусгалтыг хурдасгаад зогсохгүй, сүүлийн арван жилийн турш баримталж ирсэн программ хангамжийн архитектурын сонголтуудыг бүхэлд нь шинээр тодорхойлж эхэллээ.
Эх сурвалж: Shopify Engineering, Simon Willison's Weblog, InfoQ
Сэтгэгдэл
Ачаалж байна...