当前位置:首页 > 科技  > 软件

Astro是2023年最好的web框架,原因如下

来源: 责编: 时间:2023-10-08 07:05:29 430观看
导读以下解释是全面理解为什么 Astro 在2023年成为最佳 web 框架所必需的。问题:JavaScript过多在 Web 开发世界中,变化发生得非常快,尤其是对前端JavaScript开发者而言。变化之快,以至于我们有时会忘记为谁创建网站和 web

pYT28资讯网——每日最新资讯28at.com

以下解释是全面理解为什么 Astro 在2023年成为最佳 web 框架所必需的。pYT28资讯网——每日最新资讯28at.com

问题:JavaScript过多

在 Web 开发世界中,变化发生得非常快,尤其是对前端JavaScript开发者而言。pYT28资讯网——每日最新资讯28at.com

变化之快,以至于我们有时会忘记为谁创建网站和 web  应用:用户。pYT28资讯网——每日最新资讯28at.com

自从 BackboneJS 和 AngularJS 在2011/2012年变得非常流行后,web 就被SPA(单页应用)淹没了。pYT28资讯网——每日最新资讯28at.com

别误会,只要你想创建一个 web  应用而不是一个带有少量JavaScript交互的网站,SPA 是非常好的。pYT28资讯网——每日最新资讯28at.com

但是... 因为 AngularJS 是由Google制作的,而且使用UI框架进行 JavaScript 编程比使用jQuery 更加时髦和客观上更易于维护,人们开始为每一件事都创建 SPA。pYT28资讯网——每日最新资讯28at.com

是的,所有事情,甚至包括简单的基于内容的网站...pYT28资讯网——每日最新资讯28at.com

这当时导致了两个大问题:pYT28资讯网——每日最新资讯28at.com

  • 后端框架开始针对REST AP I响应进行优化,而不再渲染HTML。因此,我们越来越少地看到带有模板引擎的后端框架,尤其是在NodeJS中。
  • SEO(搜索引擎优化)

SPA在客户端进行渲染,这意味着当像Google这样的搜索引擎爬虫来索引内容时,它们什么也看不到。pYT28资讯网——每日最新资讯28at.com

于是,解决方案出现了:SSR(服务器端渲染)。pYT28资讯网——每日最新资讯28at.com

基本上,这意味着在后端执行前端代码以进行初始渲染。pYT28资讯网——每日最新资讯28at.com

这样做的问题是:我们需要一个NodeJS服务器,因为只有NodeJS后端才能执行客户端语言JavaScript。pYT28资讯网——每日最新资讯28at.com

如果有一个基于内容的网站,这是很多额外的开销。pYT28资讯网——每日最新资讯28at.com

于是,针对这些网站找到了解决方案:SSG(静态站点生成器)和预渲染。pYT28资讯网——每日最新资讯28at.com

SSG在SPA成为一种事物之前就已经存在,但在上述问题出现后,它们变得越来越流行。pYT28资讯网——每日最新资讯28at.com

但是... 它们也有两个大问题:pYT28资讯网——每日最新资讯28at.com

  • 要么它们用的是除JavaScript之外的其他语言编写,这让在不同项目之间共享UI组件变得非常困难。
  • 要么它们是基于像Vue、React或Svelte这样的前端框架用JavaScript编写的,因此由于我们称之为“水合作用”,它们发送了过多的JavaScript。

现实是:有时你只需要一点点 JavaScript 来进行微互动。而且,甚至不是每个页面都需要!pYT28资讯网——每日最新资讯28at.com

这就是 Astro 的用武之地。pYT28资讯网——每日最新资讯28at.com

解决方案:Astro

什么是Astro?

Astro 最初是一个基于 JavaScript 语言的静态站点生成器(SSG),但默认情况下在客户端不生成任何JavaScript。pYT28资讯网——每日最新资讯28at.com

