Native กลับมาอยู่บนโต๊ะอีกครั้ง
ถ้า AI ช่วยลดต้นทุนของการเขียนสอง platform ลงได้มากแล้ว เราจำเป็นต้องแลกความเป็น native เพื่อประหยัด code อยู่หรือเปล่า?
เมื่อก่อนการทำ mobile app มีข้อจำกัดเรื่องกำลังคนค่อนข้างชัด
ทีมเล็ก ๆ ถ้าต้องทำทั้ง iOS และ Android การเลือก Flutter หรือ React Native แทบจะเป็นเรื่องปกติอยู่แล้ว เพราะเขียนครั้งเดียวแล้วได้สอง platform
แต่ช่วงหลังผมเริ่มรู้สึกว่าโจทย์นี้กำลังเปลี่ยน
AI coding ทำให้ต้นทุนในการดูแลสอง codebase ลดลงมาก จากเดิมที่ทำ native ทั้ง iOS และ Android แปลว่าภาระเพิ่มขึ้นเกือบสองเท่า วันนี้ AI ช่วยเขียน ช่วยแก้ และช่วย refactor ทั้ง Swift และ Kotlin ได้เร็วขึ้นมาก
อีกเรื่องที่คิดว่าสำคัญกว่า คือ platform กำลังแตกต่างกันมากขึ้น
โดยเฉพาะ Apple ที่ช่วงหลังเริ่มผลัก design language กับความสามารถใหม่ ๆ ของระบบออกมาเร็วขึ้น Liquid Glass เป็นตัวอย่างที่เห็นภาพมาก แอป native หลายตัวปรับตัวแล้วกลมกลืนกับ UI ใหม่ของระบบได้ค่อนข้างเป็นธรรมชาติ
แต่กับ cross-platform framework เราต้องรอ abstraction layer อีกชั้นหนึ่งมากรองรับก่อน บางครั้งเลยเกิดช่องว่างระหว่างสิ่งที่ platform ทำได้ กับสิ่งที่ framework ทำได้
เมื่อก่อนผมมอง Platform Divergence เป็นปัญหา
ตอนนี้เริ่มมองว่ามันอาจเป็น Feature
ถ้า iOS กับ Android มีประสบการณ์ที่ต่างกัน การพยายามทำให้เหมือนกันทุกอย่าง อาจไม่ใช่สิ่งที่ดีที่สุดอีกต่อไป
คำถามเลยอาจไม่ใช่
“ทำอย่างไรให้เขียนครั้งเดียวแล้วได้ทั้งสอง platform?”
แต่อาจเป็น
“ถ้า AI ช่วยลดต้นทุนของการเขียนสอง platform ลงได้มากแล้ว เราจำเป็นต้องแลกความเป็น native เพื่อประหยัด code อยู่หรือเปล่า?”
ผมยังไม่ได้เลิกใช้ Flutter และไม่ได้คิดว่า cross-platform กำลังจะหายไป
แต่สำหรับโปรเจกต์ใหม่ ๆ ผมคิดว่า native กลับมาเป็นตัวเลือกที่ต้องเอามาวางบนโต๊ะอีกครั้งแล้ว