%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#fabd2f", "primaryTextColor": "#282828", "primaryBorderColor": "#b57614", "lineColor": "#7c6f64", "secondaryColor": "#83a598", "tertiaryColor": "#b8bb26", "background": "#fbf1c7", "mainBkg": "#ebdbb2", "fontFamily": "Tahoma, sans-serif"}}}%% flowchart LR subgraph Era1["ยุค CSR / Client Render"] A["SPA BundleBrowser render ทั้งหมด"] end subgraph Era2["ยุค Angular Universal / SSR"] B["Server Render HTMLส่ง HTML พร้อมอ่าน"] C["SEO + First Loadดีขึ้น"] end subgraph Era3["ยุค Hydration / Modern SSR"] D["HydrationClient รับช่วงต่อ"] E["Transfer Stateส่งข้อมูลจาก server ไป client"] end A --> B --> C --> D --> E
%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#fabd2f", "primaryTextColor": "#282828", "primaryBorderColor": "#b57614", "lineColor": "#7c6f64", "secondaryColor": "#83a598", "tertiaryColor": "#b8bb26", "background": "#fbf1c7", "mainBkg": "#ebdbb2", "fontFamily": "Tahoma, sans-serif"}}}%% flowchart TD A["Browser Requestขอหน้าเว็บ"] --> B["Express SSR Serverserver.ts"] B --> C["Angular Renderสร้าง HTML"] C --> D["HTML Responseส่งหน้าเต็ม"] D --> E["Browser Hydrationรับช่วงต่อ"] E --> F["Interactive Appใช้งานได้"]
{{ message }}