首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
vue和blazor
2024-09-02
Blazor和Vue对比学习(基础1.1):组件结构
难度:★ 简单说一说: 1.Vue和Blazor都遵循单文件结果,即HTML(视图模板).CSS(样式).JS/C#(代码逻辑)写在一个文件里,Vue的文件后缀为.vue,Blazor的文件后缀为.razor 2.三个部分的区别: 1)视图HTML部分,区别在于模板语法,主要是标签内容和标签属性的数据绑定.另外,Vue需要使用顶级标签<template>,Blazor不需要,上来就可以直接撸HTML. 2)样式CSS部分,基本一样,可能高级功能有一些差异,这部分目前关注的比较少,估计Vue会更
Blazor和Vue对比学习:说在开始前
1.Vue:现代前端三大框架之一(Vue/React/Angualr),基于HTML.CSS和JavaScript,2014年正式对外发布,目前已发展到3.X版本.值得说道的是,Vue的创始人作者是华裔尤雨溪,这可能也是Vue在中国特别受欢迎的原因之一. 2.Blazor:.NET技术体系的现代前端框架,基于HTML.CSS和C#,2019年正式发布了Blazor Server,2020年发布Blazor Webassembly,2022年还将发布Blazor Hybrid.Blazor的这三个
Blazor和Vue对比学习(基础1.2):模板语法和Razor语法
Vue使用模板语法,Blazor使用祖传的Razor语法,从逻辑和方向上看,两者极为相似,比如: 都基于HTML 都通过声明式地将组件实例的状态(数据/方法)绑定到呈现的DOM上 都通过指令实现更加丰富的视图/HTML与逻辑/JS和C#的互动应用 底层机制都是通过虚拟DOM,实现差量更新 工程组建方式都基于组件树 都具有单文件组件特征 但在具体实现和语法上,两者有比较大的差异.给人的总体感觉就是,都很熟悉,但就是不太一样.以下仅对语法基础进行逐点比较,内容较多,目录如下: 标签内容绑定(单向)
Blazor和Vue对比学习(基础1.3):属性和父子传值
组件除了要解决视图层展示.视图层与逻辑层的数据绑定,还需要解决一个重大问题,就是在组件树中实现数据传递,包括了父到子.子到父.祖到孙,以及任意组织之间.而我们上一章讲到的实现双向绑定的两个指令,Vue的v-model,Blazor的@bind,可以认为是父到子和子到父,两个方向同时实现的语法糖,后面章节我们再来实现它. 我们先从最简单的父子传值开始学习.在Vue和Blazor中,都是通过属性来实现父子组件的数据传递.我们以往都是在html标签上设置属性,属性值可以是字面量,也可以绑定逻辑数据.比
Blazor和Vue对比学习(基础1.6):祖孙传值,联级和注入
前面章节,我们实现了父子组件之间的数据传递.大多数时候,我们以组件形式来构建页面的区块,会涉及到组件嵌套的问题,一层套一层.这种情况,很大概率需要将祖先的数据,传递给子孙后代去使用.我们当然可以使用父传子的方式,使用属性一级级往下传,但这样真得很麻烦.所以在Vue和Blazor都提供了祖孙传值的方案. 插个话题:有人会问,子传父是不是也可以一级级往上传?当然可以,但你绝不要这么去做.子传父就已经够绕了,不要为难自己.如果有这种需求,应该考虑数据状态从组件中剥离出来,我们将在进阶章节,一起学习"状
Blazor和Vue对比学习(基础1.8):Blazor中实现计算属性和数据监听
1.7章<传递UI片断>,需要做几个案例,这部分暂停消化几天.我们先把基础部分相对简单的最后两章学习了. 计算属性和数据监听是Vue当中的概念,本质上都是监听数据的变化,然后做出响应.两者的区别,在于响应方式的不同. 1.计算属性,如[const result = computed(()={return a + b})].知名见意,是一个计算表达式,表达式中使用到的响应式变量都是它监听的对象,只要其中有任何变量发生变化,结果都会重新计算.可以理解为EXCEL里的计算,比如某个单元格的公式为&q
Blazor和Vue对比学习(进阶2.2.4):状态管理之持久化保存(2),Cookie/Session/jwt
注:本节涉及到前后端,这个系列的对比学习,还是专注在前端Vue和Blazor技术,所以就不撸码了,下面主要学习概念. 我们知道,Http是无状态协议,客户端请求服务端,认证一次后,如果再次请求,又要重新认证,因为对服务端来说,客户端的每次请求都是无差别的!另外,服务端的授权体系,一般使用基于RBAC角色权限模型.角色信息,我们可以在客户端每次请求都,都查询一次,但这样比较消耗资源.最好的方式,是客户端第一次请求时,就将角色传给客户端,之后客户端每次请求,直接携带角色信息.而这些问题,都需要使用C
.NET 5下的Blazor是否可以大规模正式使用?
今天在微信群讨论了很多Blazor是否可以正常用的问题.大家争的面红耳赤的. 于是趁着无聊,就水了这么一篇文. 还记得Blazor还在预览版的时候,我就开始关注Blazor了. 那会儿调试Blazor还得在浏览器地址栏输入一堆命令,调试都贼不方便.打包出来也是很大,浏览器也很卡顿. 可以从以下几个方面来说一下为什么我认为Blazor可以在小规模的正式环境中使用.以及哪些地方不太适用Blazor 1.包大小 但是如今几年过去了.Blazor从一开始的一堆好几M的库,到现在5.0版本 Hello W
微软宣布加入 OpenJDK,看网上各派的热闹
微软宣布加入 OpenJDK 项目(https://www.oschina.net/news/111036/microsoft-to-participate-in-openidk),这两天在微信公众号里面有几种论调: 当时想干掉Java的巨头,现在加入了Java社区: https://mp.weixin.qq.com/s/AfO9jLQ3s6Vfm44V4wNOfg 微软宣布加入 OpenJDK,打不过就改变 Java 未来! https://mp.weixin.qq.com/s/aVITn5q
.Net/.Net Core 的界面框架 NanUI 发布新版本啦!
发布前感悟 NanUI 自从上一次更新 NanUI 0.7 已经过去大半年,B站和头条的教学视频也只制作到了第二集. 有朋友悄悄问我是不是发生什么事故我删库跑路了所以那么长时间不更新项目不发布教程,当然,这只是玩笑而已. 实际情况是 NanUI 0.7 基于 ChormiumFX 项目进行开发,刚刚发布 0.7 之后我就发现了框架自生存在有重大 BUG 而且是我没有能力处理的那种. 本想联系作者深入探讨下这个 BUG,谁知道 ChromiumFX 的项目似乎突然中止了,截至目前位置项目首页任然是
Azure 静态 web 应用集成 Azure 函数 API
前几次我们演示了如果通过Azure静态web应用功能发布vue跟blazor的项目.但是一个真正的web应用,总是免不了需要后台api服务为前端提供数据或者处理数据的能力.同样前面我们也介绍了Azure函数服务,Azure函数的http trigger可以对http作出响应,可以完美的承当web api的角色.现在Azure静态web应用可以直接集成Azure函数,使得一次发布可以同时发布前端项目(vue.blazor)及后台api服务(azure函数). 新建Azure函数 上次已经演示过如何
尝鲜一试,Azure静态网站应用服务(Azure Static Web Apps) 免费预览,协同Github自动发布静态SPA
背景 最近在浏览微软的文档的时候发现,微软喜欢用Hugo这个文档框架,有些技术产品的文档页面就用Hugo来做的,同时搭配Github + Azure Static Web Apps Service这个组合来完成自动构建和发布. 刚好我也有个和Hugo类似的静态前端框架在用,结果还真的在Azure Static Web Apps Service支持的范围内,索性就尝鲜一试. 什么是Azure静态网站应用服务(Azure Static Web Apps) Azure Static Web Apps是
使用WtmPlus低代码平台提高生产力
低代码平台的概念很火爆,产品也是鱼龙混杂. 对于开发人员来说,在使用绝大部分低代码平台的时候都会遇到一个致命的问题:我在上面做的项目无法得到源码,完全黑盒.一旦我的需求平台满足不了,那就是无解. 与其他平台的黑盒模式相比,WTMPlus上面创建的项目可以随时下载100%开源的高质量代码,他给开发人员提供了大幅提高生产力的工具,而不是逼迫开发人员去学一套新的开发体系,还不知道他背后给你生成的是啥. 以目前的技术水平,低代码平台必然无法解决用户所有的需求,一旦需求无法满足,又没有源码,开发人员往
一款开源的跨平台实时web应用框架——DotNetify
今天给大家介绍一个开源的轻量级跨平台实时HTML+C#.NET Web应用程序开发框架--DotNetify,允许你在C#.NET后端上创建具有React.React Native.Vue或Blazor 前端的实时.响应式.跨平台应用程序.我们有一个优雅的说法叫后端MVVM. 他的特点是: 简单且轻量 响应式后端MVVM 内置实时解决方案 跨平台 强大的基础设施 官网:https://dotnetify.net/ ,官网上提供了非常详细的文档. github:https://github.com
「译」Blazor VS React React / Angular / Vue.js
原文作者: Christian Findlay 原文链接: https://christianfindlay.com/2020/06/04/blazor-vs-react-angular-vue-js/ Blazor是一项新的Microsoft技术,允许开发人员使用C#为浏览器编写代, 本文将Blazor与其他三个常见SPA框架进行了比较:React,Angular和Vue.js, JavaScript是当前基于浏览器的单页应用程序(SPA)最受欢迎的语言,因为直到最近,它还是在浏览器中运行的唯
Blazor和Vue对比学习(基础1.4):事件和子传父
Blazor和Vue的组件事件,都使用事件订阅者模式.相对于上一章的组件属性,需要多绕一个弯,无论Blazor还是Vue,都是入门的第一个难点.要突破这个难点,一是要熟悉事件订阅模式<其实不难>:二是多练几次.熟悉套路.接下面,我们开始学习以下几个知识点 事件订阅模式 使用事件订阅模式实现子传父 子传父参数详解 事件定义的校验 Vue中使用模板,定义和触发事件的方法 Blazor中委托可以传递参数吗 一.事件订阅模式(简单的知道整个结构是怎样就可以了) 1.事件的两个主体:事件拥有者和事件订阅
Blazor和Vue对比学习(基础1.5):双向绑定
这章我们来学习,现代前端框架中最精彩的一部分,双向绑定.除了掌握原生HTML标签的双向绑定使用,我们还要在一个自定义的组件上,手撸实现双向绑定.双向绑定,是前两章知识点的一个综合运用(父传子.子传父),但因为又多了一层抽象,有一点小难度,需要一点时间和练习来熟悉套路,但必须要越过去.此后,基础部分就是一马平川了.此章我们分为以下几个部分来一起学习: 补充:HTML标签和组件 HTML标签的双向绑定 自定义组件的双向绑定 再次认识指令属性/修饰符 一.补充:HTML标签和组件 在学习双向绑定前,我
Blazor和Vue对比学习(基础1.7):传递UI片断,slot和RenderFragment
组件开发模式,带来了复用.灵活.性能等优势,但也增加了组件之间数据传递的繁杂.不像传统的页面开发模式,一个ViewModel搞定整个页面数据. 组件之间的数据传递,是学习组件开发,必须要攻克的难关.这个章节,我们将一起学习如何将UI片断传递给子组件.子组件的UI片断,由父组件来提供,子组件接收到后直接渲染,这种场景的使用范围还是比较多的.我们之前对自定义组件的操作,一直都是在标签属性的位置,从来没有在标签体内容的位置搞过[<Child>这个位置</Child>].这个位置,就是为传
Blazor和Vue对比学习(基础1.9):表单输入绑定和验证,VeeValidate和EditFrom
这是基础部分的最后一章,内容比较简单,算是为基础部分来个HappyEnding.我们分三个部分来学习: 表单输入绑定 Vue的表单验证:VeeValidate Blazor的表单验证:EditForm 一.表单输入绑定 表单输入主要涉及前面章节的双向绑定,但不需要我们自定义,直接使用就行.如果已经掌握了"1.6章节双向绑定",那这部分的知识点简直"洒洒水".Vue的v-model指令,为所有原生的HTML组件做了一些特殊处理,不仅支持双向绑定,也支持check或ra
Blazor和Vue对比学习(进阶2.1.1):生命周期,基本理解和使用
一.基本理解 首次接触"生命周期"这个名词,是比较晦涩的,Vue中又有生命周期钩子,而Blazor则是虚方法重写,容易蒙.所以,我尝试从初学者的角度来阐述一下. 1.我们在基础部分已经知道,组件有两部分组成,一是逻辑层,有数据和方法(方法本质上也是数据):二是视图层,虽然有自定义组件,但拆到底,还是HTML原生标签. 2.组件的初次呈现,可以先简单的理解为两个过程,第一步,完成逻辑层的实例化,类似于一个类的实例化,为视图层准备数据:第二步,完成视图层DOM的渲染,会使用到逻辑层的数据.
热门专题
hinstance类型
Java 数据库字段生日年龄的计算
docker mysql8设置忽略大小写
XMLHttpRequest()中的方法
wowbook.js 动态加载页面
京东 idea快捷键大全
k8s ingress 代理集群外的ip
猴子吃桃子编程题答案C语言的返回值为
js from判断英文特殊字符
chocolaty 官网
js的onmouseover和css的hover有什么区别
spi接口 arduino、
psnr计算 python 库
ubuntu socket服务器 远程打不开
sqlite 文本转化为日期
opencv AKAZE 匹配
微信小程序 动态载入样式怎么设置
layui下拉框 饥饿后台数据循环
notepad打开文件夹的所有txt
c# 自动邮件 超链接