首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Node.js实现桌面应用

从最开始我开始写文章就讲过Node.js与Java的优缺点,我当时说过,JAVA能做的如果非要使用Node.js最后肯定是能实现的,但是我们会考虑用什么更加适合。...说到桌面应用程序,可能更多人会想到使用QT或者JAVA FX去实现,Node.js能实现桌面程序么?可能很多人对这个问题的答案抱着怀疑的态度。...实际上Node.js现在生态圈越来越完善,所以用Node.js实际上可以非常轻松的架构一个桌面应用。今天我们来讲讲Node.js是如何构建一个桌面应用。 首先我们需要创建一个Node.js项目。 ?...接下来建立一个index.js,在这个文件里面创建桌面窗口以及页面渲染。 首先在文件顶部引入所需的包以及定义一个全局变量win ? 为什么需要这个全局变量呢?...我们执行这个文件就可以运行我们的桌面应用了。 ? 最后我们来谈谈,使用Node.js结合electron模式开发桌面应用有什么优缺点呢?

7.5K40

用NW.js构建跨平台桌面应用(3)-利用Node.js

Node.js常用来构建高并发的C/S应用,将这种模式移植到NW.js程序中虽然可行且费不了什么功夫,但仅仅这样做并不能发挥出平台所有的潜力;要知道NW.js允许直接在DOM中和Node.js交互,而这将大大加快程序的运行和简化开发...使用Node.js模块 内部模块 var fs = require('fs') 第三方模块 npm install 之后 var _ = require('underscore') C/C++ 模块...global对象 NW.js中的global对象除了Node.js中的作用,还能使用DOM,这样就提供了一个 在窗口和Node.js上下文中共享对象 的途径;此外,一旦window对象被创建,所有global...'data/my.json') ); //Mac输出'/xxx/myApp/data/my.json',Win输出'c:\\xx\\myApp\\data\\my.json' 针对某些特殊路径,比如桌面...代替解决 或者采用 nwglobal模块,使DOM环境中可以正确判断来自 Node.js 的类型: //nodeContext.js exports.myArr = [1, 2, 3];//index.html

2.3K20

JS开发跨平台桌面应用,从原理到实践

