สวัสดี บทความนี้ Matter Devs ได้นำเนื้อหาสำหรับคนที่เริ่มต้นอยากเรียนรู้เรื่อง React แต่ยังไม่รู้จัก หรือเคยได้ยินแต่ยังไม่เคยศึกษาว่า React คืออะไร? ทำไมคนถึงแนะนำให้ใช้งานกัน มีข้อดีข้อเสีย แตกต่างจากตัวอื่นๆยังไง บทความนี้มีคำตอบ
React คืออะไร? แล้วทำไมเราถึงต้องใช้งาน React?
React คือ Library ตัวหนึ่งที่ใช้ในการสร้าง User Interface (UI) หรือว่าหน้าจอบน Application ซึ่งเป็นส่วนประกอบที่แบ่งออกเป็นส่วนๆ หรือเรียกอีกอย่างว่า Component นั่นเอง React ได้ถูกสร้างโดย Facebook ถ้าเปรียบเทียบการใช้งาน React, Angular และ Vue ยอดการดาวน์โหลด React จะเป็นตัวที่คนใช้งานเยอะที่สุด ถ้าเทียบกับ Framework หรือ Library ตัวอื่นๆ
ข้อแตกต่างระหว่าง Framework กับ Library
Angular (Framework)
Framework นั่นจะประกอบด้วยส่วนต่างๆที่ Include มาให้เรียบร้อยแล้ว
ข้อดี เราสามารถเริ่มใช้งานได้เลย สะดวกไม่ต้องไปหาตัวอื่น
ข้อเสีย หากเราไม่อยากจะใช้ที่ Framework ให้มา หรือเราอยากจะใช้ตัวอื่น เราต้องทำการเปลี่ยนแปลง Framework นี้เยอะมาก กว่าจะใช้งานได้
React (Library)
Library ก็จะตรงข้ามกับ Framework ที่ไม่มีการ Include ใดๆเลย
ข้อดี อิสระเราสามารถเลือกทุกอย่างมาใช้งานได้ด้วยตัวเอง
ข้อเสีย เราต้องจัดการทุกอย่างด้วยตัวเอง
React Library จะมีข้อดีมากกว่าเพราะสามารถเลือกใช้ Tool ต่างๆ ได้ง่ายขึ้น นอกจากนั่นยังมีคนที่เลือก Tool ที่น่าสนใจมารวมกันไว้ จัดการให้เราเสร็จเรียบร้อยแล้ว เราแค่ไปโหลดตัวนั่นมาใช้งานได้เลย ในยุคหลังๆ เราจะนิยมใช้ Library มากกว่าตัว Framework
บริษัทชั้นนำที่ได้ถูกนำไปใช้งาน React มีบริษัทไหนบ้าง?
Atlassian
Dropbox
Facebook
Twitter
Instagram
Netflix
และอื่นๆอีกมากมาย
แนวคิดที่สำคัญของ React ที่แตกต่างจาก Framework หรือ Library ตัวอื่นๆ นั่นคือการจัดการการไหลของ Data
1. Two Way Data Flow จะนิยมใช้ในยุคเก่าๆ อย่างเช่นใน angular 1 สามารถมาได้หลายทิศทาง ไม่ว่าจากผู้ใช้เมื่อคลิกก็จะเกิด Data ขึ้น หรือที่เก็บข้อมูล Data จาก Application เราสามารถแก้ไขข้อมูลที่ตรงนั้นได้ ทำให้ Data ไหลไป ไหลมา หากเกิด Bug ที่จุดใดจุดหนึ่ง เราจะต้อง Debug ว่า Data นั้นถูกเปลี่ยนแปลงจากที่ไหน ทำให้การ Debug ยากขึ้น
2. One Way Data Flow จะเป็นที่นิยมมากในปัจุบัน ซึ่ง React ได้ถูกนำมาใช้ จะสามารถถูกเปลี่ยนแปลงได้แค่ทิศทางเดียวเท่านั้น
1. Node.js ใช้ในการ Install Package ต่างๆ เช่น React Package ที่เราจะนำมาใช้งาน
Node.js2. React Developer Tool เป็น Extension ตัวหนึ่งที่ใช้ในการ Debug Applications ของเราได้ง่ายขึ้น
React Developer Tool3. Visual Studio Code เป็นเครื่องมือที่ใช้ในการเขียนโปรแกรมฟรีที่นิยมใช้กันในปัจจุบัน
Visual Studio Codenpx create-react-app my-app
cd my-app
npm start
npx create-react-app .
npm start