首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端新宠 Svelte 带来哪些新思想?赶紧学起来!

传统框架如 React 和 Vue 在浏览器中需要做大量的工作,而 Svelte 将这些工作放到构建应用程序的编译阶段来处理。 需要注意,Svelte 是一款编译器。...传统框架如 React 和 Vue 在浏览器中需要做大量的工作,而 Svelte 将这些工作放到构建应用程序的编译阶段来处理。...只需写以上代码,Svelte 就会自动帮我们做数据响应的操作。一旦数据发生改变,视图也会自动改变。 是不是非常简单! 基础模板语法 Svelte 的模板语法其实和 Vue 是有点像的。...这种语法和 Vue 是有点像的,Vue 使用双大括号的方式 {{}} 绑定数据。Svelte 就少一对括号。 表达式 在 HTML 中除了可以绑定变量外,还可以绑定表达式。...插槽 slot 和 Vue 一样,Svelte 也有组件插槽。 在子组件中使用 标签,可以接收父组件传进来的 HTML 内容。

4.2K20

为什么用 Svelte 写一个小程序如此快速?我用10分钟就搞定了!

Svelte的语法是HTML的超集,所以任何在HTML文件中有效的内容在Svelte文件中也是有效的。 现在的问题是如何把动态的部分放进去。...注意,我们在Angular或Vue 2中发现的这种上下文缺少,或者在Vue 3中缺少特殊值对象,或者在React中缺少setState。在这种情况下,Svelte不需要额外的语法来知道变量已经更新。...在解析过程中,它能够看到像newBook这样的变量在模板中被使用,所以对它的赋值将导致重新呈现。...我们只是在.svelte文件中添加一个标签,并继续在其中编写常规的CSS。...准备好使用 svelte 了吗 那么,在你的下一个项目中使用Svelte安全吗?你的经理可能会问,Svelte是否会在未来几年继续存在,或者会像以前的前端框架明星一样被淘汰。

