QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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:006000
用户头像

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

关注

评论

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

Moment.js 如何获得当前时间的零时时间

HoneyMoose

云网络的守护神:主动链路监控

华为云开发者联盟

数据中心 云网络 华为云Stack 网络监控 主动链路

Vue进阶(幺玖陆):js保留两位小数方法总结

No Silver Bullet

Vue 11月日更

DOM操作造成的页面卡顿问题及解决

CRMEB

AI界的革命!终于可以自动标注了!

百度大脑

人工智能 百度

如何给 CloudWeGo 做贡献

baiyutang

golang 微服务 11月日更

如何使用 MySQL 慢查询日志进行性能优化 - Profiling、mysqldumpslow 实例详解

蒋川

MySQL 数据库 MariaDB 慢查询

第六期零代码训练营正式开放报名!

明道云

创新正当时!「Innovation 2021」网易应用创新开发者大赛决赛十强正式集结!

网易云信

人工智能 音视频 创新

ArkCompiler原理解析|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

0718作业:Hadoop RPC

arctec

题目一: 分析一条 TPCDS SQL

arctec

【Flutter 专题】05 图解修改应用名称及图标

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

解密并发幕后黑手:线程切换引发的原子性问题

华为云开发者联盟

Java 线程 并发 原子性 线程切换

Prometheus Exporter (一)Node Exporter

耳东@Erdong

Linux Prometheus exporter 11月日更 Node Exporter

Moment.js 如何使用 Epoch Time 来构造对象

HoneyMoose

机器学习 | 关于参数模型与非参数模型研究

索信达控股

机器学习 参数模型 非参数模型

云原生时代需要什么样的存储系统

青云技术社区

云计算 云原生 存储

0711作业:MapReduce 编程作业

arctec

Apache APISIX Ingress 为何成为又拍云打造容器网关的新选择?

API7.ai 技术团队

开源 云原生 API网关 Apache APISIX ingress-controller

分布式调试、调优能力解决方案|HDC2021技术分论坛

HarmonyOS开发者

分布式 HarmonyOS

在线等差数列项生成器

入门小站

工具

0919作业:HyperLogLog算法在Presto的应用

arctec

【LeetCode】二叉树的坡度Java题解

Albert

算法 LeetCode 11月日更

HarmonyOS本地模拟器重磅来袭|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

指令重排序导致的可见性问题

博文视点Broadview

如何提高C# StringBuilder的性能

编程宝库

动态模型之动态增减【FunTester测试框架】

FunTester

性能测试 接口测试 测试框架 FunTester 动态模型

linux之抓包神器tcpdump

入门小站

Linux

HarmonyOS新一代UI框架的全面解读|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

腾讯北大合作的稀疏大模型训练加速方案HET入选国际顶会VLDB

科技热闻

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