Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >基于跨平台的移动应用开发框架研究

基于跨平台的移动应用开发框架研究

原创
作者头像
二山山记
发布于 2022-11-24 18:56:27
发布于 2022-11-24 18:56:27
1.5K0
举报
文章被收录于专栏:finclip小程序idefinclip小程序ide

当前由于移动互联网技术的日益发展,人们对移动互联网程序的要求也是越来越高,以往的互联网程序已经不能满足人们日益增长的需求,对此相关的工作技术人员要不断努力,研发出与时俱进的移动互联网程序。

近些年来由于平板电脑、智能手机、数字电视等多种智能设备的普及,推进了移动互联网爆炸式的增长,面对移动互联网一片大好的市场,很多的互联网巨头已经开始逐渐的构建自己的互联网生态圈。

随着我国的移动互联网市场的不断发展,用户对于移动互联网的服务要求也是越来越高,如何降低应用软件开发运行的成本,如何对移动互联网的应用软件进行有效管理成了我国很多互联网公司关进的焦点。

本文从实际出发,盘点下跨平台桌面应用开发的5大主流框架:Electron、wxPython、Tauri、FinClip、Flutter

Electron

相信这个框架大家都不陌生。Electron是一个跨平台的、基于Web前端技术的桌面GUI应用程序开发框架。

使用Web前端技术来开发一个桌面GUI程序是一件很炫酷的事情,你可以使用HTML、CSS来绘制界面和控制布局,使用JavaScript来控制用户行为和业务逻辑,使用Node.js来通信、处理音频视频等,几乎所有的Web前端技术和框架(jQuery、Vue、React、Angular等)都可以应用到桌面GUI开发中。

至此,JavaScript这门神奇的语言除了能开发Web前端、Web后台(基于Node.js)、手机APP(基于React),也能开发桌面GUI程序了。

经济学中的“有需求就有市场”在技术领域也适用,Electron就是应需求而生的。

wxPython

wxPython和pyqt两者类似,都是用python语言开发。

前者是对wxWidgets的封装,后者是对大名鼎鼎的qt的封装。

wxWidgets是基于操作系统的API来做桌面应用的,也就是说,在Windows下开发一个桌面应用时,看起来就像是传统的Windows桌面软件的风格,在Mac下则是Mac的风格。

Tauri

“Build an optimized, secure, and frontend-independent application for multi-platform deployment.”

从Tauri官网的宣传语可以看出Tauri主打的几个卖点:

optimized:性能高、体积小 secure:安全性强

frontend-independent:前端独立 multiplatform:跨平台

Tauri框架是由Rust语言实现的,同时Tauri应用的后端也是由Rust来编写的。Rust是由Mozilla主导开发的通用、编译型的系统编程语言。Rust语言自身有如下的一些特性:

安全性强(secure):Rust设计了一个所有权系统,其中所有值都有一个唯一的所有者,并且值的作用域与所有者的作用域相同。值可以通过不可变引用(&T)、可变引用(&mut T)或者通过值本身(T)传递。 性能高(optimized):Rust的性能和C/C++的性能不相上下,由于Rust的「所有权」机制,Rust不需要GC,同时也能避免如C/C++之类需要手动管理内存的语言忘记释放内存导致的内存泄露的问题; FFI编译友好(multiplatform):FFI是可以用一种编程语言写的程序能调用另一种编程语言写的代码的机制,使用Rust可以方便地提供接口给其他语言调用;

Rust语言的一些特性,也增强了Tauri框架的可靠性和框架价值。此外,hello word打包后果然只有10m,而且开发还是能用html+css技术,效率非常高。

Finclip

Finclip是凡泰极客研发的一套小程序容器技术,也可以说其实就是小程序SDK,可以兼容通过 vue 或 react 导出的小程序代码。

与Flutter、Reactive-Native等跨端语言不同的是,Finclip严格意义上讲是一项容器技术。

与上述的跨端技术不仅不冲突,还可以完美融合。不管是通过Flutter、Taro、 kbone等开发出来的小程序均可在FinClip当中运行。

这种小程序容器技术也带来了许多好处:

1、因为 JS 在Service 层执行,所以JS 里面操作的DOM 将不会View 层产生影响,所以小程序不能操作 DOM 结构的,这也使得小程序的性能比传统的H5 更好。 2、方便多个小程序页面之间的数据共享和交互。在小程序的生命周期中具有相同的上下文可以为具备原生应用程序开发背景的开发人员提供熟悉的编码体验; 3、Service 和 View 的分离和并行实现可以防止JS 执行影响或减慢页面渲染,这有助于提高渲染性能;

而且 FinClip SDK 极其轻量,应用在集成后安装包的体积仅仅增大了不到 3MB。

FinClip 还自研了一个 小程序 IDE 开发工具,界面与微信小程序的开发工具类似,自带调试和真机预览,简单易上手。

