写点什么

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

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

关注

评论

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

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

goClient1992

React

HarmonyOS Connect “Device Partner”专场FAQ来啦!

HarmonyOS开发者

HarmonyOS

从 Netflix 传奇看,结果导向的产品路线图如何制定?

LigaAI

敏捷开发 研发管理 技术管理 成长路线图 企业号 2 月 PK 榜

阿里前端二面经典手写面试题汇总

helloworld1024fd

JavaScript 前端

透明led显示屏的应用指南

Dylan

LED LED display LED显示屏

华为Push用户增长服务:精准触达,加速增长

HarmonyOS SDK

HMS Core

2023前端二面经典手写面试题

helloworld1024fd

JavaScript 前端

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

goClient1992

React

聊聊火出圈的ChatGPT

江湖修行

人工智能 AI ChatGPT

react源码中的生命周期和事件系统

flyzz177

React

瓴羊Quick BI可视化大屏功能强劲

对不起该用户已成仙‖

实现一个简单的Database12(译文)

GreatSQL

sqlite greatsql greatsql社区

react源码分析:实现react时间分片

flyzz177

React

react源码分析:babel如何解析jsx

flyzz177

React

AIGC的隐私安全问题及隐私保护技术 | 社区征文

京东科技开发者

隐私计算 语言模型 ChatGPT 企业号 2 月 PK 榜 LLM

js函数柯里化-面试手写版

helloworld1024fd

JavaScript 前端

从React源码分析看useEffect

goClient1992

React

PCB生产工艺|主流程之AOI,华秋一文读懂其子流程

华秋电子

MIAOYUN 2023年度战略共识会

MIAOYUN

战略共识 战略会

解析关于Tomcat Servlet-request的获取请求参数及几种常用方法

华为云开发者联盟

开发 华为云 企业号 2 月 PK 榜 华为云开发者联盟

华为云携手金蝶,探索高成长型企业“数字化创新管理”之路

华为云开发者联盟

云计算 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

运联智库发布跨境电商物流50强排行榜

联营汇聚

vue的两种服务器端渲染方案

京东科技开发者

Vue 服务端 nextjs nuxt 渲染方案

飞桨-鹏城云脑发行版亮相第四届启智开发者大会,软硬一体化助力科研

飞桨PaddlePaddle

深度学习 paddle 飞桨

GAIDC 2023盛会迎来大模型论坛“主场”,百度飞桨护航大模型产业发展

飞桨PaddlePaddle

深度学习 飞桨

一个诡异的 Pulsar InterruptedException 异常

小小怪下士

Java 程序员 后端

瓴羊Quick BI移动端自助分析功能受追捧

巷子

IoT设备身份三元组烧录方案汇总——实践类

阿里云AIoT

阿里云 物联网 IoT

什么是物联网?常见IoT 物联网协议最全讲解——基础知识

阿里云AIoT

人工智能 安全 前端开发 网络协议 传感器

佳杰云星:基于鲲鹏DevKit开发多云管理平台,云资源综合管理能力提升约25%

极客天地

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