首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

Node.js实现桌面应用

说到桌面应用程序,可能更多人会想到使用QT或者JAVA FX去实现,Node.js能实现桌面程序么?可能很多人对这个问题的答案抱着怀疑的态度。...实际上Node.js现在生态圈越来越完善,所以用Node.js实际上可以非常轻松的架构一个桌面应用。今天我们来讲讲Node.js是如何构建一个桌面应用。 首先我们需要创建一个Node.js项目。 ?...所以我们可以发现,我们使用electron进行桌面应用的开发我们不需要去了解我写的html是如何被转化成桌面应用执行程序的。用官方的解释来说就是简单的部分你来做,复杂的交给我们框架来负责实现。...接下来我们需要将我们的应用打包生成桌面应用启动文件,打包就需要使用我们刚才一开始安装的依赖:electron-packager。...我们执行这个文件就可以运行我们的桌面应用了。 ? 最后我们来谈谈,使用Node.js结合electron模式开发桌面应用有什么优缺点呢?

7.4K40

用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和移动端的兴起让桌面程序渐渐暗淡,但是在某些日常功能或者行业应用桌面应用程序仍然是必不可少的。...Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。...~ 当然,我们也要认清它的缺点:性能比原生桌面应用要低,最终打包后的应用比原生应用大很多。

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外,还需要诸如操作窗口、访问剪贴板或隐藏到系统托盘区等和系统图形界面交互的能力...App API - 应用的核心 2.1 打开关联类型的文件 NW.js应用有多种办法打开文件,此处谈论的是打开关联的文件类型;也就是说如果我们开发一个文本编辑器,那么我们希望在系统中右键单击一个txt文件出现的...); 2.4 关闭应用 如果以NW.js应用正常的生命周期来理解,应用打开的所有窗口都依次关闭后,整个应用才能退出;不过有两种方法可以干预这一进程: App.closeAllWindows() 该方法会触发各子窗口的...Menu API - 菜单栏和右键中的菜单 NW.js中,共有三种类型的菜单: 上下文菜单:右键单击应用内的元素时 窗口菜单:在Windows或Linux中,每个窗口上方都可以有自己的菜单栏;==在Mac...在NW.js里,同样的操作只是传递文件路径字符串而已,而非拷贝其内容;同时一些浏览器中的安全限制被解除,并赋予其一些增强的能力,从而使用户体验更接近原生应用

6.4K40

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

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

4.3K20

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

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

1.9K20

electron桌面应用开发(六)

本文目录: 前言electron的地位electron中js通过web socket与python通信效果图参考一番今日 前言 今天该务实了。...因此,我们做electron开发,其实就是做js前端开发。那么要想在eletron中调用python,实际就是用js去调用python,相关的技术可以在网上搜索js调用python的相关方法。...electron中js通过web socket与python通信 上一篇我们通过js zerorpc模块实现了与python的通信。这次我们通过web socket的方式来做。...index.ejs 这个文件其实是我们的html文件入口,我们屏蔽demo自带的界面,加入我们自己的页面和js脚本。...参考 如何实现JS前端与Python后台的结合 介绍—Vue.js 一番今日 今天一番去看了《中国机长》,面对死亡,能保持镇定,非常值得佩服,也是一种难得的气质。

1.9K30
领券