当前栏目
2021适合移动和桌面应用的JavaScript框架是什么
本文转载自公众号“读芯术”(ID:AI_Discovery)
当听到JavaScript这个词的时候,“web开发”会一下子出现在我们的脑海中,因为JavaScript在很长一段时间里一直是web应用开发最广泛使用的语言,Angular、React和Vue等框架目前也很有名。
尽管JavaScript主导着web开发领域,但是在移动和桌面应用开发领域,它不得不屈居于Java、C#和C++之下。然而,很多人可能没注意到JavaScript对移动和桌面应用开发也产生了影响。
本文就将讨论一些主要的JavaScript框架,以及它们在移动和桌面应用开发领域的优缺点。
1.Electron
Electron是2013年推出的桌面应用开发框架。Electron允许开发者使用HTML、CSS和JavaScript开发应用,这与web开发栈很相似。此外,Electron是Node.js和Chromium的结合,这项结合使你能够使用Electron运行任何web应用和Node应用。
图源:https://2019.stateofjs.com/mobile-desktop/electron/
Electron的优点:
- Chromium渲染用户界面如同开发者工具一样解锁更多功能
- 功能类似web应用
- 可以使用HTML、CSS和JavaScript进行开发
- 可以专注核心应用开发, Electron负责所有繁琐的初始化步骤
- 多平台支持
- 使用npm模块
Electron的缺点:
- Chromium需要很大空间
- 安全问题
- 本地依赖性的跨平台问题
2.React Native
React Native是目前最常用的移动开发平台之一。React native于2015年推出,很快在JavaScript开发者中流行开来,因为以前他们必须学习像Java这样的语言来开发移动应用。这种使用JavaScript开发移动应用的能力也吸引了许多web开发者使用React native开始了他们的移动开发之旅。
图源:https://2019.stateofjs.com/mobile-desktop/reactnative/
JavaScript和JSX是ReactNative的主要组件,能够在Android和IOS平台上使用大部分代码是其大规模推广背后的主要原因。React Native有许多优点,我列出的几个重要优点如下:
- 包含各种包和库的大型生态系统
- 更短的开发时间
- 由Facebook支持的持续更新
- 多平台支持
- 热重装
- 开源
- 支持创建简化的用户界面
- 大型社区和文档
React Native的缺点有:
- 在一定程度上需要原生知识
- 相比纯原生应用,可能存在性能问题
- 安全问题
3.Ionic
Ionic是另一个基于Javascript的开源移动开发框架,它与Angular密切相关。Ionic于2013年推出,它的黄金时代随着Angular的崛起而到来。
与Electron相似,Ionic也包含HTML 5 SDK,能够使用HTML、CSS和JavaScript开发本机应用。Ionic的重点是构建具有创新性和对用户友好的应用,以满足应用需求。但可悲的是,随着React Native的大量推广,Ionic的用户数量正在减少。
图源:https://2019.stateofjs.com/mobile-desktop/ionic/
Ionic的优点有:
- 跨平台支持
- 可以使用通用web开发技术进行开发
- 包含预设的组件和主题
- 易于学习
- 内置命令行界面
- 最新版本支持React和Vue
Ionic的缺点有:
- 不适合高性能应用
- 热重装不可用
- 安全问题
- 缺乏稳定插件
- 构建过程常见随机失败
除了上面提到的那些框架,还有很多其他的,如原生应用、Cordova和Expo,它们也可以用于开发移动和桌面应用。下图显示2019年State of JavaScript调查的统计数据。
图源:https://2019.stateofjs.com/mobile-desktop/
可以清晰地看到,Electron和React Native都在顶端,而Ionic远远低于原生应用和Expo。但是相比之下会选择Ionic的原因是它基于Angular,如果你对Angular比较熟悉,Ionic学起来就会比较简单。
然而,也有很多不是基于JavaScript的框架,比如Flutter,在移动应用开发竞争中发展迅速。我认为这些JavaScript框架在未来很难与它们齐头并进。如果对使用JavaScript开发移动和桌面应用感兴趣,Electron和React Native是你的不错选择。
相关文章
- 我在苹果学到的编程技巧
- 2013年6月编程语言排行榜:JavaScript重回前十
- Visual Studio 2013:ASP.NET与Web功能快速预览
- Web工程师的工具箱
- 给Web开发人员推荐的开源图形库——数据可视化
- Javascript装载和执行
- 拖拽即可创建HTML5网站的建站平台
- 谷歌将面向专业创意人员推HTML5开发工具
- 爬虫需谨慎!那些你不知道的爬虫反爬虫套路 学起来
- 哪种编程语言最吃香?
- 日历图标的纯CSS实现
- 为异构的大数据运行环境构建数据管道
- 开源Word读写组件DocX介绍与入门
- 寻找阿登高地——爬虫工程师如何绕过验证码
- 爬虫进阶:反爬策略的应对机制
- 达观数据:基于webpack实现Web工程搭建
- 理解JavaScript中的设计模式
- 主流开源SQL引擎总结,不断改进的Hive始终遥遥领先
- 四款JavaScript库,助您搞定数据分析与可视化
- 创业公司做数据分析(三)用户行为数据采集系统