你可以在这个 FIDE 里面,对现有项目进行二次开发,扩展功能和接口。

同时,它还支持 小程序一键转换成 App,可以将已有小程序代码导出为 IOSAndroid 中可用的工程文件,并上架至各应用市场 。

由于导出的工程文件自动集成了 FinClip SDK ,所以直接拥有小程序的运行能力,后续可在这个 APP 上继续上架更多小程序,自建自己的小程序生态。

并且 FIDE 中还包含各类扩展插件和接口(支付、人脸识别、音视频、OCR 等),开发者可自主勾选所需的支持插件,从而增强所生成 App 原生能力。

Flutter

Flutter由Google开发,它是一个牛逼的开源平台,可用于跨平台应用程序开发。

它具有吸引力的原因是:快速的开发,富有表现力的精美UI和类似本机的性能。

使用Flutter的一些公司是Google,eBay,宝马等。

选择Flutter框架进行跨平台应用程序开发的主要原因:

高度稳定 平稳的开发周期 强大的热加载功能 DART,AOT编译语言 满足各种需求的UI套件

Flutter 是最新的跨平台应用程序框架之一,由 Google 开发并于 2017 年发布。

Flutter是一个免费的开源跨平台框架,它允许你用一组代码创建一个移动应用程序。

它的独特之处在于它使用Dart编程语言,不同于其他跨平台应用框架,Flutter根本不使用JavaScript。

你可以改变你的代码并实时看到结果,只需片刻就可以升级应用程序。

您可以使用Flutter为iOS、Android和其他不太流行的移动平台创建跨平台的移动应用程序。

平心而论,就目前而言,这是为 Fuchsia OS 开发应用程序的唯一途径。

结语

随着移动互联网技术的不断发展,用户对跨平台应用的需求也是不断增多,为了满足用户的需求,相关的工作技术人员要不断加大对应用软件的开发力度,让移动应用设备能够与时俱进,更好的为客户服务。

