-

@ minseo
2025-06-13 13:41:34
ทำไม tech stack ฝั่ง mobile ของ SR Express (ก่อนเปลี่ยนชื่อเป็น Thunder Express) ถึงเป็น React Native? แล้วตอนนี้ควรเป็นแบบไหนดี 🤔
.
หลาย ๆ คนคงได้ดูซีรีส์ไทยสุดโด่งดังในขณะนี้ อย่าง #สงครามส่งด่วน กันไปบ้างแล้ว เราเองก็เพิ่งดูเมื่อไม่นานมานี้ช้ากว่าเพื่อนเลย
แล้วก็ได้อ่านโพสเบื้องหลังทีมเทคจากคุณปั้ปมา ก็เลยลองค้นหาข้อมูลจากฝั่ง mobile cross-platform ดู เพราะเราเป็น native Android Developer ไม่ถนัด cross-platform อยู่แล้ว5555
https://image.nostr.build/0c0ca4f2d2b50fb3c4a02a2d5449d9e00a47e6fb8c4edfec8620b39ebde88941.jpg
แต่ในซีรีส์เรื่องนี้เขา setup เป็นปี 2017 ในช่วงสร้างทีม ในโลกจริวตอนนั้นก็จะมีคนที่เดฟ native อยู่เยอะ (iOS Developer และ Android Developer ที่เยอะกว่า iOS อ่ะ) และมี cross-platform ด้วย และในตอนนั้น React Native จากบ้าน Facebook นี่แหละที่คนนิยมใช้กันเยอะ และสาย Web Developer ก็ใช้ได้ เพียงแค่เขียน React เป็นมาก่อน (แต่มีน้องบ่นว่าจัดการฝั่ง native ยากชห)
แล้วมีใส่ Material Design ด้วยฮะ ใช้แล้วงานสวยแน่นอนน ✨
ในเรื่องเป็นบริษัท start-up ที่เพิ่งเริ่มต้น งานเลยต้องออกมาไว เพราะต้องมีหน้าตาแอพให้คุณสันติ CEO และคุณเสี่ยวหยู CFO ไป pitching กับนักลงทุน
ดังนั้นการทำ cross-platform จึงเป็นตัวเลือกที่ดีที่สุด เพราะทีมเพิ่งสร้าง มีขนาดไม่ใหญ่มาก แล้วตามหา iOS Developer ยากเป็นปกติอยู่แล้ว การหา native dev อาจจะไม่ตอบโจทย์นี้ เพราะอะไรล่ะ?
💭 ลองคิดเล่น ๆ สมมุติคนทำ mobile app 2 คน จ้าง iOS 1 คน และ Android 1 คน กับให้ทำ React Native ทั้งคู่เลย อันไหนแอพออกได้เร็วกว่าล่ะ? ก็ต้องให้ทำ cross-platform อ่ะเนอะ เร็วกว่า 2x
.
⭐️ แล้ว React Native, Flutter, Kotlin Multiplatform มาตอนไหนกันนะ เมื่อเทียบ timeline กัน
🔵 React Native
พัฒนาโดย Facebook เริ่มทำในปี 2015 จากบทเรียนที่ว่า HTML5 ไม่เหมาะกับการทำ Mobile App จึงพัฒนา React Native เพื่อสร้าง UI บน iOS ด้วย JavaScript และนำไปใช้จริงในแอปฯ อย่าง Group และ Ads Manager และได้ Release เวอร์ชันแรกในปี 2015
🔵 Flutter
ในปี 2015 ทาง Google เปิดตัวโปรเจกต์ Sky เป็น platform สำหรับรัน Dart code และเปลี่ยนชื่อเป็น Flutter ในปี 2016 อย่างเป็นทางการ และรองรับการพัฒนาแอพทั้งบน iOS และ Android เลย
ออก alpha version ในปี 2017 ที่งาน Google I/O ในปี 2018 ออก beta release ในเดือนกุมภาพันธ์ และออก stable 1.0 ในเดือนธันวาคม พร้อม feature "hot reload" ที่ทำให้เดฟอย่างเราเห็นการเปลี่ยนแปลงแบบ real-time
🔵 Kotlin Multiplatform
เริ่มจาก Alpha version ในปี 2020 เน้นการพัฒนาแอพบน iOS และ Android และเข้าสู่ Beta version ในปี 2022 และ Stable ในวันที่ 1 พฤศจิกายน 2023 กว่าจะ stable ก็ประมาณ 3 ปีได้ ก็คือเมื่อ 2 ปีที่แล้วนั่นเอง
Kotlin Multiplatform มีความโดดเด่นที่ความยืดหยุ่น โดยเน้นการแชร์ business logic ที่เราเขียนที่เดียวแล้ว apply ไปทุก platform ส่วน UI ยังคงเขียน Native ได้ ทำให้บริษัทใหญ่อย่าง Netflix, VMware, Cash App เลือกใช้ พัฒนาโดย JetBrains ที่สร้างภาษา Kotlin ขึ้นมานั่นเอง และนอกจากรองรับ iOS และ Android แล้ว ยังรองรับ desktop ด้วย jvm นะ
🔵 Compose Multiplatform
พัฒนาโดย JetBrains เช่นกัน โดยต่อยอดจาก Jetpack Compose นั่นแหละ เป็น Multi-platform UI framework โดยปล่อยเวอร์ชัน Alpha สำหรับ Windows, macOS, Linux และ Web ในเดือนสิงหาคม 2021 และเพิ่ม iOS support ในเดือนพฤษภาคม 2023 และตอนนี้ iOS stable แล้ว ส่วน Web ยังเป็น Alpha อยู่
และสามารถเขียนตัว Jetpack Compose ที่ตัว common ได้เลย
🗒️ ดังนั้นจึงไม่แปลกใจว่าในปี 2017 ทีม SR Express ในตอนแรกจึงเลือกใช้ React Native เพราะมัน stable ที่สุดในตอนนั้นนั่นเอง ส่วนตัวอื่น ๆ ยังเป็นวุ้นอยู่
ถ้าในยุคสมัยนี้อาจจะนึกถึง Flutter หรือ Kotlin Multiplatform เนอะ รวมถึง Compose Multiplatform ด้วย ซึ่งถ้าโปรเจกต์ใหม่ก็น่าลอง ส่วนโปรเจกต์ที่มีอยู่แล้วก็ต้องลองคุยกับทีมอยู่น้า #siamstr
-
อันนี้โพสเบื้องหลังของคุณปั้ป https://chayapatr.medium.com/mad-unicorn-23eb75a31a74
อันนี้ตัวที่ใช้ในเรื่อง แล้วมี easter egg ด้วยนะ https://muc-app.pages.dev