รักออกแบบ รักเขียนโค้ด ชอบแต่งหน้าเว็บ ต้องนี่… “Front-End Developer” 🎨 👨💻
.
หนึ่งในอาชีพสายเดฟที่มาแรงไม่แพ้กัน !! แล้วถ้าอยากทำอาชีพนี้จะต้องมีสกิลอะไรบ้าง ? ซึ่งวันนี้แอดได้รวบรวม 10 สกิลสำคัญที่ต้องมีก่อนจะเป็น Front-End Developer มาให้เพื่อน ๆ หรือน้อง ๆ ที่กำลังอยากเริ่มต้นในสายอาชีพนี้ จะมีอะไรบ้าง หากพร้อมแล้วไปดูกันเลยจ้า~~
.
มาเริ่มกันเลย !! 🔥
.
🌟 1) HTML & CSS
ทักษะพื้นฐานที่สำคัญมาก ๆ สำหรับ Front-End Dev เพราะเป็นโครงสร้างของหน้าเว็บ เปรียบเสมือนกระดูกสันหลัง ไม่ว่าจะเป็นการกำหนดรูปแบบอักษร โครงสร้าง การจัดเลย์เอาท์ และอื่น ๆ ซึ่งเราควรเรียนรู้โครงสร้าง วิธีการเขียน และ กฎที่จำเป็นของ HTML และ CSS ก่อนที่จะไปเรียนรู้ส่วนอื่น ๆ ต่อไป ทั้งสองสามารถเรียนรู้ได้ง่าย แต่อาจจะต้องใช้เวลาเพื่อให้มีความเชี่ยวชาญนั่นเอง
.
.
🌟 2) Javascript
ในเมื่อมี HTML และ CSS ที่เป็นเหมือนกระดูกสันหลังของเว็บแล้วนั้น การจะทำให้เว็บมีลูกเล่น มีชีวิตชีวา มีการประมวลผลข้อมูล สิ่งสำคัญที่ต้องมีนั่นคือ JavaScript เพราะมันเป็นเหมือนมันสมองของเว็บไซต์ เพื่อให้เว็บสามารถทำฟังก์ชันต่าง ๆ เพื่อให้เว็บมีการโต้ตอบกับผู้ใช้อย่างมีประสิทธิภาพ และในปัจจุบันก็มี Framework สำหรับ JavaScript มากมาย เช่น React.js, Angular.js, Vue.js และอีกมากมาย ที่ช่วยให้เราสร้างหน้าเว็บได้ง่ายมากยิ่งขึ้น
.
.
🌟 3) ECMA ES6
เป็นมาตรฐานหรือข้อกำหนดในภาษา Scripting ซึ่ง JavaScript ก็จัดเป็นอีกหนึ่งในภาษา Scripting นั่นเอง ซึ่งมีการพัฒนาเปลี่ยนฟีเจอร์ และ Syntax ใหม่ ๆ เพื่อรองรับการเขียนแอปที่มีความซับซ้อนมากขึ้น ซึ่งในปัจจุบันพัฒนามาจนถึง ES6 แล้ว ซึ่ง Front-End Dev จะต้องเรียนรู้โครงสร้างและวิธีการเขียน JavaScript แบบมาตรฐาน ES6 เพราะเป็นสิ่งสำคัญที่ช่วยให้การพัฒนาเว็บมีมาตรฐานมากยิ่งขึ้นนั่นเอง
.
.
🌟 4) DOM / Virtual DOM
DOM (Document Object Model) เป็นวิธีการเก็บ Document ในรูปแบบ Object แบบ Tree Structure และจะใช้ JavaScript เพื่อไปเข้าถึงหรือจัดการ HTML ในแต่ละส่วน แต่เมื่อมีโครงสร้างใหญ่ขึ้นทำให้อาจจะจัดการได้ยาก ส่วน Virtual DOM ก็ถูกพัฒนาขึ้นมาเพื่อเป็นตัวแทนของ DOM จัดการสิ่งต่าง ๆ ได้อย่างรวดเร็ว และไม่ส่งผลกระทบกับ Real DOM นั่นเอง ซึ่ง Front-End Dev จะต้องมีความรู้เกี่ยวกับ DOM / Virtual DOM เพื่อเข้าใจส่วนประกอบ โครงสร้าง องค์ประกอบ และวิธีการแสดงผลของหน้าเว็บอย่างละเอียด เพื่อเพิ่มประสิทธิภาพในการพัฒนาหน้าเว็บนั่นเอง
.
.
🌟 5) Browser Developer Tools
เป็นเครื่องมือต่าง ๆ ที่อยู่บนเบราว์เซอร์ที่จะช่วยให้นักพัฒนาสามารถใช้ประโยชน์เพื่อสร้างและปรับปรุงหน้าเว็บให้มีประสิทธิภาพ นักพัฒนาจะต้องเรียนรู้วิธีการใช้งานเครื่องมือต่าง ๆ เพื่อช่วยให้การทำงานรวดเร็วและง่ายมากขึ้น อย่างเช่น Chrome DevTools จาก Google ที่มีเครื่องมือต่าง ๆ ช่วยในการทดสอบ แสดงผลหน้าเว็บ ดูผลลัพธ์ของ CSS และสามารถแก้ไขเบื้องต้นได้ ซึ่งมันสามารถใช้เป็นแนวทางในการพัฒนาเว็บได้นั่นเอง
.
.
🌟 6) Frameworks และ Libraries
ในปัจจุบันก็มีเครื่องมือต่าง ๆ มากมายที่ช่วยให้การพัฒนาเว็บง่าย สะดวก และประหยัดเวลามากขึ้น และเว็บไซต์ส่วนใหญ่ก็ได้ใช้ Frameworks และ Libraries เพื่อพัฒนาเว็บมีประสิทธิภาพสูงสุด อย่างเช่น React, Angular, Vue ที่เป็น Framework ยอดนิยมมากที่สุดในปัจจุบัน ทั้งสามต่างก็มีข้อดีและข้อจำกัดกันคนละแบบ ขึ้นอยู่กับว่าเรานำไปใช้กับงานแบบใด เลือกอันที่เหมาะกับตัวเอง แล้วไปเริ่มเรียนรู้กันเลย !!
.
.
🌟 7) Version Control
ไม่ว่าจะเป็นเดฟในตำแหน่งใด ก็จะต้องทำงานกับเพื่อนร่วมทีมอย่างแน่นอน การจะทำงานเป็นทีมได้ง่ายและสะดวกมากขึ้น เราก็ต้องรู้จักกับ Version Control เมื่อตอนเราเดฟก็จะต้องมีไฟล์ Source Code ต่าง ๆ มากมายทั้งของเราและเพื่อนร่วมทีม ซึ่งเจ้า Version Control ก็จะเข้ามาช่วยเราในการจัดการ ควบคุม จัดเก็บ Source Code ต่าง ๆ ไว้บน Server ซึ่งในปัจจุบันมีให้เลือกใช้ได้อย่างหลากหลายมาก ไม่ว่าจะเป็น Git, GitHub, GitLab และอื่น ๆ อีกมากมาย
.
.
🌟 8) Test และ Debug
เมื่อเราเดฟแล้วสิ่งสำคัญที่ขาดไม่ได้คือการทดสอบ ซึ่งในที่นี้เราไม่ต้องรู้ Process การทดสอบแบบละเอียดก็ได้ เพราะในบางบริษัทก็จะมีตำแหน่ง Tester แยกอยู่แล้ว ในการทดสอบฝั่งเดฟจะเป็นแบบ Unit Test เพื่อทดสอบว่าแต่ละฟังก์ชันว่าทำงานได้ตามเป้าหมายหรือไม่ เราอาจจะทำการทดสอบเอง หรืออาจจะใช้เครื่องมือเพื่อช่วยให้การทดสอบง่ายขึ้นได้เช่นกัน
.
.
🌟 9) SEO
หัวใจสำคัญสำหรับการทำเว็บ หรือการให้หน้าเว็บติดอันดับ SEO ซึ่งเราจะต้องเรียนรู้สถาปัตยกรรมเว็บไซต์ เพื่อปรับปรุงหน้าเว็บให้ติดอันดับ SEO อยู่เสมอ ไม่ว่าจะเป็นในเรื่องของข้อมูล ความปลอดภัย ประสิทธิภาพ การเข้าถึง และอื่น ๆ อีกมากมาย Front-End Dev ห้ามมองข้ามเด็ดขาด !!
.
.
🌟 10) Performance Analysis
สิ่งสำคัญในการทำเว็บอีกหนึ่งอย่างนั่นคือประสิทธิภาพ ! จะมีหน้าเว็บสวย อลัง ขนาดไหน แต่ถ้ามันทำงานได้ช้า กว่าจะกดปุ่มอะไรแต่ละทีต้องนั่งรอ มันไม่ทันใจวัยรุ่นเอาซะเลย ถ้าเราเป็นผู้ใช้เว็บลองคิดดูว่ามันน่าหัวเสียขนาดไหน เราต้องทำความเข้าใจการควบคุมประสิทธิภาพและการประมวลผลของหน้าเว็บ ฟังก์ชันไหนที่ไม่จำเป็นก็ให้กำจัดออกไป ใส่มาก็ไม่ได้ใช้งาน หรือบางอันก็ลืมลบทำให้เว็บช้าลงไปอีก ซึ่งในปัจจุบันก็มีเครื่องมือต่าง ๆ ที่ช่วยจัดการประสิทธิภาพบนหน้าเว็บให้เลือกใช้อย่างหลากหลาย เลือกสักหนึ่งเครื่องมือ แล้วไปเรียนรู้วิธีการใช้งานเพื่อมาช่วยเพิ่มประสิทธิภาพให้กับเว็บ
.
และทั้งหมดนี้ก็เป็น Hard Skills ที่คนอยากเป็น Front-End Developer ต้องมี และยังต้องมี Soft Skills อื่น ๆ ไม่ว่าจะเป็นทักษะการสื่อสาร การทำงานเป็นทีม การวางแผนงาน เพื่อช่วยให้การทำงานนั้นมีประสิทธิภาพ ซึ่งสกิลเหล่านี้ไม่ว่าจะทำอาชีพไหนก็ต้องมี 😊
.
และพี่ ๆ คนไหนที่กำลังทำอาชีพนี้ แล้วอยากแนะนำหรือบอกอะไรเพิ่มเติม สามารถมาคอมเมนต์พูดคุยกันได้เลยน้า 🥰
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
#frontend #frontenddeveloper #BorntoDev
「react virtual dom」的推薦目錄:
- 關於react virtual dom 在 BorntoDev Facebook 的最佳貼文
- 關於react virtual dom 在 BorntoDev Facebook 的最佳解答
- 關於react virtual dom 在 BorntoDev Facebook 的最佳貼文
- 關於react virtual dom 在 React (Virtual) DOM Terminology 的評價
- 關於react virtual dom 在 How exactly is React's Virtual DOM faster? - Stack Overflow 的評價
- 關於react virtual dom 在 Awesome-JavaScript-Interviews/Virtual-DOM-and ... - GitHub 的評價
- 關於react virtual dom 在 ReactJS : The magic of Virtual DOM - Foyzul's Academy 的評價
- 關於react virtual dom 在 react-redux (React bindings) vs Virtual Dom and Single ... 的評價
react virtual dom 在 BorntoDev Facebook 的最佳解答
อยากเริ่มเขียนเว็บด้วย React แบบคนอื่นบ้าง แต่ไม่รู้จะเริ่มต้นยังไงดี ? 😖
.
ไม่ต้องกังวลไป...เพราะวันนี้แอดสรุปมาให้แล้วจ้า กับสิ่งที่ต้องรู้ก่อนจะเริ่มต้นใช้ Library ที่ช่วยในการเขียนเว็บแอปพลิเคชันอย่าง React
.
มีอะไรต้องรู้บ้าง ? หากพร้อมแล้วไปดูกันเลย ~
.
🌟 พื้นฐาน HTML CSS JavaScript
.
ก่อนอื่นเราต้องมาสำรวจตัวเองก่อนว่าเราเข้าใจพื้นฐานพวกนี้แล้วหรือยัง ถ้ายังไม่เข้าใจ ควรจะไปศึกษาให้เข้าใจอย่างถ่องแท้ก่อนนะ ส่วนพื้นฐานที่แอดพูดถึงก็มีดังนี้
.
🔸 HTML เช่น HTML Element, Form, Table, และ Div เป็นต้น
🔸 CSS เช่น Styling, CSS Selectors และ Box Model
🔸 JavaScript เช่น variables, Conditional Statements, Loops, Data Types, และ DOM เป็นต้น
.
✨ NPM
.
รู้จักการใช้งาน NPM ซึ่งเป็นเครื่องมือที่ช่วยในการติดตั้ง อัปเดต กำหนดค่าต่าง ๆ และรันคำสั่งบางอย่างผ่าน Terminal เพื่อใช้งานคำสั่ง และ Library บนโปรเจกต์ React ของเรานั่นเอง
.
อ่านวิธีการใช้งานเพิ่มเติมได้ที่นี่ 👇
Link : https://www.npmjs.com/
.
✨ React Concept
.
เมื่อเราเรียนรู้พื้นฐานและฝึกฝนจนเชี่ยวชาญแล้ว ขั้นตอนต่อมาเราก็จะต้องเรียนรู้และทำความเข้าใจโครงสร้างและการทำงานของ React เช่น
.
🔹 Create React App - เป็นการตั้งค่าสภาพแวดล้อมและเครื่องมือต่าง ๆ ให้เหมาะสมกับการพัฒนาโปรเจกต์บน React เพื่อให้เราสามารถใช้คุณสมบัติของ JavaScript ได้อย่างเต็มประสิทธิภาพนั่นเอง !
.
อ่านวิธีการติดตั้งแบบเต็ม ๆ ได้ที่นี่ 👇
📑 https://reactjs.org/docs/create-a-new-react-app.html
.
🔹 JSX - เป็นส่วนเสริมของ JavaScript ที่ทำให้เราสามารถจัดการกับ UI ใน React ได้อย่างง่ายดาย ซึ่งจะมี Syntax คล้าย ๆ กับ HTML
.
สามารถอ่านเรื่อง JSX แบบเต็ม ๆ ได้ที่นี่ 👇
📑 https://reactjs.org/docs/introducing-jsx.html
.
🔹 Virtual DOM - เป็นตัวที่ช่วยจัดการ Object และ Element ต่าง ๆ บน React เปรียบเสมือนพิมพ์เขียวของ DOM ถ้าหากมีการแก้ไขหรือเปลี่ยนแปลง Object บน React มันก็จะไม่กระทบกับ DOM ทั้งหมด เพราะมันจะเปลี่ยนแปลงเฉพาะ Object ที่มีการอัปเดตเท่านั้น ทำให้การแสดงผลมีความรวดเร็วมากขึ้นนั่นเอง
.
สามารถอ่านเรื่อง Virtual DOM แบบเต็ม ๆ ได้ที่นี่ 👇
📑 https://reactjs.org/docs/faq-internals.html
.
🔹 Props & State - Props (Properties) เปรียบเสมือนแท็กใน HTML เช่น src, href, หรือ class แต่ความพิเศษของมันก็คือทำให้ React Component สามารถส่งค่าต่าง ๆ ระหว่างกันได้ ส่วน State จะแตกต่างกับ Props เพราะมันจะเป็นการเก็บค่าเพื่อใช้ใน Component นั้น ๆ เท่านั้น
.
สามารถอ่านเรื่อง Props & State แบบเต็ม ๆ ได้ที่นี่ 👇
📑 https://reactjs.org/docs/faq-state.html
.
🔹 Conditional Rendering - เป็นการแสดงผล Element ต่าง ๆ บน UI แบบมีเงื่อนไขนั่นเอง โดยใช้ตัวดำเนินการใน JavaScript เช่น if...else เป็นต้น
.
สามารถอ่านเรื่อง Conditional Rendering แบบเต็ม ๆ ได้ที่นี่ 👇
📑 https://reactjs.org/docs/conditional-rendering.html
.
🔹 React Hook - เป็น Functions เจ๋ง ๆ ใน React ซึ่งเป็นฟีเจอร์ใหม่ที่มีใน React v16.7.0-alpha -ข้อดีของมันก็คือทำให้เราสามารถเรียกใช้ State ต่าง ๆ ใน React แบบไม่ต้องเขียน Class ให้เมื่อยมือ! เป็นการเพิ่มคุณสมบัติของ Component ไม่ว่าจะ Test หรือ Refactor ก็ทำได้ง่าย ๆ
.
สามารถอ่านเรื่อง React Hook แบบเต็ม ๆ ได้ที่นี่ 👇
📑 https://reactjs.org/docs/hooks-intro.html
.
✨ API
.
เรียนรู้โครงสร้าง และวิธีการดึงข้อมูลจาก API โดยต้องเข้าใจการใช้งานฟังก์ชันใน JavaScript เพื่อช่วยในการดึงข้อมูลและนำมาใช้ภายในโปรเจกต์ หรืออาจจะใช้เครื่องมืออย่าง Axios ซึ่งเป็นอีกหนึ่ง Library ยอดนิยมที่ช่วยให้เราดึงข้อมูลจาก API ได้อย่างง่ายดาย !
.
เพื่อน ๆ สามารถอ่านวิธีการใช้งาน Axios ได้ที่นี่ 👇
Link : https://www.npmjs.com/package/axios
.
✨ Server-side Rendering
.
รู้จักการใช้งานเครื่องมือที่ช่วยในการแสดงผลฝั่ง Server เช่น Next.js, After.js, Rogue ซึ่งเหล่า React Dev ส่วนใหญ่จะนิยมใช้เจ้า Next.js เพราะใช้งานง่าย ไม่ต้อง Config อะไรเพิ่มเติมและช่วยให้เราสามารถเขียนเว็บได้สะดวก รวดเร็วมากขึ้นนั่นเอง !
.
✨ Styling UI
.
ใช้แนวคิด CSS มาช่วยให้เราออกแบบ วาง Layout และจัดองค์ประกอบบนหน้าเว็บไซต์ ซึ่งในปัจจุบันก็มีเครื่องมือต่าง ๆ ที่จะช่วยให้เราเขียน CSS ได้ง่ายมากขึ้น ไม่ว่าจะเป็น Material UI และ TailwindCSS นั่นเอง
.
และเมื่อเราได้เรียนรู้ทุกหัวข้อที่แอดกล่าวมาแล้ว เราก็เริ่มต้นทำโปรเจกต์ React กันได้เลย !! ซึ่งทางทีมแอดเคยทำสรุปการใช้งาน React ไว้ให้แล้ว หากสนใจสามารถกดเข้าไปอ่านกันได้เลย ~
📑 Link : https://www.borntodev.com/2020/07/15/react-101/
.
หวังว่าจะเป็นประโยชน์กับเพื่อน ๆ ที่กำลังเริ่มต้นเขียน React นะ หากชอบเนื้อหานี้ อย่าลืมกดไลก์ กดแชร์ เพื่อเป็นกำลังใจให้พวกเราด้วยล่ะ 😁
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
#React #javascript #ฺBorntoDev
react virtual dom 在 BorntoDev Facebook 的最佳貼文
🔥 จากโพสต์ที่แล้วแอดมินได้อธิบายการทำงานของ MEAN Strack ไปบ้างแล้ว แต่มันยังมี Framework อีกตัวนึงที่ช่วยพัฒนาเว็บแอปพลิเคชัน นั่นคือ MERN Strack นั่นเอง!!
.
และวันนี้เราจะมาดูความแตกต่างกันให้ชัดๆ เลยว่า อันไหนจะปังกว่ากัน !!
.
🤼♀️ ซึ่งทั้ง 2 เป็น JavaScript Framework ที่ช่วยพัฒนาเว็บแอปพลิเคชัน และช่วยในการสร้างหน้า UI ที่ตอบสนองกับผู้ใช้อย่างมีประสิทธิภาพ และใช้งานง่ายเหมือนกัน ความแตกต่างคือ MEAN ใช้ Angular แต่ MERN ใช้ ReactJS
.
❤️ MEAN Stack
.
- พัฒนาด้วย Mongo DB, Angular, Express และ Node.js
- ใช้ภาษา TypeScript
- มี Component Architecture
- เป็น Regular DOM
- เรียนรู้ได้ยากกว่า
- ทำงานแบบ MVC ได้ดีกว่า
- ไม่ค่อยมี Library ให้ใช้ เพราะมี Document จากทาง Angular ให้ใช้อยู่แล้ว
- ปรับแต่งได้น้อยกว่า
- ส่วนใหญ่จะใช้ในโปรเจกต์ใหญ่ๆ
.
💙 มาที่ MERN Stack กันบ้าง
- พัฒนาด้วย Mongo DB, React JS, Express และ Node.js
- ใช้ภาษา JavaScript และ JSX
- ไม่มี Component Architecture
- เป็น Virtual DOM
- เรียนรู้ง่าย
- ทำงานแบบ MVC ได้ด้อยกว่า
- มี Library ให้เลือกใช้เยอะ
- ปรับแต่งได้อย่างอิสระ
- ไม่ว่าโปรเจกต์จะเล็กหรือใหญ่ ก็สามารถใช้ได้
.
👉 ความเห็นของแอดคิดว่า MEAN มันจะเหมาะสำหรับพัฒนาเว็บแอปที่ใหญ่ๆ มากกว่า ซึ่งบริษัทใหญ่ เช่น Accenture, Raindrop, Vungle, Fiverr และ UNIQLQ ต่างก็เลือกใช้เจ้า MEAN ในการพัฒนาเว็บของเขา
.
☘️ ส่วนเจ้า MERN มันเหมาะสำหรับเว็บแอปที่เล็กๆ ที่ต้องการประมวลผลและโต้ตอบผู้ใช้อย่างรวดเร็วนั่นเอง
.
ส่วนเพื่อนๆ เลือกใช้อันไหนกันบ้าง? มาเม้ามอยให้ฟังกันหน่อยนะ 😆
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
react virtual dom 在 How exactly is React's Virtual DOM faster? - Stack Overflow 的推薦與評價
... <看更多>
相關內容
react virtual dom 在 Awesome-JavaScript-Interviews/Virtual-DOM-and ... - GitHub 的推薦與評價
The virtual DOM is a tree based on JavaScript objects created with React that resembles a DOM tree. Each time you need to change something in the DOM, ... ... <看更多>
react virtual dom 在 React (Virtual) DOM Terminology 的推薦與評價
To render a new tree into the DOM, you create ReactElement s and pass them to ReactDOM.render along with a regular DOM Element ( HTMLElement or SVGElement ). ... <看更多>