• 2024-06-22WebAssembly与Rust:高性能计算的前端应用
    WebAssembly(简称Wasm)是一种二进制格式,旨在作为一种高效的、低级的虚拟机指令格式,使得非JavaScript语言能够以接近原生的速度在Web上运行。Rust作为一种系统编程语言,以其内存安全和高性能著称,是开发WebAssembly应用的理想选择。准备工作首先,确保安装了Rust工具链和wasm-pac
  • 2024-06-17从11个视角看全球Rust程序员2/4:深度解读JetBrains最新报告
    讲动人的故事,写懂人的代码5Rust代码最常使用什么协议与其他代码交互?RESTAPI:2022年:51%2023年:51%看上去RESTAPI的使用比例挺稳定的,没啥变化。语言互操作性(LanguageInterop):2022年:53%2023年:43%语言互操作性的比例在2023年下来了一些,掉了10个百分点。远
  • 2024-06-01WebAssembly作为PLC(可编程逻辑控制器)引擎技术的10大优势
    WebAssembly(简称Wasm)是一种用于在现代Web浏览器中安全执行低级代码的二进制指令格式。它被设计为一种与语言无关的目标格式,这意味着可以用任何编程语言编写代码,然后编译成Wasm。将WebAssembly作为PLC(可编程逻辑控制器)IEC61131-3编程语言的的中间格式,可以带来一系列显著的优点,以下
  • 2024-06-01WebAssembly作为PLC(可编程逻辑控制器)引擎技术的10大优势
    WebAssembly(简称Wasm)是一种用于在现代Web浏览器中安全执行低级代码的二进制指令格式。它被设计为一种与语言无关的目标格式,这意味着可以用任何编程语言编写代码,然后编译成Wasm。将WebAssembly作为PLC(可编程逻辑控制器)的中间格式,可以带来一系列显著的优点,以下是一些主要的亮点:性
  • 2024-05-12Blazor WebAssembly使用 AuthenticationStateProvider 自定义身份认证
    本文章以客户端基础,实现类似后台系统,进入后台控制台页面需要经过登录身份验证才可访问情况简单来时就是实现前后端分离,前端通过token和用户信息进行身份认证,或者在 AuthenticationStateProvider 实现方法 GetAuthenticationStateAsync 中调用后台接口进行身份验证安装依
  • 2024-04-13基于WebAssembly开发网页端
    基于WebAssembly开发网页端来源  https://zhuanlan.zhihu.com/p/162082688 序言QtforWebAssembly,是Qt在2018年发布的技术,于5.12加入到Qt,官方对此技术介绍如下:https://www.qt.io/blog/2018/05/22/qt-for-webassembly简单的说,这是一个让Qt程序可以直接跑在web中的一个方
  • 2024-03-20wasm 学习笔记,写个求和demo
    最近由于工作内容需要,正好学习了一下wasm(WebAssembly的缩写)。下面通过一个例子说明如何使用:c++写的方法打包成wasm文件后,js如何调用里面方法:要将C++写好的方法打包成wasm文件,并在JavaScript中调用其中的方法,可以按照以下步骤进行:首先,使用Emscripten工具链将C++代
  • 2024-03-15深入了解WebAssembly:编译与测试指南
    在当今的Web开发中,WebAssembly(简称Wasm)作为一种新型的低级字节码格式,正在逐渐流行。它提供了一种高效的方式,使得在Web浏览器中运行性能密集型应用程序成为可能。这里我们将深入探讨如何编译和测试Wasm文件,以及相关的最佳实践和工具。1.WebAssembly简介: WebAssembly(Wasm)是一
  • 2024-03-07Blazor笔记-Project Struct
    更新记录注意:非教程。纯笔记,日常查询用的。需要教程的小伙伴找几本书看看即可哈哈,有Vue基础的话非常快,概念都是通的。非工作需要不建议深入学习Blazor,深入Vue吧,用的多,哈哈。完整目录地址:https://www.cnblogs.com/cqpanda/p/17596348.html点击查看2024年3月7日发布。2023
  • 2024-02-19WebAssembly照亮了 Web端软件的未来
    WebAssembly的发展历程相对较短,但影响深远。WebAssembly于2015年首次发布,先驱技术是来自Mozilla的asm.js和GoogleNativeClient,最初的实现是基于asm.js的功能集。自2017年3月由WebAssembly创造的MVP的预览版发布以来,WebAssembly发展迅速,目前已经部署到了所有主流浏览器。到了
  • 2024-02-18Blazor WebAssembly 本地调试时如何将项目运行在子目录
    假设项目名为MyApp,想要运行的子目录名也叫MyAppMyApp.csproj<PropertyGroup> <StaticWebAssetBasePath>MyApp</StaticWebAssetBasePath></PropertyGroup>Properties/launchSettings.json"https":{"commandName":"Projec
  • 2024-02-14【译】使用.NET将WebAssembly扩展到云(一)
    原文|RichardLander翻译|郑子铭WebAssembly(Wasm)是一种令人兴奋的新虚拟机和(汇编)指令格式。Wasm诞生于浏览器,是Blazor项目的重要组成部分。Wasm的第二个行动是针对应用程序和功能的云计算。WebAssembly系统接口(WASI)是新的推动者,为WebAssembly代码提供了一种安
  • 2024-02-12[Blazor WebAssembly] 学习随笔——组件1.微信弹框(WXDialog)
    总有以下的需求:等待用户确认,就是有【确定】和【取消】按钮,有个标题和内容的弹框(比如:您确定要删除吗?)就是告知一下,就是上面的【取消】按钮不显示(比如:保存成功!)莫有按钮,几秒钟后自己消失,就是所谓的toast(比如:已完成)莫有按钮,需要发送命令才能消息(比如:数据加载中)一开始犯了经验主
  • 2024-02-12ruffle 基于webassembly 的flash player 模拟器
    ruffle基于webassembly的flashplayer模拟器包含的特性安全 基于rust以及wasm避免一些安全问题安装简单免费开源说明官方还提供了一个demo站点可以快速体验功能参考资料https://github.com/ruffle-rs/rufflehttps://ruffle.rs/https://ruffle.rs/downloads#websi
  • 2024-02-11extism 基于rust 开发的强大webassembly 框架
    extism基于rust开发的强大webassembly框架包含的特性使用简单 可以方便的开发基于webassembly的插件系统安全方便运行 包含了灵活的架构可以可以方便与多种语言进行通信(基本覆盖了主流的编程语言)说明目前基于webassembly的语言集成热度是越来越高了,webassembly很值
  • 2024-02-08[Blazor WebAssembly] 学习随笔——身份验证
    最近在折腾微信相关的开发,包括公众号、企业微信内部应用、企业微信第三方开发。基于Razor方式写了:企业微信内部应用的类库企业微信第三方应用的类库公众号的类库一个统一管理公众号、企业微信内部应用和第三方应用有关授权、Token之类的应用。然后准备写一个开源的简单的酒
  • 2024-02-05WebAssembly核心编程[4]: Memory
    由于Memory存储的是单纯的二进制字节,所以原则上我们可以用来它作为媒介,在wasm模块和数组程序之间传递任何类型的数据。在JavaScriptAPI中,Memory通过WebAssembly.Memory类型表示,我们一般将它内部的缓冲区映射相应类型的数组进行处理。WebAssembly也提供了相应的指令来提供针对Memo
  • 2024-02-04WASM_WebAssembly简单运行-hello,world
    WASMWASM可以被JavaScript调用,进入JavaScript上下文Wasm,即WebAssembly,是一种用来补充JS在运行上不足的“低级”语言——基于二进制编写-是一种新的字节码格式允许用户采用自己熟悉的语言书写(目前支持C/C++/Rust),再在虚拟机引擎在浏览器上运行。 它支持沙盒
  • 2024-02-02WebAssembly核心编程[3]: Module 与 Instance
    WebAssembly程序总是以模块来组织,模块是基本的部署、加载和编译单元。在JavaScript编程接口中,模块通过WebAssembly.Module类型表示。WebAssembly.Module通过加载的.wasm二进制文件创建而成,它承载了描述wasm模块的元数据,类似于描述程序集的Assembly对象。WebAssembly.Module自身是
  • 2024-02-02quickjs-emscripten webassembly 包
    quickjs-emscripten是基于emscripten将quickjsc版本,编译为了webassembly方便通过npm使用包含的特性支持node以及web使用安全的执行js(支持到es2020)quickjsruntime进行创建以及维护值暴露主机函数到quickjsruntime通过asyncify支持执行异步代码参考使用app.mjs
  • 2024-02-01WebAssembly核心编程[2]:类型系统
    对于绝大多数编程语言来说,类型都是编程的基础,WebAssembly自然也不例外。总的来说,WebAssembly涉及的类型不多,很好掌握,接下来我们就来介绍一下WebAssembly编程涉及到的几种类型。本篇内容参考WebAssemblySpec。一、ValueType二、Function三、Memory四、Table五、Global六、
  • 2024-01-31WebAssembly核心编程[1]:wasm模块实例化的N种方式
    当我们在一个Web应用中使用WebAssembly,最终的目的要么是执行wasm模块的入口程序(通过start指令指定的函数),要么是调用其导出的函数,这一切的前提需要创建一个通过WebAssembly.Instance对象表示的wasm模块实例(源代码)。一、wasm模块实例化总体流程二、利用WebAssembly.Module创建实
  • 2024-01-30WebAssembly入门笔记[4]:利用Global传递全局变量
    利用WebAssembly的导入导出功能可以灵活地实现宿主JavaScript程序与加载的单个wasm模块之间的交互,那么如何在宿主程序与多个wasm之间传递和共享数据呢?这就需要使用到Global这个重要的对象了。一、数值类型全局变量二、将JavaScript函数设置为全局变量三、利用全局变量处理字符
  • 2024-01-29WebAssembly入门笔记[3]:利用Table传递引用
    在《WebAssembly入门笔记[2]》中,我们介绍了如何利用Memory在作为宿主的JavaScript应用和wasm模块之间传递数据,但是Memory面向单纯二进制字节的读写在使用起来还是不太方便,此时我们会更多地用到另一个重要的对象Table。Table利用用来存储一组指定类型的对象,说得准确一点是对象的引
  • 2024-01-26WebAssembly入门笔记[2]:利用Memory传递数据
    利用灵活的“导入”和“导出”机制,WebAssembly与承载的JavaScript应用之间可以很便利地“互通有无”。《与JavaScript的交互》着重演示了如何利用函数的导入和导出实现功能的共享,接下来我们主要关注数据的传递或者共享。宗地来说,WebAssembly与宿主程序之间的数据传递主要有如下三