2.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    前端框架自欺欺人,TypeScript全无必要?

    大致看了下外国小伙的文章,他有以下一些槽点: HTML 不是前端框架最佳的选项; 前端框架引入了复杂度问题; 前端框架编造出的模板语法完全没必要,用 DOM API 更好; 不同框架的模板语法不统一。...这个观点可以代表一部分最早接触 Vue 的人。 正如前面所说,React 当时的设计理念是极简主义,大部分操作都通过 JavaScript 来编写,并且不官方捆绑像状态管理,路由等配套的库。...Vue 采用了跟传统 HTML 开发接近的语法,在同一个文件里,通过 template 标签定义模板,script 标签定义 JavaScript 逻辑,在 style 标签内定义样式。...初学者从传统 HTML 开发转过来,开发思想的惯性得到了保持,开发 Vue 就像在开发 HTML 一样。...而 Vue 不断在易用性的角度深挖,发明了 setup 写法,让定义响应式数据,就跟编写普通的 JavaScript 一样简单。

    64320

    这些前端新技术你很难再忽视了 —— Svelte

    Svelte 与诸如 React 和 Vue 等 JavaScript 框架类似,关键区别有 3 点: 编译时间不一样; 无虚拟 Dom; 响应式原理不一样; 哈~ React、Vue、Svelte...答:用 LOL 英雄来打个比方吧~ Vue 像 LOL 中的 寒冰射手·艾希,上手简单明快,小白萌新只会平A的也可以上手,要玩的好那必须要有一定的意识,上限是有天花板的,而且最好是带上一个辅助配合——...Svelte 像 LOL 中的 暗夜猎手·薇恩,虽然身板也很脆弱,但异常灵活 ,能有很大的秀的空间、门槛偏高,适合高手。...像 LOL 的 皮城执法官·蔚,和皮城女警是 couple,还有个说法:“目前 React、Vue、Svelte 没人能接住 SolidJS 这一拳”,蔚就是拳师,“先打一拳,再把问题问个遍。”...create 顾名思义就是创建 HTML 片段,把模板中的各个用 HTML 元素用 Vanilla API 创建出来,然后 mount 就可以将这个片段添加到页面的 DOM 中。

    1.1K30

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

    因此,我们越来越少地看到带有模板引擎的后端框架,尤其是在NodeJS中。 SEO(搜索引擎优化) SPA在客户端进行渲染,这意味着当像Google这样的搜索引擎爬虫来索引内容时,它们什么也看不到。...要么它们是基于像Vue、React或Svelte这样的前端框架用JavaScript编写的,因此由于我们称之为“水合作用”,它们发送了过多的JavaScript。...Astro Islands是独立的组件,你可以从Vue、React、Svelte甚至更多的前端框架(见结论部分)中带来! 这是他们能做的最方便的事情。 这些组件将被单独渲染,并注入到最终的HTML中。...现在 Astro 还支持SSR,这意味着它也可以像一个简单的后端框架一样运作,配备有目前最优秀的模板引擎。 结论:为什么Astro是2023年最佳的Web框架?...Astro拥有目前最通用的模板引擎: 它支持来自Vue、React、Svelte、Lit、Preact和Solid JS的外部组件。你可以轻松地重用展示性组件。

    45110

    你问的Svelte来了--静态编译、直出DOM、独立分发Web Components、位掩码变化追踪

    Svelte Svelte 是一种全新的构建用户界面的方法。传统框架如 React 和 Vue 在浏览器中需要做大量的工作,而 Svelte 将这些工作放到构建应用程序的编译阶段来处理。...Svelte 编写的代码在应用程序的状态更改时就能像做外科手术一样更新 DOM。 上述是官方的介绍,提取关键词: 用户界面的方法:定位是UI框架。...编译阶段处理: Svelte 直接将模板编译成了原生 DOM,而 vue 等框架会将模板编译成虚拟DOM;浏览器支持原生 DOM 的渲染,无需运行时处理。...像做外科手术一样更新 DOM:采用一种 Bitmask-based change tracking 的机制配合赋值语句实现的。...核心 Svelte 和 vue 等框架最大的不同就是编译成原生 DOM,其意味着单组件可以迁移或者在其他任何前端框架下使用「可独立分发的 Web Components」(因为其不存在运行时构建及对一些标签的支持等问题

    1.2K30

    一文讲透前端新秀 svelte

    举个反例:像某些需要运行时收集依赖的框架,需要在模板渲染时,或者是计算属性被 evaluate 时,才开始进行依赖的收集,这无疑增加了代码执行的耗时。...编写一个 svelte 组件的体验,跟开发原生 web 基本相同:写 HTML 文档结构,在 script 标签内编写 js 代码,在style 标签内编写样式。...上下文:每个 svelte 组件都会有自己的上下文,上下文存储的就是 script 标签内定义的变量的值。...模板中的逻辑分支,抽取成子模板,并为其生成独立的模板实例(包含创建,挂载,更新,销毁等生命周期) 4.2.2.2 视图更新 视图更新时通过patch函数来完成的。...: 图19 if 分支创建逻辑 if 分支的更新: 图20 if 分支更新逻辑 4.2.2.4 循环模板的处理 svelte的循环模板跟条件分支模板一样,也会生成迭代逻辑的子模板,每一个循环迭代都是子模板的实例

    4.5K20

    前端框架的角斗场

    这也就是为什么会出现TypeScript,因为所有的ts文件先被编译成js文件,然后才会被运行在模板机器中,此时代码里的错误在编译阶段就可以抛出异常了。...❞ 编译时也有饭圈 编译时的概念被分为即时编译(JIT)和预编译(AOT): 即时编译(JIT):Just In Time,在宿主环境中边编译边执行 预编译(AOT):Ahead Of Time,编译完成之后在宿主环境中执行...比如提供Show标签代替if语法,使用For标签代替for语法等。从而让它可以在编译时完成大量的工作。...Svelte和Vue都采用了模板语法方案做AOT编译,不过Vue的模板语法是基于HTML的,而Svelte的模板语法是基于JavaScript的,这就导致了Svete可以直接编译出JavaScript代码片段...平衡大师Vue 而Vue编译之后的结果是不可运行的Vnode,在运行时,需要像React一样,解析编译结果为JavaScript代码,然后再目标环境运行代码。

    59221

    高颜值 tailwindcss 后台模板分享

    Vue Notus Vue Notus 是免费和开源的。它具有多个 HTML 和 VueJS 元素,并带有 VueJS 的动态组件。...它是和 vue 完美整合的,你只需要像平常使用开发 vue 项目一样使用它即可。...使用创意蒂姆制作的精美产品加速您的网络开发。 如果你喜欢明亮清新的颜色,你会喜欢这个免费的 tailwindCSS 模板!它具有大量的组件,可以帮助您创建令人惊叹的网站。...Notus Svelte 使用这个免费的 Tailwind CSS 和 Svelte UI Kit 和管理员开始您的开发。...让 Notus Svelte 以其酷炫的功能和构建工具让您惊叹不已,让您的项目达到一个全新的水平。 如果您喜欢明亮清新的颜色,您一定会喜欢这个模板。它具有 100 多种组件,您可以混合搭配。

    3.2K30

    在10分钟内概览Svelte 3的基础知识

    像React和Vue这样的流行框架会在浏览器中完成大部分工作,而Svelte会将这些工作转变为在构建应用程序时发生的编译步骤。” 以上这段话是在他们的官方网站上所描述,但这到底是什么意思?...如果你用过react或vue,则就像React中用来给ReactDOM进行渲染或者使用Vue中的el:'body' 来绑定该元素 props 有某些组件可以从它的父级接受一些数据或者是属性...-- 可以有一个或者多个html/svelte 标签来让你选择--> 在标签中通常写普通的JS代码,标签中写样式(如果你想写Scss的话,也可以进行预处理)。...除了这两个标签之外的所有内容都将成为我们正在写的组件的模板。 Props 为什么要使用export let name;呢?...不要忘记将值放在方括号中以表示其js值而不是文本值{thing}。 就像您使用bind一样,在class:done等于的标签上添加**a标签 **todo.done.

    1.8K30

    Svelte 3 快速开发指南(对比React与vue)

    嗯,它有一些有趣的卖点: Svelte是编译器,而不是像 React 或 Vue 这样的依赖项 Svelte 似乎需要更少的代码,用 React 开发同样的功能代码量大约会多 40% (来源:Rich...它只是用来制作 Git repos 的副本,在我们的例子中,我们将把 Svelte 模板克隆到一个新文件夹中(或者在你的Git repo中)。... 这是一个 Svelte 组件!真的,它需要的只是一个脚本标签、一个样式标签和一些 HTML。 name 是一个变量,然后在 HTML 中的花括号之间插入并使用。...有一种方法可以从外面传递该列表,就像React 中的子 props 一样。在 Svelte,我们将子组件称为插槽(slot)。...Svelte 3 充分利用了两个世界:Svelte 组件看起来像 Vue,而 React 的一些概念也同样适用。

    12.2K30

    都快2020年,你还没听说过SvelteJS?

    注意这里的CSS是局部生效的(scope),也就是说App.svelte中的h1标签的样式只会对App组件内的h1标签生效,而对项目其他的包括这个组件的子节点的h1标签失效。...组件的HTML标签可以直接在文件中写出来,例如App组件的HTML部分是: Hello {name}!...总的来说Svelte会将所有和组件相关的JavaScript,CSS和HTML代码都放在同一个文件里面,这个做法有点像Vue,不过和Vue相比它的模板代码更少。...这段代码的作用和React中的ReactDOM.render函数一样。 接着让我们看一下生成的静态代码是什么样子的。...看完Svelte生成的代码后,我想你对我在文章开头说的Compiler-as-framework等概念应该有了更加深刻的认识,Svelte和React(Vue也类似)不一样的是,React应用在打包完之后

    3.2K10

    从Todolist入门Svelte框架

    三种情形 实现:通过svelte框架在html中写if-else判断,点击状态按钮使当前todo对象的状态值改变,然后根据不同的状态值加载不同的html标签,在写的过程中遇到一个神奇的问题 {#if user.loggedIn...这就意味着,框架本身所依赖的代码也会被打包到最终的构建产物中,因此Vue和React等框架打包后的体积相较于Svelte会相对更大。 ​...但是用 Svelte 就不一样,一个 Svelte 组件编译了以后,所有需要的运行时代码都包含在里面了,除了引入这个组件本身,你不需要再额外引入一个所谓的框架运行时。 ​...在此前写Todolist中也我也发现Svelte不需要依赖模板文件,这不仅对代码量来说是减轻对于开发者来说学习成本同样也降低了。...不错的运行速度 前端框架性能对比,结果中Svelte 略逊于Vue, 但好于 React。

    1.5K20

    Astro 开启网站性能与开发效率的双重提升之旅

    尽管岛屿在不同的组件上下文中运行,它们仍然可以共享状态并相互通信。这种灵活性使得 Astro 能够支持多个 UI 框架,如 React、Preact、Svelte、Vue 和 SolidJS。...这些框架擅长于在浏览器中构建复杂的、类似应用程序的体验:登录后的管理仪表板、收件箱、社交网络、待办事项列表,甚至是像 Figma 和 Ping 这样的类原生应用程序。...但是,它还结合了我们从其他组件语言中借用的一些我们最喜欢的功能,如 JSX 表达式(React)和默认使用 CSS 作用域(Svelte 和 Vue)。...React、Preact、Svelte、Vue、Solid、Lit 和其他的,包括 Web components,都支持在 Astro 项目中编写 UI 组件。...这意味着你无需担心:hooks (React)、stale closures (还是 React)、refs (Vue)、observables (Svelte)、atoms、selectors、reactions

    11610

    轻量级工具Vite到底牛在哪, 一文全知道

    选项包括: vanilla vue vue-ts react react-ts preact preact-ts lit-element lit-element-ts svelte svelte-ts...单页申请 接着我们来设置一个单页应用程序,试试Vue 运行npm init @vitejs/app并选择Vue模板后,可以获得Vite,Vue和一个来编译Vue的Vite插件。...调整Vite的汇总配置之后,我们可以使用Vite创建多个页面,如文档中的多页应用。...通过在社区中提供的插件vite-plugin-vue-router,我们可以像使用Nuxt一样,基于文件路径生成路由器。...Vite本质上是针对各自库和复杂Web应用程序的,进行了优化的Web应用程序框架。以后一定会出现为Vite创建Vue + Vue路由器+ Vuex模板的形式,我们预感这会比Nuxt更好。

    4.1K40

    JavaScript Web 框架的“新浪潮”

    到本文结束时,我们会列出流行框架的高级模型,如 React、Svelte、Vue、Solid、Astro、Marko、Fresh、Next、Remix、Qwik,以及适合当今环境的“元框架” 。...就像任何可以通过引入一个新的间接级别来解决的问题一样,React 把它抽象到了虚拟 DOM 后面。 人们只有在 100 毫秒以内感知到反馈,才会感到流畅。而在做像滚动页面这样的事情时则要低得多。...Facebook 如何解决这些问题 我们将继续绕行,了解 React 的一些权衡如何在规模上得到缓解。这将有助于构建新框架中的模式。...像 React 一样,它也避免了使用模板来简化函数的可组合性。 而 React 采取的是不断重新渲染世界的方法。...在 Javascript 生态系统中,这是对 Node.js 之后不久的基于服务器的模板制作的一种倒退。 这一轮的 MPA 与前几代不同。

    75430

    JavaScript Web 框架的“新浪潮”

    到本文结束时,我们会列出流行框架的高级模型,如 React、Svelte、Vue、Solid、Astro、Marko、Fresh、Next、Remix、Qwik,以及适合当今环境的“元框架” 。...就像任何可以通过引入一个新的间接级别来解决的问题一样,React 把它抽象到了虚拟 DOM 后面。 人们只有在 100 毫秒以内感知到反馈,才会感到流畅。而在做像滚动页面这样的事情时则要低得多。...Facebook 如何解决这些问题 我们将继续绕行,了解 React 的一些权衡如何在规模上得到缓解。这将有助于构建新框架中的模式。...像 React 一样,它也避免了使用模板来简化函数的可组合性。 而 React 采取的是不断重新渲染世界的方法。...在 Javascript 生态系统中,这是对 Node.js 之后不久的基于服务器的模板制作的一种倒退。 这一轮的 MPA 与前几代不同。

    79920
    领券