它在构建时执行你的JS代码,就像服务器端渲染(SSR)框架一样,但它不进行水合作用(hydration),因为大多数基于内容的网站不需要 JS。pYT28资讯网——每日最新资讯28at.com

但是当你需要JS时,你该怎么办?pYT28资讯网——每日最新资讯28at.com

只在需要时选择使用 JavaScript

你可以像旧时一样使用JavaScript,通过命令式DOM操作,或者...pYT28资讯网——每日最新资讯28at.com

使用像AlpineJS或Vue-petite这样令人惊叹的东西,它们是即插即用的,并且只发送少量的JS。pYT28资讯网——每日最新资讯28at.com

对于高级场景或当你需要重用其他项目中拥有的UI组件时,Astro创建了:Islands(岛屿)。pYT28资讯网——每日最新资讯28at.com

Astro Islands是独立的组件,你可以从Vue、React、Svelte甚至更多的前端框架(见结论部分)中带来!pYT28资讯网——每日最新资讯28at.com

这是他们能做的最方便的事情。pYT28资讯网——每日最新资讯28at.com

这些组件将被单独渲染,并注入到最终的HTML中。要么是静态的(没有水合作用),要么是动态的(带有JS)。pYT28资讯网——每日最新资讯28at.com

下面是一个使用 Astro 的最终HTML页面可能的样子:pYT28资讯网——每日最新资讯28at.com

pYT28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-12308-0.htmlAstro是2023年最好的web框架,原因如下

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 使用@Log和@Slf4j装饰器提升Spring Boot的日志功能

下一篇: DDD架构下的防御式编程:五大关卡共同保障业务数据的有效性

标签:
  • 热门焦点
  • 一文看懂为苹果Vision Pro开发应用程序

    译者 | 布加迪审校 | 重楼苹果的Vision Pro是一款混合现实(MR)头戴设备。Vision Pro结合了虚拟现实(VR)和增强现实(AR)的沉浸感。其高分辨率显示屏、先进的传感器和强大的处理能力
  • 三万字盘点 Spring 九大核心基础功能

    大家好,我是三友~~今天来跟大家聊一聊Spring的9大核心基础功能。话不多说,先上目录:图片友情提示,本文过长,建议收藏,嘿嘿嘿!一、资源管理资源管理是Spring的一个核心的基础功能,不
  • Python异步IO编程的进程/线程通信实现

    这篇文章再讲3种方式,同时讲4中进程间通信的方式一、 Python 中线程间通信的实现方式共享变量共享变量是多个线程可以共同访问的变量。在Python中,可以使用threading模块中的L
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人员可能会涉及各种各样的安全任务,包括但不限于:开发某些安全工具的插件,满足自己特定的安全需求;自定义github搜索工具,快速查找所需的安全资料、漏洞poc、exp
  • “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • 签约井川里予、何丹彤,单视频点赞近千万,MCN黑马永恒文希快速崛起!

    来源:视听观察永恒文希传媒作为一家MCN公司,说起它的名字来,可能大家会觉得有点儿陌生,但是说出来下面一串的名字之后,或许大家就会感到震惊,原来这么多网红,都签约这家公司了。根
  • 品牌洞察丨服务本地,美团直播成效几何?

    来源:17PR7月11日,美团App首页推荐位出现“美团直播”的固定入口。在直播聚合页面,外卖“神枪手”直播间、美团旅行直播间、美团买菜直播间等均已上线,同时
  • AI艺术欣赏体验会在上海梅赛德斯奔驰中心音乐俱乐部上演

    光影交错的镜像世界,虚实幻化的视觉奇观,虚拟偶像与真人共同主持,这些场景都出现在2019世界人工智能大会的舞台上。8月29日至31日,“AI艺术欣赏体验会”在上海
  • Meta盲目扩张致超万人被裁,重金押注元宇宙而前景未明

    图片来源:图虫创意日前,Meta创始人兼CEO 马克·扎克伯发布公开信,宣布Meta计划裁员超11000人,占其员工总数13%。他公开承认了自己的预判失误:“不仅
Top