关注「州的先生」的朋友大部分都是 Python 语言的使用者,或者是入门学的 Python,或者是工作中主要使用 Python。
曾经的 JavaScript 脆弱、简陋、甚至有被边缘化的危险,不过 JavaScript 在经过了两次飞跃后(以 V8 为首的 JavaScript 引擎和 Node.js 的问世),不再受人欺负,早已升级为绿博士(复仇者联盟 4 中班纳博士和绿巨人的合体,强大而充满智慧)。
折腾来折腾去,我打算做一个卡片记忆软件,用来记忆面试题、知识点等。很多东西看了就忘了,我想做一个软件来帮助我记忆。这个软件的功能就是每天给我推送一些卡片,我看了就可以记住,然后就可以刷题了。
从最开始我开始写文章就讲过Node.js与Java的优缺点,我当时说过,JAVA能做的如果非要使用Node.js最后肯定是能实现的,但是我们会考虑用什么更加适合。说到桌面应用程序,可能更多人会想到使用QT或者JAVA FX去实现,Node.js能实现桌面程序么?可能很多人对这个问题的答案抱着怀疑的态度。实际上Node.js现在生态圈越来越完善,所以用Node.js实际上可以非常轻松的架构一个桌面应用。今天我们来讲讲Node.js是如何构建一个桌面应用。
Node.js是一个用于在服务器端运行JavaScript的运行时环境,用于构建高性能的网络应用程序。
可能很多读者会感到奇怪,本来是说 Electron,为什么一开始要提到 Node.js 和 JavaScript 呢?它们是什么关系呢?别急,听我慢慢道来。
受益于开源技术的发展,以及响应快速开发的实际业务需求,跨平台开发不仅限于移动端跨平台,桌面端虽然在市场应用方面场景不像移动端那么丰富,但也有市场的需求。 相对于个人开发者而言,跨平台框架的使用,主要为了满足以下三个主要能力:
发表日期: 2017.12.26 分类: Code Tags: Node.js JavaScript 跨平台 Electron 时间很快,已经是学期末了,这学期没有课程设计,人工智能课程结课的时候留了一个小实验,需要做一个具有人机交互界面的智能系统. 其实整个实验非常简单,核心代码用C语言写的话大致不超过100行,因为系统要求具有一个良好的交互界面,所以更多的精力放在了界面的开发上.正好前段时间看了Electron的开发文档,所以这次的实验就用Node.js来写了,使用Electron最大的好处是具有非常好
想开发手机app?不会开发PC客户端?不存在!会写网页几步就能实现将网页转化为PC或手机客户端。
在过去,桌面应用程序的开发通常需要使用特定于操作系统的工具和语言,如C++、C#、Java等。这导致了高昂的开发成本和维护困难。尽管有一些跨平台桌面开发工具,如Electron和Qt,但它们在性能、用户体验和开发效率方面存在一些限制。Flutter的出现改变了这一格局,为桌面应用程序开发带来了新的希望。
并不是说web语言不好, 我很喜欢web, 从一开始学习html到后来入坑nodejs可以说web领域给我带来了很多的见识同时还payed my bill, 但是w3c定义的html+css的这样一套GUI解决方案实在有很多坑(即使是mdn维护的ecmascript也有很多不尽如人意的地方), 比如浏览器的兼容地狱问题; CSS不够灵活; DOM的臃肿程度等等地方.
我们都知道对于桌面应用开发来说,人们常用的方式就是采用c++或者c#,java等进行开发,然而这些语言开发效率不够高,不如网页开发灵活。因此,人们思考能否采用html+css+js的方式来开发桌面客户端呢,于是人们就提出了混合开发概念,并且开发了electron框架进行桌面开发。
在移动应用开发领域,Flutter已经赢得了广泛的认可和采用,成为了跨平台移动应用开发的瑞士军刀。然而,Flutter的魅力并不仅限于移动平台,它还可以用于开发桌面应用程序,为开发人员提供了一种全新的选择。本文将深入探讨Flutter在桌面应用开发中的应用,以及目前国内新颖的跨端开发技术。
在开始之前,我想您一定会有这样的困惑:标题里的Electron 是什么?Electron能做什么?许多伟大的公司使用Electron框架的原因又是什么?
自Vue.js 3.0爆出,三大主流框架,写法也是越来越相似,越来越贴近 WebComponents 标准,而周边应用层面的封装已经开始指数级增长。小程序是今年最火的技术,接连出现,快应用也想分一杯羹。PWA(Progressive Web App)进入稳定期,尤其是 PWA桌面版,可以让我们更好的看清楚 PC 桌面版开发的全貌。移动端还是以强运营为主,各大公司都开始不再 全力推动 移动端了,开始重视多端并进,到了开始拼细节的阶段了。TypeScript 全面开花,GraphQL 蠢蠢欲动,WebAssembly 更是打开了浏览器上多语言的大门。所有的这一切都在暗示,浏览器即操作系统,你能想象到未来前端的样子么?
当我们明白了以上几个问题之后,那就大概率算是基本掌握了这个技术,后面再要深入就要经过大量的项目实践和源码原理的研究了。
Qt Widgets、QML、Qt Quick ... 呃 (⊙﹏⊙) ,简直了,傻傻分不清楚
现在开发IM应用动不动就要求多端——即Android端、iOS端、PC端、Web端等,Android端和iOS端作为两种不同的移动端技术,单独开发和维护还能理解,PC端和Web端如果要单独开发那就有点头大了,必竟开发传统的PC桌面应用成本太高(QT这类技术跟Web技术相比,上手难度大的多,而且太小众)。所以,很大情况下大家都是PC富客户端和Web端二选一,对于比较磨叽的老板、产品经理或客户来说,这是个很费口舌的事情(你懂的。。。)。
近几年,移动应用和web2.0大行其道,相比之下。传统桌面应用程序开发显得相对冷清(包含该领域技术人才的后继力量),但在一些场景下,它依旧有其不可替代的优势。
经济学中的“有需求就有市场”,在技术领域也不例外,Electron 是应需求而生的,Electron 面世之后,非但满足了现有大部分的开发需求,还创造了大量的新需求,开辟了一个新的生态。
关于Electron这个框架我就不多介绍,它说白了就是Node和Chromium内核的一种封装。用它开发出来的桌面应用程序其实就是套壳浏览器的应用,这就是为什么它可以用web前端技术来开发,并且可以跨平台的原因了。
本文引用了作者“ ConardLi”的《用JS开发跨平台桌面应用,从原理到实践》一文部分内容,原文链接:segmentfault.com/a/1190000019426512,感谢原作者的无私分享。
网页的一大特色就是无处不在, 这是一个令人惊叹的平台,用它所创建的协作平台,可以被多种类型的设备所访问,无论设备运行在何种操作系统上。换句话说,网页只能运行在浏览器中,无法直接运行在操作系统中,因此网页应用程序也就无法访问文件操作系统。它们也无法执行非JavaScript编写的代码,他们无法调用桌面应用程序可以使用的众多操作系统接口。还有,当大多数网页应用程序没有可靠的互联网连接时,也就无法使用了。
今天我想把最近自己使用Electron开发桌面应用方面的一些积累,和大家分享一下(这也是最近一段时间,自己工作内容之一的小小沉淀)。
在不久之前我看到了腾讯云社区发布了一条文章,里面写着 QQ 重构? 我就点去看看用的啥技术结果是 Electron 这个我见到过一直想玩玩桌面应用,
.NET Multi-platform App UI (.NET MAUI) 是一个跨平台的框架,用于使用 C# 和 XAML 创建移动和桌面应用程序。通过使用 .NET MAUI,您可以开发能够在 Android、iOS、iPadOS、macOS 和 Windows 上运行的应用程序,并且这些应用程序共享相同的代码库。
近些年来,跨平台跨端一直是比较热门的话题,Write once, run anywhere一直是开发者所期望的,跨平台方案的优势十分明显。
小程序容器技术的未来是充满希望的,它为我们开辟了一个全新的数字世界,连接了桌面操作系统和移动生态系统之间的界限。正如技术不断演进,我们可以期待着更多的创新和发展,为用户带来更加便捷和多样化的应用体验。这一技术的推广和应用将继续推动数字科技的发展,塑造着未来的数字生活。 Qt Group在提及2023年有桌面端应用程序开发热门趋势时,曾经提及三点:
Flutter、Tauri 和 Electron 都是现代桌面应用程序开发的流行选择,每种技术有其独特的优缺点,本文将对它们进行技术对比。
某某说:我们的应用要兼容多个平台,原生开发效率低,各平台研发人员不足,我们没有资源。
当前由于移动互联网技术的日益发展,人们对移动互联网程序的要求也是越来越高,以往的互联网程序已经不能满足人们日益增长的需求,对此相关的工作技术人员要不断努力,研发出与时俱进的移动互联网程序。
Electron相当于一个浏览器的外壳,可以把网页程序嵌入到壳里面,可以运行在桌面上的一个程序,可以把网页打包成一个在桌面运行的程序,通俗来说就是软件,比如像QQ、优酷、网易音乐等等。功能的强大超出你的想象,可以构建跨平台桌面程序, 本身支持node.js,可以使用node.js的一些模块
版权声明:原创不易,多多珍惜 https://blog.csdn.net/wonaixiaoshenshen/article/details/88744534
跨平台是最近几年非常火的主题,因为现在的各种平台简直太多了。Windows、macOS、Linux、Android、iOS、Web、小程序、IoT等等。以后还可能会不断增加。没人希望挨个为每个平台开发应用,所以就希望开发一次,就同时适应各种平台。目前支持跨平台开发的技术非常多。这里先对这些主要的跨平台技术做一个总结,然后再详细谈谈.NET 6 Preview1。
React是一个流行的JavaScript库,用于构建Web应用程序。结合Electron框架,可以轻松地将React应用程序打包为桌面应用程序。以下是使用React和Electron开发桌面应用程序的步骤:
这周向大家介绍一个有趣的产品,Rocket Chat。Rocket Chat是一个开源的产品,在功能上它是Slack的替代开源产品,与国内的企业微信或钉钉非常类似,但主要是集中在聊天这一块。
Tauri 是一个开源项目,它可以通过 Web 前端构建更小、更快和更安全的桌面应用程序。
早就听说利用Electron可以非常便捷的将网页端快速打包成桌面应用,并且利用 Electron 提供的 API 调用可以使用原生桌面 API 一些高级功能。于是这次借着论证 Web IM端 SDK 是否可以在 Electron 生成的桌面端正常稳定使用,我决定把官方新推出的 webim-vue3-demo,打包到桌面端,并记录了这次验证的过程以及所遇到的问题和解决方法。
前端框架:Angular 2,Vue.js,Bootstrap,LESS / SASS。 Web Web平台最近取得了两个重大进展——Web Assembly 和 Service Workers,他们打开快速和高效的Web应用程序的门,弥合与本地编译应用程序的差距。Service Workers尤其是渐进式Web应用程序(上文中提到的PWA)的启用技术,并为Web平台的通知提供支持,将来还会有更多的API。 Angular.js 2 Angular.js 2今年发布。该框架由Google支持,非常受企业和
作者:Shalitha Suranga 翻译:闫晓雨 校对:赵茹萱 本文约2900字,建议阅读6分钟。Python不仅能够应用于数据科学和Web后端——还可以做更多的事。 照片由Chris Ried拍摄,使用Canva编辑并发布在Unsplash Python是一种简单的、对开发人员友好且具有解释性的通用编程语言。Python因其简单的语法、丰富的库生态系统和高效的开发环境而日益流行。程序员使用Python来构建Web后端、实用程序脚本和本机桌面应用程序。如今,Python在科学工程师、数据分析师、机器
在这篇文章中,我暂时会放下Electron与WebView2的一个对比,而聊一聊跨平台这个对于程序员群体来说不陌生的词。
每个项目都有其规范和需求,在构建应用程序时,最重要的是选择正确的技术对其进行编码。 在本文中,我们将研究Python和Node.js,以了解它们的优点、缺点和用例,以便你能确定哪一个最适合你的项目。
昨日(2016.09.13)本文发表后,获得了一定的阅读和转发量,但经部分网友反馈和仔细审核后发现,在与 NW.js 对比的环节,言辞欠妥,且数据的真实性有待考究,特此将争议部分删除,同时借此诚挚地向 NW.js 的作者以及各位读者反馈表示感谢,期待更多深入的交流和分享,修订后的版本如下: Stack Overflow 联合创始人 Jeff Wood 曾说过,任何一个能用 JavaScript 编写的应用系统,最终都必将使用 JavaScript 实现。 简介 Electron 是一款可以通过 Web前端技
Flutter、Tauri 和 Electron 都是现代桌面应用程序开发的流行选择,每种技术有其独特的优缺点,下面我们就来对它们进行一个全面的技术对比。
本文作为产品技术穿刺任务的一个成功,探索通过浏览器调用本地程序完成远程WINDOWS桌面登录访问的功能。本文包含三部分内容: (1) 介绍WINDOWS自带的mstsc和命令详情; (2) 实践通过命令方式调用远程桌面系统; (3) 编写JS脚本页面,通过IE浏览器调用远程桌面程序; (4) 遗留问题:MAC电脑远程访问,CHROME浏览器远程访问的方法;
Electron是一个跨平台的桌面客户端框架,使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序,文档:https://www.electronjs.org/zh/docs/latest,当前使用最新稳定版本:20.1.4 特性 我们可以从中了解到他实现的方式以及他的应用场景 我认为他们最大特点就是: 主进程和渲染进程就行隔离(沙箱模式) 当时用户操作和渲染的事情都是交给渲染进程 当需要操作系统API,例如:创建新窗体,获取电脑的相关信息等就交给主进程 也就是说当主进程和渲染进程需
在计算机历史上,1995 年是一段疯狂的岁月。首先 Java 出现了,随后 JavaScript 也出现了。Java 和 JavaScript 的名字看起来像是一对双胞胎,但实际上它们差别巨大,Java 是被编写和静态定型的,而 JavaScript 则是被解释和动态定型的。但这仅仅是这两个完全不同的语言的技术差别的一个开始,Node.js 的出现使得两种语言经历了两条完全不同的发展轨迹。
领取专属 10元无门槛券
手把手带您无忧上云