อยากเริ่มเขียนเว็บด้วย 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 link css 在 Phê Phim Facebook 的精選貼文
🔥 PHÊ TEAM TUYỂN DỤNG 🔥
Chặng đường sắp tới, với mong muốn tối ưu hóa trải nghiệm của các thành viên cộng đồng phephim.vn, cũng như hứa hẹn ra mắt phiên bản ứng dụng trên điện thoại.
Phê Team chiêu mô các tài năng trẻ cùng tham gia vào những dự án tuyệt vời này. 02 vị trí đang mở chào đón các bạn: JUNIOR DEVELOPER và IT FRESHER làm việc tại Hà Nội.
➡️ ➡️ ➡️ MÔ TẢ CÔNG VIỆC
- Duy trì và phát triển trang web phephim.vn.
- Phát triển Android App và iOS App dựa trên nền tảng React Native.
- Phân tích và thiết kế hệ thống backend, database để phục vụ web và mobile app.
- Phát triển hệ thống Web Scraping để thu thập dữ liệu liên quan tới thị trường phim ở Việt Nam.
- Phát triển các sản phẩm phần mềm khác của Phê Phim trong tương lai.
💻💻💻 YÊU CẦU CÔNG VIỆC 💻💻💻
Yêu cầu chung:
- Đọc hiểu tốt tiếng Anh.
- Không ngại học hỏi và tiếp cận công nghệ mới.
- Có khả năng làm việc độc lập cũng như teamwork tốt.
- Có càng nhiều kinh nghiệm về các công nghệ được nêu ở dưới thì càng tốt, nhưng nếu chưa biết một vài thứ thì cũng không sao, các bạn sẽ được training để bổ sung sau.
🌟 Junior Developer cần có:
- Hiểu biết về các ngôn ngữ lập trình web, framework như: React, Vue.js HTML, Jquery, javascript (ECMAScript 6), CSS, …
- Hiểu biết về việc phát triển backend: Node.js, Express.js, RESTful APIs, nginx, hệ điều hành UNIX (Linux, Ubuntu, MacOS), Ruby on Rail, …
- Hiểu biết về hệ cơ sở dữ liệu MySQL, Postgres, …
- Hiểu biết cơ bản về việc phát triển mobile app: Java (Android), Swift & Obj-C (iOS), React Native, Xcode, Android Studio, …
- Có kinh nghiệm sử dụng Slack, Github, JIRA, yarn, npm, terminal, …
- Biết sử dụng MacOS
- Hiểu biết về mô hình Agile (Agile software development).
- Hiểu biết cơ bản về Docker, Kubernestes, microservices.
✨ Fresher cần có:
- Hiểu biết cơ bản về phát triển web như HTML, javascript, CSS, Node.js, Express.js.
- Hiểu biết cơ bản về phát triển mobile app như: Java (android), swift (iOS), Xcode, android studio.
- Hiểu biết cơ bản về MySQL.
- Hiểu biết cơ bản về git (Github)
- Biết sử dụng MacOS
🎁 LỢI ÍCH CÔNG VIỆC 🎁
- Được hướng dẫn, chỉ đạo bởi một senior developer có kinh nghiệm làm việc với môi trường ở Mỹ.
- Được cung cấp các tài liệu, khóa học online, … liên quan tới các công nghệ sẽ được dùng để phát triển web và mobile app cho Phê Phim.
- Sẽ được training hoặc tham gia các workshop hàng quý để trau dồi kỹ năng lập trình hoặc kiến thức về các công nghệ hot liên quan tới web, mobile app, và AI (machine learning).
- Được trực tiếp tham gia quy trình phát triển app từ trang giấy trắng cho tới lúc được đăng lên Apple App Store hoặc Google Play Store.
- Được tiếp cận và thực hành cách phát triển phần mềm theo mô hình Agile.
- Làm việc trong môi trường trẻ trung, năng động
----------------
Để ứng tuyển, vui lòng:
📧 Email: tuyendung@pheteam.vn
🗞️Tiêu đề ghi rõ: [HỌ TÊN] - [VỊ TRÍ ỨNG TUYỂN]
🏷️ Hồ sơ ứng tuyển
+ CV.
+ Link sản phẩm tự tin (nếu có).
react link css 在 軟體開發學習資訊分享 Facebook 的精選貼文
🌳 文章標題:Netflix Web 效能提升案例研究
Netflix 無疑是目前最受歡迎的串流網路電視提供業者,這篇文章描述了他們如何提升 Netflix 的使用者 Logout/Sign up , Landing Page 的效能,這篇文章主要關注在以下幾個部分
1. 載入和互動時間減少了50% (針對 Netflix .com 的桌面 logged-out 網頁 )
裡面有提到他們是使用什麼工具來度量網頁效能 - 使用Chrome的DevTools和Lighthouse來模擬在3G連接上載入 log-out 頁面
解決方案 : 原本使用 React , 現在改用少於 300 行的 vanilla JavaScript 來取代
2. 通過從 React 和其他客戶端程式庫切換到vanilla JavaScript,JavaScript 套件大小減少了200kB。React仍在伺服器端使用。
有些前端程式採用 vanilla JavaScript ,有些則採用 Server side React ,這要看你如何 trade-off ,這篇文章有提到因為優化了使用者註冊頁面,提升了 Netflix 的使用者註冊率,想一下你是不是因為使用者註冊流程太過繁瑣或是緩慢而離開那個頁面?
3. 預取 HTML,CSS和JavaScript(React)可將未來瀏覽時間縮短30%
解決方案 - 內建的 瀏覽器 API 和 XHR prefetching. 但是內建的瀏覽器 API 只有部分瀏覽器有支援, XHR 支援度比較高
這裡面也有提到,雖然 Netflix 沒有在主頁上使用React,但他們為後續頁面預載入了它。
文章最後面的注釋也值得關注,提到了
1. 為何沒有使用 preact - Fast 3kB alternative to React with the same modern API.
2. 評估 Service Worker 做靜態資源的快取
3. 登陸網頁的 A/B testing - 要支援全世界 200 個以上的國家動態登入頁面 A/B testesting ... Orz
✍ 相關電子書與線上課程
1. 電子書 – Web Performance in Action http://bit.ly/2KdGtce
2. 對於 Server Side React 有興趣可以參考相關線上課程 - 使用 React 與 Redux 在伺服器端排版構圖 http://bit.ly/2KdXumA
3. vanilla JavaScript - Wes Bos免費 JavaScript 30 課程 http://bit.ly/2KdXLG8
https://medium.com/…/a-netflix-web-performance-case-study-c…