写点什么

Ionic Capacitor:使用 JavaScript 开发原生应用

  • 2019-07-07
  • 本文字数:912 字

    阅读完需:约 3 分钟

Ionic Capacitor:使用 JavaScript 开发原生应用

CapacitorIonic给出的一种混合应用开发新框架,可替代自 2009 年提出以来就广为使用的Apache Cordova解决方案。


Ionic 决定创建该替代 Cordova 的解决方案,主要出于两个方面的考虑。一是 Cordova 的插件系统已经落后于时代,二是 Cordova 管理原生平台的方法存在局限。


Cordova 和 Capacitor 都提供了插件系统,支持 JavaScript 和蓝牙、RFID 等原生平台间的通信功能。Cordova 插件系统近些年一直在尽力跟上最新的技术发展。


其中一个很好的例子是针对Swift语言。该语言由苹果公司在 2014 年提出,但是直到 2019 年才具有 Cordova 插件(虽然更早由第三方提供了支持 Swift 的插件)。


落伍的插件系统损害了整个生态系统,尤其是当生态系统严重依赖于第三方插件时。


Capacitor 插件系统提供更直观的开发过程,支持最新的技术。


由于 Capacitor 插件生态系统的规模相对还比较小,目前开发人员可在 Capacitor 中使用大多数 Cordova 插件。但这种兼容只是临时的解决方案,意在确保开发人员可获取主要的平台特性。


Capacitor 为行业带来的第二个变革是原生项目管理。Cordova 在构建时生成原生平台代码。开发人员使用包含构建应用指令的共享配置文件,该文件进而被 Cordova 的原生构建过程使用。此方法虽然简化了构建过程,但代价是导致原生项目访问受限。


虽然 Cordova 提供的解决方案易于使用,也适用于一些小型项目,但那些更大、更复杂的项目对此提出了挑战。此类项目通常需要对原生项目代码和配置拥有更大的控制权。


为了解决该问题,Ionic Capacitor 采用了一种降低侵入性、增加灵活性的方法。 Capacitor 为原生平台生成并同步 JavaScript 代码,并要求开发人员直接管理原生平台代码。这样的原生代码管理需要开发人员做一些额外的工作,但可以更好地控制项目的原生特性。


Cordova 和 Capacitor 的应用范围均已扩展到移动应用开发之外,现在支持(使用 Electron)创建 PWA 和桌面应用。尽管相比二者对混合移动应用开发的支持,对这些功能的支持尚不完备。


Ionic Capacitor是遵循 MIT 许可的开源软件。欢迎依据“Capacitor贡献者指南”对项目做出贡献。贡献者也需要遵循“Capacitor行为准则”。


原文链接:


Ionic Capacitor: Creating Native Applications with JavaScript


2019-07-07 08:006204
用户头像

发布了 391 篇内容, 共 147.0 次阅读, 收获喜欢 257 次。

关注

评论

发布
暂无评论
发现更多内容

Arctic 基于 Hive 的流批一体实践

网易数帆

hive iceberg LakeHouse Arctic 企业号十月 PK 榜

Java | Scanner关键字、random 关键字、System类和匿名函数

陌上

Java、 编程、 10月月更

final、finally、 finalize 有什么不同?

共饮一杯无

Java final 10月月更

HarmonyOS 3首批正式版开始推送

极客天地

百度工程师教你玩转设计模式(适配器模式)

百度Geek说

Java 设计模式 适配器模式 企业号十月 PK 榜

轻量级的隔离技术:安全沙箱

Geek_99967b

小程序

手写一个Redux,深入理解其原理-面试进阶

beifeng1996

React

前端react面试题(边面边更)

beifeng1996

React

安全沙箱隔离企业风险

Geek_99967b

小程序

2022机械设备行业ERP系统十大品牌排行榜

叶落便知秋

React源码分析7-state计算流程和优先级

goClient1992

React

SAP CAP 项目 cds watch 生成的 index.html 的模板位置和权限控制

汪子熙

云原生 CAP Cloud SAP 10月月更

全能型选手——华为云数据库GaussDB(for MySQL)

清欢科技

实用性强更安全,后悔没早用华为云

清欢科技

跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效

华为云开发者联盟

Python 华为云 图像处理 企业号十月 PK 榜

二进制之间的加减乘除运算

甜点cc

学习笔记 计算机 二进制 10月月更

Java | 面向对象

陌上

Java、 编程、 10月月更

数据安全不容忽视,华为云网站安全为企业保驾护航

爱科技的水月

OKR之剑·理念篇04:让OKR轻松上阵

vivo互联网技术

团队管理 OKR

快递单信息抽取【三】--五条标注数据提高准确率,仅需五条标注样本,快速完成快递单信息任务

汀丶人工智能

nlp 知识图谱 关系抽取 事件抽取 命名实体识别

Java基础 | 常量、数据类型、变量、类型转换、运算符

陌上

Java、 代码 10月月更

你是如何使用React高阶组件的?

beifeng1996

React

React源码分析8-状态更新的优先级机制

goClient1992

React

基于OneNet平台设计的多节点温度采集系统-有人云4G模块+STM32

DS小龙哥

10月月更

python爬取csdn个人首页信息以及博客

木偶

Python 爬虫 10月月更

华为云,安全创新的云服务标杆,助力企业数字化转型

爱科技的水月

Hash Map源码分析(八)

知识浅谈

hashmap 10月月更

Redis数据结构(二)-List、Hash、Set及Sorted Set的结构实现

京东科技开发者

数据库 redis List 数据结构 hash

「经验汇总」基于TDengine的时序数据解决方案

TDengine

数据库 tdengine 时序数据库

MobTech 修改已审核通过的秒验产品信息

MobTech袤博科技

开发者 sdk 秒验 手机验证码认证

AntDB-M设计之CheckPoint

亚信AntDB数据库

AntDB aisware antdb AntDB数据库 企业号十月PK榜 企业号十月 PK 榜

Ionic Capacitor:使用 JavaScript 开发原生应用_大前端_Guy Nesher_InfoQ精选文章