[Mobile翻译]Cordova vs Capacitor

3,847 阅读8分钟

对于评估新的应用开发方法的开发人员和团队来说,本指南提供了 Capacitor 的概述,以及它如何与 Cordova 相比,成为混合移动应用的首选基础。

原文地址:ionicframework.com/resources/a…

原文作者:twitter.com/maxlynch

发布时间:

现代基于Web的移动应用和混合应用开发在过去几年中已经有了很大的发展。对于那些只知道混合式为Cordova或PhoneGap的人来说,是时候再看看现代混合式应用开发的功能了,Capacitor是由流行的Ionic框架背后的团队创建的一个新的开源混合式应用运行时。注:如需快速了解混合应用开发的入门知识,请查看我们的电子书

什么是 Capacitor?

Capacitor是一个开源项目,它可以在iOS、Android、Electron和Web上原生运行现代Web Apps(使用Progressive Web App技术),同时提供一个强大且易于使用的接口,用于访问每个平台上的Native SDK和Native API。作为Cordova的替代品,Capacitor提供了同样的跨平台优势,但采用了更现代的应用开发方法,利用最新的Web API和本地平台功能。

把 Capacitor 看作是现代 Web Apps 的强大新浏览器,通过一致的跨平台 API 解锁每个平台的全部原生功能,可能会有所帮助。使用Capacitor,开发人员可以构建一个应用程序并针对一组API,而不管应用程序在哪个平台上运行,而不是为每个目标平台管理多个API。

这意味着,例如,访问相机在iOS/安卓上使用的代码与在Electron和网络上使用的代码是一样的。这使得构建一个在移动、桌面和网络上原生运行的网络应用作为一个进步的网络应用变得非常容易!

归根结底,Capacitor应用是原生应用。它们可以结合本地UI控件,并访问平台上任何可用的本地SDK或API。但与更多传统的原生应用程序不同,Capacitor应用程序可能会在嵌入式WebView控件中运行大部分应用程序,以释放所需的跨平台优势和效率。

什么是Cordova/PhoneGap?

和Capacitor一样,Cordova也是一个跨平台运行Web应用的开源项目,不过不是Electron,也不是作为Progressive Web App的web。

Cordova是商业化的Adobe PhoneGap项目的开源核心,在本次讨论中,它们可以被认为是等价的。

虽然Cordova和Capacitor有一些相似之处,但这两个项目在几个关键点上做出了截然不同的决策,以至于两个项目的体验截然不同。在2018年发布的Capacitor还使用了许多新的现代API,而这些API在2009年Cordova创建时是没有的。

为什么越来越多的开发者在使用 Capacitor?

一流的Progressive Web App (PWA)支持

Capacitor是唯一能够为Web应用和Progressive Web Apps提供一流支持的原生运行时。

事实上,我们已经更进一步,为 Camera 等 API 构建了一系列 UI 体验,将用户期望的本地应用 UI 体验带到了渐进式 Web 应用程序中。我们称之为 "渐进式Web应用操作系统"。

最重要的是,构建提供web功能作为后备功能的插件,就像在你的插件中添加几个文件一样简单! Capacitor只会在原生插件不可用的情况下使用你的Web实现,因此用户在iOS、Android、Electron和Web上运行时都可以使用完全相同的API。

Capacitor采取 "web优先 "的方法,并相信每一个优秀的跨平台混合应用的核心都是一个优质的、现代化的Progressive Web App。这使您的应用程序与快速发展的网络平台保持一致,同时在支持它的平台上实现强大的本地设备功能。

简单而强大的CLI工具,可按应用进行版本管理。

Capacitor提供了一个小型的CLI工具,它被安装到每个应用程序的本地。这意味着没有全局的依赖关系需要管理,并且可以在您构建的每个应用程序中轻松使用不同版本的 Capacitor。

这对于正在构建多个应用的团队来说是一个福音,因为这些应用的依赖版本或版本管理流程可能不同。

原生和网络开发团队可以并肩工作。

由于Capacitor应用是实际的原生应用,而Capacitor的一个关键设计考虑是拥抱原生工具,因此,Capacitor可以让那些混合了传统原生移动和Web开发人员的团队协作开展移动应用项目。

