Skip to main content

สรุป อนาคตของ React-Native จากงาน React Conf 2017 Day 1

· 3 min read
Kobkrit Viriyayudhakorn
CEO, iApp Technology

เริ่มต้น

React ถูกใช้ด้วย Developer มากกว่า 500,000 กว่าคน (นับโดยจำนวนคนโหลด React Developer Tools Plugins ใน Chrome

React-Native ถูกใช้ใน Production App หลากหลาย App ดังข้างล่าง โดยเฉพาะ Facebook ที่ทุกคนใช้กันอยู่ ตอนแรกทีม Facebook ถกกันว่าจะเขียนใหม่ด้วย React-Native ทั้งหมดดีไหม แต่ทีมคิดว่าการเขียนใหม่ เป็นการลงทุนที่มากเกินไป ได้ไม่คุ้มเสีย แต่การเขียนด้วย React-Native ก็ย่อมดีกว่าเขียนด้วย Native อยู่แล้ว จึงได้ข้อสรุปว่าจะเริ่มเอา React-Native มาใช้ทดแทน Native code (Incrementally adopt) ในตัวแอพ Facebook หลักไปเรื่อยๆ

React-Native จะมีอะไรใหม่

  1. ลดเวลารันตอนเริ่มต้นด้วยการ Parallel Network Request

แต่ก่อน

ตัวใหม่

2. ใช้ Declarative View ไม่ต้อง Complie App ให้เสียเวลาอีกต่อไปแล้ว เป็นอิสระต่อ Xcode และ Android Studio แบบเต็มตัว ดูได้ต่อใน Create-React-Native-App

3. Cross-App Development เมื่อ Facebook และ Instagram สามารถ Share code กันได้

จริงๆแล้ว เราก็คล้ายๆกัน ต่างกันนิดหน่อย ทำไมไม่มาใช้โค้ดร่วมกันละ

สรุป 3 สิ่งเด็ดๆ

ทำ Animation ได้ถึง 60FPS

wix/react-native-interactablereact-native-interactable - Experimental implementation of high performance interactable views in React Nativegithub.com

React-Native-Interactable เป็น Declarative Physic Engine สำหรับ React-Native สามารถทำให้เราสร้าง Animation ใน React-Native ได้ถึง 60FPS Support มี Animation ที่หลากหลายให้เราเลือกใช้

ปกติ React-Native จะกระตุกเพราะว่า มี Animation อะไรซักอย่างทีต้องวิ่งผ่าน Bridge ที่คุยกันระหว่าง Native กับ JS ทำให้ Bridge มัน Busy, App ก็ Lag กันไป

กดที วิ่งผ่าน Bridge ที

ตัวนี้แก้ปัญหา โดยการให้กำหนด Physic Property (Declare Interaction) มาจากฝั่ง JS มาให้ Native เลย แล้วให้ Native คำนวณการอัพเดท Animation ไปได้เลย ไม่ต้องวิ่งผ่าน Bridge อีก

Bridge ก็โล่ง แอพก็เร็วปื๊ด ทันที

ตัวอย่าง Interaction Declarion

แนะนำให้ลองใช้ React-Native App ของคุณ ราศีจับขึ้นทันที

ลองทดสอบ Performance ได้ที่นี่

Create-React-Native-App

อันนี้เด็ดสุดในงาน

บริษัท Exponent ออก Create-React-Native-App เลียนแบบ Create-React-App ของ Dan Abramov ที่เด็ดก็คือ ใช้แค่ NodeJS ในการพัฒนาทั้งหมด ซึ่งก็หมายความว่า เราสามารถใช้ Windows พัฒนา iOS App ได้แล้ววว

เมื่อรันเสร็จก็จะได้ QR Code อันนี้มา ในมือถือทั้ง iOS และ Android ลงแอพชื่อ Expo เสร็จแล้ว Scan QR Code นี้ก็จะเห็น App รัน On-the-fly แบบ Realtime แบบ Hot Reloading เปลี่ยนแปลงตามโค้ดที่เราพัฒนาได้เลยทันที (ขออย่างเดียว ขอให้อยู่ใน Wifi เดียวกันเท่านั้น)

สบายขึ้นเยอะ

ดังภาพ ไม่ต้องมีสายแล้วนะจะ Line Free

Expo บอกว่าไม่ได้มาเล่นๆ Support Native Library ทั้งหลายแหล่ด้วยจ้า

จากเครื่องเปล่าๆ 5 นาที ใช้พัฒนา App ได้เลย ต่อจากนี้ผมจะสอน นักศึกษาได้ง่ายขึ้นแล้ว ไม่ต้องมานั่งลงเป็น 1–2 ชม. อีกต่อไป

ปีนี้ค่อนข้างเด็ด แต่ยังขาด Day 2 อีกวัน รออัพเดทพรุ่งนี้จ้า