写点什么

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

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

关注

评论

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

情感分析 | AI没有“心”,却能“读心”

澳鹏Appen

人工智能 自然语言处理 机器学习 nlp 训练数据

再谈业务信息化操作系统(BIOS)

孤岛旭日

中台 企业架构 平台

高性能JavaScriptの结语 -- 学完了

空城机

JavaScript 6月日更

小程序电商系统微服务拆分

唐高为

【Flutter 专题】108 图解 PageView 滑动页面预览小尝试

阿策小和尚

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

分布式系统中的ID是如何生成的

卢卡多多

电商 分布式ID 6月日更 签约计划第二季

Packer 自动化镜像构建

HoneyMoose

springboot启动流程之createApplicationContext

梦倚栏杆

ONES CTO 冯斌 | 项目管理是软件研发的刚需

万事ONES

项目管理 研发管理 ONES

动态规划最长公共子序列(LCS)问题(Java实现)

若尘

动态规划 java编程 6月日更

一文回顾 Java 入门知识(下)

逆锋起笔

Java 面向对象 JAVA开发 java基础 javase

Go Runtime的调度器

面向加薪学习

开发 Go 语言

Vue.js项目无法启动:sh: 1: vue-cli-service: not found

codists

vue.js

中文技术文章排版

KooFE

6月日更

低内聚:说是小需求做似趟雷区

Jxin

分布式认知工业互联网的更多“玩法”介绍

CECBC

【21-2】什么是 PowerShell

耳东@Erdong

windows PowerShell 6月日更

读深入ES6记[三]

蛋先生DX

ES6 6月日更

Kubernetes手记(6)- POD 配置清单

雪雷

k8s 6月日更

教你在Kubernetes中快速部署ES集群

华为云开发者联盟

Kubernetes 监控 中间件 集群 ES集群

ONES CTO 冯斌 | 高效研发团队的技术管理之道

万事ONES

管理 研发管理 技术管理 ONES

手撸Spring框架,设计与实现资源加载器,从Spring.xml解析和注册Bean对象

小傅哥

spring 小傅哥 资源加载器 解析xml 注册Bean对象

融合创新与头雁领路:通过北京人工智能产业联盟能读懂什么?

脑极体

网络基础:HTTP 服务介绍

看山

网络 HTTP 6月日更

【Vue2.x 源码学习】第九篇 - 对象数据变化的观测情况

Brave

源码 vue2 6月日更

week6 作业

Geek_2e7dd7

架构实战营

Java 并发编程—— ThreadPoolExecutor 分析应用

Antway

6月日更

深圳站 | 鹏城再聚,赋能未来,金沙古酒百城巡展第39站完美收官!

科技热闻

想听世界上最懂 JavaScript 的人和你讲JavaScript 吗?

博文视点Broadview

聊聊Go的包管理

架构精进之路

包管理工具 Go 语言 6月日更

如何用Python快速的搜索邮件

IT蜗壳-Tango

6月日更

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