Astro 不仅仅是又一个网页框架;它是构建内容驱动网站的革命性方法,改变了我们对前端架构的看法。无论您是创建博客、营销网站还是电子商务平台,Astro 凭借其出色的速度、卓越的 SEO 和一体化的解决方案在众多框架中脱颖而出。
Astro 为网站开发提供了一个全面的解决方案,一切都尽在掌握之中。无需操心多个工具或集成 - Astro 包含您需要的一切。具有各种
Astro 建立在五个核心设计原则之上,每个原则都解决了 Web 开发的特定方面:
与为 Web 应用程序设计的框架不同,Astro 擅长构建内容丰富的网站。从营销和文档网站到博客和电子商务平台,Astro 确保您的内容能够迅速抵达目标受众。
Astro 利用服务器渲染,这是传统服务器端框架如 PHP、WordPress、Laravel、Ruby on Rails 等数十年来一直在使用的方法,而无需学习第二种服务器端语言。这与其他现代 JavaScript Web 框架(如 Next.js、SvelteKit、Nuxt、Remix 等)的方法形成鲜明对比。这些框架主要以客户端渲染整个网站,并主要包含服务器端渲染以解决性能问题。这种方法被称为 单页应用(SPA),与 Astro 的 多页应用(MPA) 方法形成对比。
Astro 的以服务器为先的方法允许您只在必要时选择并使用客户端渲染。您可以选择添加在客户端上运行的 UI 框架组件。您可以利用 Astro 的视图过渡路由,更精细地控制选定页面的过渡和动画。Astro 的服务器优先渲染,无论是预渲染还是按需渲染,提供了性能优越的默认设置,可以进行增强和扩展。
Astro 致力于性能的承诺在统计数据中得以体现。使用 Astro 构建的网站可以比使用最流行的 React Web 框架构建的相同站点加载速度快 40%,JavaScript 使用量减少 90%。这对于用户参与度、转化率以及整体成功非常关键。
Astro 被设计为对每个 Web 开发者都具有可访问性,简化了开发过程。其.astro
UI 语言是 HTML 的超集:任何有效的 HTML 都是有效的 Astro 模板语法!因此,如果您能够编写 HTML,您就能够编写 Astro 组件!但是,它还结合了我们从其他组件语言(如 JSX 表达式(React)和默认 CSS 作用域(Svelte 和 Vue))借鉴的一些喜爱功能。与 HTML 的亲密关系还使其更易于使用渐进增强和常见的无障碍模式,而无需任何开销。
我们确保您还可以使用您已经熟悉的喜爱的 UI 组件语言,甚至可以重用您可能已经拥有的组件。在 Astro 项目中,支持 React、Preact、Svelte、Vue、Solid、Lit 以及其他,包括 Web 组件,作为编写 UI 组件的工具。
Astro 的设计要比其他 UI 框架和语
言更简单,其中一个重要原因是 Astro 的设计是在服务器上渲染的,而不是在浏览器中。这意味着您无需担心:钩子(React)、陈旧的闭包(同样是 React)、引用(Vue)、可观察对象(Svelte)、原子、选择器、反应或推导。在服务器上没有反应性,因此所有这些复杂性都消失了。
我们最喜欢的说法之一是:选择加入复杂性。 我们设计 Astro 的目标是从开发者体验中尽可能地删除“所需的复杂性”,尤其是在您首次启动时。您可以使用仅包含 HTML 和 CSS 的 Astro 构建“Hello World”示例网站。然后,当您需要构建更强大的东西时,您可以在前进的过程中逐渐寻找新的功能和 API。
我们坚信,只有在人们喜欢使用 Astro 时,Astro 才是一个成功的项目。Astro 拥有支持您构建 Astro 的一切所需的一切。
Astro 投资于开发人员工具,如从打开终端开始的出色 CLI 体验,用于语法高亮的官方 VS Code 扩展,TypeScript 和智能感知,以及由数百名社区贡献者积极维护的文档,提供 14 种语言的支持。
我们在 Discord 上拥有一个友好、尊重和包容的社区,随时提供支持、激励和鼓励。在“#support”线程中寻求项目帮助。访问我们专门的“#showcase”频道,分享 Astro 网站、博客文章、视频,甚至正在进行中的工作,以获取安全反馈和建设性的批评。参与定期的直播活动,如我们每周的社区电话:“谈话和文档”,以及 API/错误修复活动。
作为一个开源项目,我们欢迎来自各种经验水平的社区成员的所有类型和大小的贡献。欢迎您参与 Astro 的路线图讨论,以塑造 Astro 的未来,并希望您为核心代码库、编译器、文档、语言工具、网站和其他项目贡献修复和功能。