🔥 หากใครกำลังสงสัยว่า Client-Side Rendering และ Server-Side Rendering มันแตกต่างกันยังไง? เหมาะกับการใช้งานแบบไหน วันนี้แอดสรุปมาให้เพื่อนๆ แล้วจ้า ไปอ่านไปเลย!!
.
✨ Client-Side Rendering (CSR) - การแสดงผลฝั่ง Client
การทำงานของมันคือเมื่อเราสร้างเว็บด้วย React, Angular, หรือ Vue จะมีการทำงานแบบ SPA (Single Page Application) คือในช่วงแรกที่ผู้ใช้เปิดเว็บมา มันจะมีแค่คำสั่ง HTML พื้นฐาน หรือแสดงแค่ Template การแสดงผลเนื้อหาเบราว์เซอร์จะทำการส่ง Request ให้ Server ก่อน จากนั้นจะดึง Code JavaScript ออกมา และแสดงผลเนื้อหาต่างๆ ให้กับผู้ใช้ได้เห็นนั่นเอง
.
👍 ข้อดี
ง่ายต่อการเขียน Code
แสดงผลอย่างรวดเร็ว (ยกเว้นการ Request ครั้งแรก)
เป็นการทำงานแบบแยกส่วน
.
👎 ข้อจำกัด
ไม่ค่อยรองรับ SEO
มีความซับซ้อน
.
🙋 เหมาะกับ: เว็บไซต์ที่ต้องการโต้ตอบกับผู้ใช้อยู่บ่อยครั้ง และมีการเข้าใช้งานแบบนานๆ
.
✨ Server-Side Rendering (SSR) - การแสดงผลฝั่งเซิร์ฟเวอร์
การแสดงผลฝั่งเซิร์ฟเวอร์จะแสดงผลทุกครั้งที่มีการ Request ซึ่งเซิร์ฟเวอร์จะทำการรวบรวมข้อมูลที่อยู่ในฐานข้อมูลและส่งข้อมูลที่ได้ไป Render เป็น HTML Template จากนั้นจะถูกส่งไปยังเบราว์เซอร์เพื่อแสดงผลให้ผู้ใช้เห็น
.
👍 ข้อดี
รองรับ SEO
ง่ายต่อการเขียน Code
ทำงานแบบแยกส่วน
.
👎 ข้อจำกัด
มีความซับซ้อน
.
🙋 เหมาะกับ : เว็บไซต์ที่แสดงผลเนื้อหา โดยที่ไม่มีการโต้ตอบกับผู้ใช้
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
「react client side rendering」的推薦目錄:
react client side rendering 在 Kewang 的資訊進化論 Facebook 的最佳貼文
這一系列文總共有三篇,這是第一篇。
對於用 Vue, Angular, React 這類前端框架來講,如果沒有對 search engine 或 social network 特別處理的話,出來的結果一定不會如你所想的一樣。
因為 client side rendering (CSR) 的作用域通常是在 body 裡面的 container,所以對於 search engine 或 social network 來說,container 外的 head tag 只是一層皮,裡面的資料基本上沒有什麼用,因為解析出來的內容都一模一樣,沒有獨特性。
為了要讓每一頁的 head tag 都不一樣,最簡單的方式就是在 web 這一層的 expressjs server 多加一個特殊的 route,去 catch 所有 web 的 get request,類似附圖的程式碼。
然後搭配 path-to-regexp 來設定特定 url pattern 做不同的 head tag 設計,比如 kewang/trips/123 的 title 叫做 "kewang 的台北二天一夜行程",kewang/journals/456 的 title 叫做 "kewang 的宜蘭三日遊記",當然這裡的例子舉的很簡單,正規的做法應該要搭配資料庫來取得對應的 title 跟 og data 才對,也就是附圖程式裡面的 loadMetaDataFunction。
只要做好這類的處理,在 social network 上面應該就可以所向無敵了。但這世界可不只有 social network,更恐怖的谷歌大神還在後面等著你咧!
下一篇就來講一下如何對付搜尋引擎吧。
#prerender #funliday
react client side rendering 在 ReactJS server-side rendering vs client-side rendering 的相關結果
For a given website / web-application, you can use react either client-side, server-side or both. Client-Side. Over here, you are completely ... ... <看更多>
react client side rendering 在 Client-side Rendering (CSR) - Next.js 的相關結果
In Client-Side Rendering (CSR) with React, the browser downloads a minimal HTML page and the JavaScript needed for the page. The JavaScript is then used to ... ... <看更多>
react client side rendering 在 Client Side Rendering Vs Server Side Rendering in React js ... 的相關結果
When we talk about client-side rendering, it's about rendering content in the browser using JavaScript. So instead of getting all the content from the HTML ... ... <看更多>