而Cordova则是通过一个抽象层,为你管理底层的原生平台项目和源文件。这使得下放到原生代码或与传统的原生移动开发流程合作变得更加困难,并可能导致自定义更改丢失。

在Capacitor中,传统的原生移动开发者可以使用他们选择的编程语言(iOS上的Swift/Objective-C,Android上的Java/Kotlin)来构建UI体验或业务逻辑,然后通过Capacitor的JavaScript到原生API将其暴露到Web层。

此外,开发人员可以快速为特定平台添加自定义的原生代码,并可选择将这些代码暴露到Web层,确保应用团队永远不会卡在实现所需功能上。

在现有的原生应用中添加混合和 Web

Capacitor为每个平台上可用的传统Web View控件增加了超能力,它被设计成在任何会使用Web View的地方使用。这意味着它可以很容易地被投放到现有的原生应用程序代码库中,使得使用Web技术构建应用程序的某些屏幕成为可能,而不需要对应用程序代码库的其他部分进行任何全面的更改。

这也是一种很好的方式,让其他可能拥有更多传统Web开发技能的团队参与到应用的开发中,而不妨碍传统的本地开发流程。

强大且不断增长的应用

如今,Capacitor每年的安装次数超过150万次,目前正在为拥有数亿用户的大型生产型企业应用提供支持。

全球顶级快餐连锁店正在 Capacitor 上部署移动和桌面的店内体验。像西南地区这样的公司正在 Capacitor 和 Ionic 上构建所有新员工入职体验,而像 Sworkit 这样的流行消费类应用则在 Capacitor 上构建了他们最新和最棒的版本(在这种情况下,还有 Ionic 4+!)。

这只是基于 Capacitor 构建的团队的一个小样本。可以说,Capacitor正在掀起混合应用开发生态系统的风暴,并成为Ionic企业移动业务的一个增长部分。

Capacitor甚至已经说服了原生开发者或替代平台的用户,他们看到了Web开发在移动上的好处,并为Capacitor终于提供了他们想要的开发体验而感到高兴。

Capacitor已为企业做好准备

提供支持和企业特定功能

作为一个开源项目,Capacitor确实是独一无二的,因为它背后有一家真正的企业应用开发公司。这意味着我们的业务是为构建关键任务应用程序的团队提供成功和降低风险所需的支持和企业特定功能。

Ionic是Ionic Framework的创建者,与数百家企业客户合作,构建了从主要的消费者交通应用、快餐零售应用、内部B2E应用以及更多的应用。

Ionic在此提供专门的支持,跨越Capacitor及其本地API,并提供先进的企业本地功能,如安全令牌管理、加密离线存储和OpenID认证。此外,团队还可以使用备受欢迎的 Ionic Framework 在 Capacitor 上构建最佳的用户体验。

Capacitor维护良好

电容是Ionic的移动基础设施及其客户的基础设施的一个关键方面。这意味着安全和功能问题会被快速发现、修复和发布。相比之下,Cordova的工作方式是更经典的群体共识系统,由于它不是由业务或支持目标驱动,因此不会优先考虑任何特定用户的需求。Cordova也是一个志愿者驱动的工作。

Capacitor拥有一支由工程师、产品管理、营销和客户成功专家组成的全职团队,致力于客户和项目的成功。

迁移到 Capacitor 很简单

而Capacitor是向后兼容Cordova的。

如果您的团队目前正在使用Cordova,并对迁移到Capacitor感到好奇,那么您应该知道Capacitor对现有的大量Cordova插件都有向后兼容的支持。

此外,从Cordova迁移到Capacitor的过程也有详细的记录,而且简单明了。

开始使用 Capacitor

Capacitor 的设计是为了放入任何现有的现代 Web 应用项目中,并立即添加本地和跨平台功能。

要开始使用,请遵循 Capacitor 官方开发者文档网站上的 Capacitor 安装指南。

联系我们

Capacitor可以加速您的组织的移动和网络开发工作,Ionic团队将在这一过程中提供帮助。

有兴趣了解更多关于 Capacitor、企业支持和高级集成或 Ionic 平台的信息吗?请与我们联系,我们很乐意了解我们如何帮助您的企业在比传统应用开发更短的时间内建立市场领先的应用。

今天就与解决方案工程师预约战略会议。


通过www.DeepL.com/Translator (免费版)翻译