ทาง Microsoft เพิ่งปล่อย .NET 9 ตัวเต็มออกมา
ทำการเพิ่ม feature ปรับปรุง experience และ performance หลายอย่าง
ดังนั้นจึงทำการ download และลองใช้งานกันดูหน่อย ว่าเป็นอย่างไร
มาเริ่มกันเลย
จะใช้งาน ASP.NET Core เป็นหลัก สำหรับการพัฒนา
ทั้งส่วนของ Frontend และ Backend
ส่วนใหญ่ผมจะใช้สำหรับพัฒนา RESTFul API ฝั่ง Backend มากกว่า
ความสามารถแรกที่น่าสนใจคือ ปรับปรุงเรื่อง Static file
ช่วย optimize ขนาดของ static file เช่น HTML, CSS, JS, image ใน assets
โดยใน code สามารถเพิ่ม app.MapStaticAssets();
ซึ่งเข้ามาแทนการใช้งาน app.UseStaticFiles();
จะทำการบีบอัด fiile ต่าง ๆ ให้
- gzip ใน development
- gzip + brotli ในการ publish
- ใส่ Etags ให้
ต่อมาคือ Build-in OpenAPI document ให้เลย
ดังนั้นมาลองใช้งานกันหน่อย
เริ่มด้วยการติดตั้ง และ สร้าง project
มาดู code
- เพิ่ม AddOpenApi มาใน service
- เพิ่ม MapOpenAPI ใน router/endpoint
ทำการติดตั้ง dependency เข้ามาคือ
ผลการทำงาน
แต่ถ้าต้องการแสดงผลในรูปแบบ UI สวย ๆ ในระบบงานเลย
ต้องทำการติดตั้ง library เพิ่มเติม เช่น
- Swashbuckle.AspNetCore.SwaggerUi
- Scalar.AspNetCore
หรือติดตั้ง command line tool อื่น ๆ เช่น SwaggerUI และ ReDoc เป็นต้น
ตัวอย่างการใช้งาน Scalar.AspNetCore
ทำการ run และเข้าไปดูใน web browser :: http://localhost:5062/scalar/v1
ในส่วนของ Authentication และ Authorization
ทำการเพิ่ม Pushed Authorization Requests (PAR) เข้ามาใน OpenIdConnectHandler
เป็นแนวทางใหม่เพื่อปรับปรุง OAuth แบะ OIDC
ซึ่ง PAR สนับสนุน identity provider ดังนี้
- Keycloak
- Curity
- Duende IndentityServer
- Authlete
ใน .NET 9 นั้นได้เพิ่ม PAR เข้าไปให้แบบ default เลย
ยังมีความสามารถอื่น ๆ เช่น
- HybridCache ที่ยังอยู่ใน preview version
- ปรับปรุง exception page
ถ้าใครเปิดใช้งาน application metric สามารถปิดได้ใน code
ปิดด้วยยิงเล่นแบบเล็ก ๆ กันหน่อย
ลอง Download มาใช้งานกันดูครับ
ขอให้สนุกกับการ coding