Astro 2.0 là một bản phát hành lớn của Astro, một framework web được thiết kế để xây dựng các trang web hiệu suất cao, tập trung vào nội dung. Kiến trúc frontend thế hệ tiếp theo của Astro (được gọi là Astro Islands) có thể tối ưu hóa trang web của bạn để tải nhanh hơn 33% với JavaScript ít hơn đến 90% (đươc đấy ...) bằng cách sử dụng các framework frontend mà bạn đã yêu thích như React, Svelte và Vue. Phiên bản mới này mang đến một số tính năng mới và cải tiến đáng kể, bao gồm:


  • Hiệu suất được cải thiện: Astro 2.0 nhanh hơn 33% so với phiên bản trước, nhờ vào kiến trúc frontend thế hệ tiếp theo (được gọi là Astro Islands) và việc sử dụng các framework UI được yêu thích như React, Svelte và Vue.
  • Type safe: Astro 2.0 hiện hỗ trợ tính an toàn kiểu đầy đủ cho Markdown và MDX, giúp bạn tránh được các lỗi do lỗi nhập liệu.
  • Tính linh hoạt được cải thiện: Astro 2.0 cung cấp nhiều tính năng mới giúp bạn tùy chỉnh trang web của mình hơn, chẳng hạn như khả năng tạo các trang riêng biệt, trang chủ và các trang con.
  • Hỗ trợ tốt hơn cho các framework UI: Astro 2.0 cung cấp hỗ trợ tốt hơn cho các framework UI phổ biến, chẳng hạn như React, Svelte và Vue. Điều này giúp bạn dễ dàng tích hợp Astro với các framework UI hiện có của mình.

Nhìn chung, Astro 2.0 là một bản phát hành đáng kể mang đến nhiều tính năng và cải tiến mới. Nếu bạn đang tìm kiếm một framework web hiệu suất cao và tập trung vào nội dung, thì Astro 2.0 là một lựa chọn tuyệt vời.



Automatic Type-Safety for Markdown & MDX


Astro 2.0 giải quyết một vấn đề bị bỏ qua trong phát triển web hiện đại: làm việc với Markdown/MDX thật khó. Astro 2.0 là thư viện web đầu tiên hỗ trợ typesafe hoàn chỉnh cho MarkdownMDX. Giờ đây, Astro giúp bạn tổ chức các file Markdown của mình với tính năng parsing, validation và tạo type cho TypeScript tự động được tích hợp sẵn. Bản phát hành mới này là một công cụ thay đổi cuộc chơi cho bất kỳ ai làm việc với Markdown trên web.


Khi bạn có hàng trăm files khác nhau - bài đăng trên blog, bản tin, sản phẩm - thì việc kiểm tra tính nhất quán là điều không thể. Một thuộc tính frontmatter bị thiếu hoặc bị lỗi cú pháp và BOOM! Toàn bộ trang web của bạn có thể gặp sự cố với lỗi không thể đọc không xác định không thể khắc phục được.


Đây là một vấn đề thực sự đối với các nhà phát triển web, vì MarkdownMDX là các định dạng phổ biến được sử dụng để viết nội dung cho trang web. Astro 2.0 giải quyết vấn đề này bằng cách cung cấp các tính năng mới để giúp bạn làm việc với MarkdownMDX dễ dàng hơn, chẳng hạn như:

  • Tự động hóa việc kiểm tra tính nhất quán của Markdown và MDX
  • Hỗ trợ cho các thuộc tính frontmatter phức tạp hơn
  • Tạo các trang web có khả năng đọc và duy trì dễ dàng hơn


Hybrid Rendering: Kết hợp SSR và SSG

Bản release đầu, Astro cho phép bạn chọn giữa cách generate HTML tĩnh (SSG) và server render (SSR). Các trang web HTML tĩnh mang lại hiệu suất tuyệt vời, nhưng chúng thiếu khả năng tạo HTML theo yêu cầu cho mỗi lần truy cập.


Astro 2.0 mang đến sự kết hợp tốt nhất cho cả hai cách render với Hybrid Rendering. Hybrid rendering cho phép bạn chọn prerender một số trang nhất định mà không cần từ bỏ server đã triển khai của bạn. Prerendering xây dựng các trang trước để tất cả các yêu cầu sau đó được tải ngay lập tức.



Việc kết hợp nội dung tĩnh và động với nhau mở ra những khả năng hoàn toàn mới cho Astro, bao gồm:

  • Cải thiện hiệu suất hiển thị của các trang phổ biến
  • Cải thiện hiệu suất xây dựng của các trang web lớn
  • Thêm API vào trang web tĩnh hiện có của bạn

Đây là một tính năng mới rất ngon của Astro 2.0. Nó cho phép bạn tận dụng tối đa cả hiệu suất của các trang web tĩnh và khả năng tương tác của các trang web động. Nếu bạn đang tìm cách xây dựng một trang web nhanh, hiệu quả và đẹp mắt, thì Astro 2.0 là một lựa chọn tuyệt vời.



Dev Server Optimizations

Tối ưu hóa server dev: Astro 2.0 nhấn mạnh vào việc đầu tư để cải thiện hiệu suất và độ tin cậy của dev server Astro, đặc biệt là xung quanh Hot Module Reloading (HMR).

Hot Module Reloading (HMR) là một tính năng cho phép bạn thực hiện các thay đổi đối với code của mình và xem các thay đổi đó được phản ánh ngay lập tức trong trình duyệt. Điều này có thể rất tiện lợi khi bạn đang phát triển một trang web, vì bạn có thể thấy ngay lập tức tác động của các thay đổi của mình.

Astro 2.0 đã cải thiện đáng kể hiệu suất và độ tin cậy của HMR. Điều này có nghĩa là bạn có thể code nhanh hơn và ít gặp lỗi hơn (mình đoán vậy).


Vite 4.0

Astro 2.0 bao gồm một bản nâng cấp nội bộ lớn cho một trong những phụ thuộc nội bộ quan trọng nhất: Vite.

Vite là một công cụ phát triển web xịn được sử dụng để tạo và phát triển các ứng dụng web nhanh chóng và hiệu quả. Astro 2.0 đã tích hợp bao gồm một bản nâng cấp lớn cho Vite, bao gồm các tính năng mới như:

  • Hỗ trợ cho các công nghệ mới như TypeScript và React
  • Tăng tốc độ xây dựng và phát triển
  • Cải thiện khả năng gỡ lỗi

Việc nâng cấp Vite trong Astro 2.0 sẽ giúp bạn xây dựng và phát triển các trang web nhanh hơn, hiệu quả hơn và dễ dàng hơn.



Bài viết gốc ở đây: https://astro.build/blog/astro-2/