一、桌面应用程序 ? 桌面应用程序,又称为 GUI 程序(Graphical User Interface),但是和 GUI 程序也有一些区别。...桌面应用程序 将 GUI 程序从GUI 具体为“桌面”,使冷冰冰的像块木头一样的电脑概念更具有 人性化,更生动和富有活力。...我们电脑上使用的各种客户端程序都属于桌面应用程序,近年来WEB和移动端的兴起让桌面程序渐渐暗淡,但是在某些日常功能或者行业应用中桌面应用程序仍然是必不可少的。...4.2 使用 Node.js 的 API ? 你可以同时在Electron的主进程和渲染进程使用Node.js API,)所有在Node.js可以使用的API,在Electron中同样可以使用。...shell.openExternal(`file://${screenshotPath}`) this.setState({ imgMsg: `截图保存到

6.9K50

使用 Go + HTML + CSS + JS 构建漂亮的跨平台桌面应用

Wails 是一个可让您使用 Go 和 Web 技术编写桌面应用的项目。将它看作为 Go 的快并且轻量的 Electron 替代品。...内置 Svelte、React 、Preact 、Vue、Lit 和 Vanilla JS 的模板 3. 从 Javascript 轻松调用 Go 方法 4....使用 Wails 构建的应用程序兼容 Apple & Microsoft 商店 这是 varly - 一个使用 Wails 编写的 MacOS 和 Windows 桌面应用。...Wails 使用专门构建的库来处理窗口、菜单、对话框等原生元素,因此您可以构建美观、功能丰富的桌面应用程序。 它不嵌入浏览器,因此性能高。相反,它使用平台的原生渲染引擎。...自动重新构建,当您在“开发”模式下运行您的应用程序时,Wails 会将您的应用程序构建为原生桌面应用程序,但会从磁盘读取您的资源。

6.6K10

用NW.js构建跨平台桌面应用(2)-原生界面API

[I] 概述 - NW.js原生界面(Native UI)APIs 要构建一个像样的桌面应用,除了由NodeJS处理底层功能,以及由Webkit来应付窗口GUI外,还需要诸如操作窗口、访问剪贴板或隐藏到系统托盘区等和系统图形界面交互的能力...而前面提到的两者,要么无法访问GUI,要么受限于API边界,均无法提供 NW.js Native UI APIs 则在其他JS层的顶部提供了这些完整的功能 1.1 获取nw实例 旧版本中可以用 var...Window API - 操作NW.js窗口 在NW.js中,Window API 只不过是对DOM中window对象的一层包装,很多(并非所有)方法和属性继承了后者的用法,同时window对象也是 Node.js...': 'path/to/js', //在文档loaded前注入的脚本 'inject-js-end': 'path/to/js' //在文档unloaded前注入的脚本 }); 优化窗口显示时机...win.on('move', (x,y)=>console.log(x, y)); win.on('resize', (w,h)=>console.log(w, h)); 3.3 改变窗口状态 每个桌面窗口都有几种不同的状态

6.5K40

那些你不知道的 node.js 桌面应用开发框架

说到 node.js 的 GUI 开发方案,首先想到的就是 electron 和 nw.js。但除了它们之外,是否存在其它更轻量级的技术方案可供选择呢?...但打包了 Chromium 内核和 node.js 环境后,如今的 electron 和 nw.js 动不动就上百MB的大小,用来开发这样的小工具实在是不划算。...支持安卓、iOS、桌面等多平台。 看起来具体实现基本就是把 react-native、electron 等方案整个打包,再增加了对 Win10 的 UWP 支持,是个大而全而非小而轻的方案?...这么说来,近几年桌面开发似乎越来越不温不火,大家的关注中心似乎都转移到了移动端上。...或许可以这么说,我们现在正经历着桌面端开发向移动端转移中心的过渡期。桌面端 GUI 开发的需求存在感日渐稀薄,现有传统开发方案已能应对日常需求,所以虽然也有一些技术痛点,却并没有更新开发方式的必要。

4.4K20

用NW.js构建跨平台桌面应用(4)-数据持久化

中仅保存极少量信息且会过期),数据持久化(Data Persistence)是本地应用开发中的常见需求,通俗的讲就是将瞬时数据(比如内存中的数据,断电即失效)保存为持久数据(比如写入数据库中长久保存); 由于NW.js...的特性,可供选择的本地持久化方案非常丰富,既可以依赖于Node.js直接使用NeDB、LowDB等第三方数据库方案,也可以使用HTML5及其相关标准中提供的WebSQL、WebStorage、IndexedDB...等方案,甚至直接将简单的数据保存到本地文件中 [I]....直接存储数据到本地文件 正如之前的文章提到过的,NW.js提供了App.dataPath来访问系统的应用数据目录, 可以利用其方便的存储应用配置文件等 不同平台上的具体指向: Win: $LOCALAPPDATA...); db.get('mittens').then(function (doc) { return db.remove(doc); }); https://github.com/nwjs/nw.js

1.9K20

推荐两个腾讯开源的前端框架,好用又好看!

特性 成本低 主应用使用成本低 子应用适配成本低 速度快 子应用首屏打开速度快 子应用运行速度快 原生隔离 css 样式通过 Web Components 可以做到严格的原生隔离 js 运行在 iframe...中做到严格的原生隔离 功能强大 支持子应用活 支持子应用嵌套 支持多应用激活 支持应用共享 支持去中心化通信 支持生命周期钩子 支持插件系统 支持 vite 框架 开源项目地址:https://github.com...特性 跨框架,任何框架可以使用 Omi 自定义元素 提供桌面、移动和小程序整体解决方案 小巧的尺寸和高性能 基于 Shadow/Light Dom 设计 符合浏览器的发展趋势以及 API 设计理念 Web...DOM 融合,Omi 既使用了虚拟 DOM,也是使用真实 Shadow DOM,让视图更新更准确更迅速 局部 CSS 最佳解决方案(Shadow DOM),社区为局部 CSS 折腾了不少框架和库(使用 js

41640

推荐两个腾讯开源的前端框架,好用又好看!

特性 成本低 主应用使用成本低 子应用适配成本低 速度快 子应用首屏打开速度快 子应用运行速度快 原生隔离 css 样式通过 Web Components 可以做到严格的原生隔离 js 运行在 iframe...中做到严格的原生隔离 功能强大 支持子应用活 支持子应用嵌套 支持多应用激活 支持应用共享 支持去中心化通信 支持生命周期钩子 支持插件系统 支持 vite 框架 开源项目地址:https://github.com...特性 跨框架,任何框架可以使用 Omi 自定义元素 提供桌面、移动和小程序整体解决方案 小巧的尺寸和高性能 基于 Shadow/Light Dom 设计 符合浏览器的发展趋势以及 API 设计理念 Web...DOM 融合,Omi 既使用了虚拟 DOM,也是使用真实 Shadow DOM,让视图更新更准确更迅速 局部 CSS 最佳解决方案(Shadow DOM),社区为局部 CSS 折腾了不少框架和库(使用 js

1.4K10

2019TLC大会精彩回顾—大前端·信息流

[图片] 《Vue.js 高效开发之路》 第二场分享的嘉宾是来自Vue.js 团队成员蒋豪群,他的演讲主题是:《Vue.js 高效开发之路》。...《Flutter桌面应用开发》 第三场分享是由郭力恒老师为我们带来的《Flutter桌面应用开发》。 郭力恒老师是来自广发证券的前端架构师,负责基于H5技术的股票交易终端的研发。...本次分享的主要内容是: Flutter桌面端的运行原理 Flutter与底层的通信 [图片] 郭力恒老师较为详细的介绍了Flutter在桌面端运行的优势和现状,以及如何使用跨端开发语言rust来开发桌面...《微小程序的开发与架构实践》 最后一场是由赵小溪老师为我们带来的《微小程序的开发与架构实践》。...赵小溪老师是来自微(腾讯旗下保险平台)的前端架构师,其擅长小程序、WEB平台的基础架构搭建、工程化的规划与实施。

3.9K381

设置matlab保存的图片没有白边,matlab如何保存figure中去掉白边的图片「建议收藏」

一般saves保存的图像存在白边,可以采用imwrite对图像进行 … 前面的内容 也是要去掉白名单 和 8.8.8.8这种非问题IP的 高风险 么?...是因为我们要在多台机器之间通信,这个服务就相当于支持这种通信的一个桥梁,打个比喻,相当于windows里,通过远程桌面连接到其他机器....PRODUCTION_MODE=true改为set P … 把Mvc4项目部署到虚拟目录之后找不到control想到的文件路径规范的问题 最近部署的项目的时候由于端口不够用,想到了把Mvc项目部署到虚拟目录中,结果发现图片,js...设置control都找不到了.项目是mvc4+easyui开发的,大量的代码都是在js中调用control,写 … React 入门最好的实例-TodoList React 的核心思想是:封装组件,各个组件维护自己的状态和...关于Grid++Report返回顶部 Grid++Report 可用于开发桌面C/S报表与WEB报表(B/S报表),C/S报表 … 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

7K10

京东价格保护高并发 | 七步走保证用户体验

>>>> 1、CDN 页面上的静态资源,如js、css、picture、静态html等资源,可以提前准备,放到CDN,当页面请求时,可将这部分网络请求打到CDN网络上,减少连接请求,降低应用服务器压力...采用CDN时,我们需要注意,当web页面与js发生改变,无论是先部署web应用,还是先推送js到CDN,都有可能发生js脚本错误。...图-价申请 以价申请页面为例,用户进入页面,就是要进行商品价格保护,因此商品列表、申请按钮,是用户最想看见的。其他的信息,如商品最近一次价记录、下单价格等数据,就可以后续再进行加载。...例如“图-价申请”中所示,价格、最近一次访问记录、申请结果刷新,这3个功能就不是主业务流程,将它们放在非主业务集群上进行访问,就算非主业务集群出现问题,也不会影响到价黄金流程。...我们业务接单集群,只做业务处理,保存到业务DB集群,通过业务WK集群,将任务下发到JMQ中间件,任务流程处理SV集群进行消息监听,将消息分库插入到流程处理DB中,每个流程处理DB都会对应一套任务处理WK

1.8K30
领券