相信随着互联网浪潮的不断向前,会有越来越多的解决方案、框架会被提出,让我们拭目以待!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
桌面应用跨端开发的一些框架
受益于开源技术的发展,以及响应快速开发的实际业务需求,跨平台开发不仅限于移动端跨平台,桌面端虽然在市场应用方面场景不像移动端那么丰富,但也有市场的需求。 相对于个人开发者而言,跨平台框架的使用,主要为了满足以下三个主要能力:
Onegun
2022/11/22
2.4K0
桌面应用跨端开发的一些框架
App跨平台开发框架分析
随着移动互联网的快速发展,微信小程序、Web、App、 车载等各种形态的“端”悄然盛行。
二山山记
2022/11/09
3.3K0
App跨平台开发框架分析
IM跨平台技术学习(十):快速对比跨平台框架Electron、Flutter、Tauri、React Native等
开发人员面临着选择正确框架之挑战,以便可以高效构建可在 Windows、macOS 和 Linux 上无缝运行的应用程序。
JackJiang
2024/01/11
1.9K0
IM跨平台技术学习(十):快速对比跨平台框架Electron、Flutter、Tauri、React Native等
跨平台时代,小程序成为全域业务的关键枢纽
小程序容器技术的未来是充满希望的,它为我们开辟了一个全新的数字世界,连接了桌面操作系统和移动生态系统之间的界限。正如技术不断演进,我们可以期待着更多的创新和发展,为用户带来更加便捷和多样化的应用体验。这一技术的推广和应用将继续推动数字科技的发展,塑造着未来的数字生活。 Qt Group在提及2023年有桌面端应用程序开发热门趋势时,曾经提及三点:
菜特鸡鼻涕
2023/09/14
3240
打算一个卡片记忆软件,全平台架构如何选型?
折腾来折腾去,我打算做一个卡片记忆软件,用来记忆面试题、知识点等。很多东西看了就忘了,我想做一个软件来帮助我记忆。这个软件的功能就是每天给我推送一些卡片,我看了就可以记住,然后就可以刷题了。
程序员朱永胜
2023/11/23
4870
打算一个卡片记忆软件,全平台架构如何选型?
前端跨平台框架对比分析,看这篇就够了
前端跨端实践是指在开发过程中,使用统一的代码库或框架来实现在不同平台上运行的应用程序。
winty
2023/08/23
5.9K0
前端跨平台框架对比分析,看这篇就够了
玩过Tauri和Electron,最终我选择Flutter
Flutter、Tauri 和 Electron 都是现代桌面应用程序开发的流行选择,每种技术有其独特的优缺点,本文将对它们进行技术对比。
老码小张
2023/04/16
12.2K0
玩过Tauri和Electron,最终我选择Flutter
桌面软件开发框架大赏
这个框架是两个挪威人在1995年创建的,发展至今可以说历史相当悠久,稳定性也很有保障。
liulun
2022/05/27
7.1K0
Flutter为桌面应用程序开发带来了新的希望
在过去,桌面应用程序的开发通常需要使用特定于操作系统的工具和语言,如C++、C#、Java等。这导致了高昂的开发成本和维护困难。尽管有一些跨平台桌面开发工具,如Electron和Qt,但它们在性能、用户体验和开发效率方面存在一些限制。Flutter的出现改变了这一格局,为桌面应用程序开发带来了新的希望。
菜特鸡鼻涕
2023/09/19
5780
跨平台开发成为移动应用程序开发趋势
移动应用程序的发展趋势日益成熟,未来企业需要关注多个方面,包括多平台适配、轻量级开发、AR/VR 技术应用、隐私保护、用户体验、自动化测试和部署、IoT 和移动应用程序的结合等。同时,在开发应用程序之前,企业需要考虑目标用户、功能设计、界面设计、移动平台选择、安全保护、应用程序测试和用户反馈和改进等方面。通过综合考虑这些因素,企业可以开发出符合用户需求和期望的高质量应用程序,提高用户满意度和忠诚度,推动企业的数字化转型和创新发展。
用户10314296
2023/03/14
1.8K0
IM跨平台技术学习(十三):从理论到实践,详细对比Electron和Tauri的优劣
近些年来,跨平台跨端一直是比较热门的话题,Write once, run anywhere一直是开发者所期望的,跨平台方案的优势十分明显。
JackJiang
2024/07/25
4790
IM跨平台技术学习(十三):从理论到实践,详细对比Electron和Tauri的优劣
开发者视角下的跨平台技术选型
本系列文章先站在公司的的角度对产品技术选型进行分析,然后再根据我们项目实际开发经验进行汇总,供大家参考。
二山山记
2022/11/30
1.3K0
开发者视角下的跨平台技术选型
开发人员必须知道的跨平台应用开发方案
开发人员可以使用一套相同的代码,一次性地编码即可在多个平台上面运行起来。它减少了开发人员开发应用的时间,并且能够快速地交付。所以目前为止,越来越多的人意识到跨平台应用程序和框架的好处和重要性。
海岛船长加西亚
2022/10/26
1.5K0
为什么除了 Flutter 之外,我们还需要另一个跨平台开发框架?
不久前,谷歌正式推出Jetpack Compose 1.0 版本。近日,JetBrains 在此基础上发布了 Compose Multiplatform Alpha 版本,旨在将 Compose 扩展到桌面和 Web 端。
Try425
2021/08/24
2K0
2022年了,跨端方案该怎么选呢?
Flutter 是当下移动端领域非常热门的跨端框架,各个大厂都在积极探索这项技术,并在主营业务上实现落地。
二山山记
2022/10/24
1.4K0
Rust 移动开发与跨平台模式探究
Rust 在服务端和嵌入式领域已经有很多跨平台模式的应用案例了,本文主要是来探究一下 Rust 在移动开发领域的跨平台开发模式。
张汉东
2022/03/29
3.7K0
Rust 移动开发与跨平台模式探究
打造跨平台应用:单一代码库,多平台运行 | 开源专题 No.84
.NET Multi-platform App UI (.NET MAUI) 是一个跨平台的框架,用于使用 C# 和 XAML 创建移动和桌面应用程序。通过使用 .NET MAUI,您可以开发能够在 Android、iOS、iPadOS、macOS 和 Windows 上运行的应用程序,并且这些应用程序共享相同的代码库。
小柒
2024/05/29
2590
打造跨平台应用:单一代码库,多平台运行 | 开源专题 No.84
技术交错,2023年移动开发平台该去往何处?
春节过后返工已经过月,许多移动开发领域的企业都在忙着做技术调研与选型。在此之前,不如先回顾一下2022年的市场趋势,再结合好的移动开发平台的标准,从中窥见2023年的发展前景。
Lydiasq
2023/02/21
7610
技术交错,2023年移动开发平台该去往何处?
构建现代化的跨平台移动应用程序
本文介绍了四个跨平台应用程序开发的框架和工具包,它们均具有跨平台、易于开发、支持组件化等特点。这些项目能够帮助开发人员快速构建漂亮、跨平台的应用程序,并且在开发过程中提供了很多便利。
小柒
2023/08/10
3080
构建现代化的跨平台移动应用程序
国内移动应用开发平台哪家强?
从国内的移动应用开发平台来看,其中不乏阿里、腾讯这样的头部大厂借助自己在产研中的优势,将内部的开发平台逐渐孵化为直接面向市场的标准化产品,另外也有很多小厂也专门针对移动研发中的一系列问题推出了移动开发平台,产品小而美可靠性也不错。
海岛船长加西亚
2023/02/01
4.7K0
推荐阅读
相关推荐
桌面应用跨端开发的一些框架
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档