【问题标题】:Making app with Ionic. Why do I need PhoneGap?使用 Ionic 制作应用程序。为什么需要PhoneGap?
【发布时间】:2016-11-23 11:25:45
【问题描述】:

我是一名网络开发人员,对我可以使用 HTML5 + CSS 构建的这些混合(或原生?)应用程序感到好奇。所以我决定尝试构建一个。

所以我对这个完全陌生。 (而且对 CLI 也不满意。)

起初,我搜索了怎么做,发现可以将HTML5 + CSS转换为移动应用程序的PhoneGap。看起来很简单。

然后我需要一个框架,然后找到了 Mobile Angular JS。

我开始构建我的应用程序。但是当应用程序在桌面浏览器中运行良好但无法在移动应用程序的 ngview 中加载模板时会出现问题。这让我想知道 Mobile Angular JS 是否不适合 PhoneGap。

所以我搜索了哪些框架与 PhoneGap 最兼容,发现 Ionic 就是这样。但是当我在他们的文档中读到它时,我感到很困惑。似乎 Ionic 有自己的构建程序,可以将我的 HTML 转换为可运行的移动应用程序。

既然您已经拥有 Ionic 的 PhoneGap 功能,为什么 Ionic 与 PhoneGap 完美结合?

我很困惑。

编辑:

经过几个小时的进一步阅读和更多的 cmets,我认为我可以非常自信地确定 Ionic 不需要 PhoneGap。而且 Ionic 并不是测试 PhoneGap 的最佳框架。

使用 Framework7 似乎更容易。 PhoneGap 说​​只是将 Framework7 dist 内容克隆到 PhoneGap 的 www 文件夹中。 http://phonegap.com/blog/2015/11/30/framework7/

但我有点担心,每次我想测试时都必须做那个克隆吗?

也许我最终还是选择了 jQuery Mobile...

【问题讨论】:

  • 嗨,如果您想构建一个混合移动应用程序,那么 ionic、cordova 和 angularjs 就足够了,无需使用 phoneGap。

标签: javascript cordova jquery-mobile ionic-framework html-framework-7


【解决方案1】:

Ionic 使用 Cordova 来package up HTML, CSS, and JavaScript into multi-platform native apps,但也提供了额外的功能。

Ionic uses Cordova proper at the core, we do not use PhoneGap at all.... PhoneGap is Adobe's productized version and ecosystem on top of Cordova.

Ionic Angular 组件的设计和测试都考虑到了移动设备。

Ionic Cloud 等额外服务已发布,集成了推送通知、部署、本机应用程序打包、用户身份验证、分析和实时数据库等功能。

PhoneGap 将其主要功能推广为our command line interface, the PhoneGap Desktop app, the PhoneGap Developer app, and PhoneGap Build

PhoneGap 功能可以与 Ionic 一起使用,可能需要进行调整,而 Ionic 功能是为协同工作而构建的。

【讨论】:

  • 但是PhoneGap 有没有让任何事情变得更好?构建过程更容易?我可以在这里跳过一些步骤:ionicframework.com/docs/guide/publishing.html 用 PhoneGap 代替吗?
  • PhoneGap 和 Ionic 都提供云构建服务,这意味着不在您的本地计算机上。哪个更好将是非常主观的。如果您想在您的机器上使用 Cordova 手动跳过,请参阅此处:ionic.io/cloud#packaging
  • 但是我已经在构建一个应用程序,并且可以通过 PhoneGap OSX 应用程序的链接在我的浏览器中对其进行测试。我还没有将 Cordova 下载到我的计算机上。还是 PhoneGap OSX 应用程序相当于像 Ionic 所说的那样下载 Cordova?所以如果我已经有PhoneGap,我不需要下载node.js 或cordova?但我仍然需要安装 Ionic?那么什么是“离子”呢?本指南令人困惑:ionicframework.com/docs/guide/installation.html。我只想要一个项目文件夹开始使用...
  • Ionic 和 PhoneGap 都使用 Cordova,但在上面提供了自己的功能。 Ionic 最初的主要功能是专门为移动设备构建的 Angular 组件,而 PhoneGap 不提供。
  • PhoneGap App 可能适用于 Ionic 项目,但您可能需要进行一些修改。似乎其他人以前使用过 Ionic 的 PhoneGap 功能:devgirl.org/2014/09/08/…
【解决方案2】:

我认为更好地了解 Ionic、它是什么以及使用它的原因将有助于您更好地理解其目的。

我附上 Ionic 文档中的两段:

什么是 Ionic,它适用于何处? Ionic 是一个 HTML5 移动应用程序开发框架,旨在构建混合移动应用程序。混合应用程序本质上是在应用程序的浏览器外壳中运行的小型网站,可以访问本机平台层。与纯原生应用相比,混合应用具有许多优势,特别是在平台支持、开发速度和对第 3 方代码的访问方面。

将 Ionic 视为前端 UI 框架,它处理您的应用所需的所有外观和 UI 交互,以使其引人注目。有点像“Bootstrap for Native”,但支持广泛的常见原生移动组件、流畅的动画和精美的设计。

与响应式框架不同,Ionic 带有非常原生风格的移动 UI 元素和布局,您可以通过 iOS 或 Android 上的原生 SDK 获得这些元素和布局,但之前在网络上并不存在。 Ionic 还为您提供了一些固执己见但功能强大的方法来构建超越现有 HTML5 开发框架的移动应用程序。

由于 Ionic 是一个 HTML5 框架,它需要像 Cordova 或 PhoneGap 这样的原生包装器才能作为原生应用程序运行。我们强烈建议您使用适合您的应用的 Cordova,Ionic 工具将在下面使用 Cordova。

我们为什么要构建 Ionic? 我们构建 Ionic 是因为我们坚信 HTML5 会随着时间的推移在移动设备上占据主导地位,就像它在桌面上一样。一旦台式计算机变得足够强大,浏览器技术也足够先进,几乎每个人都将计算时间花在浏览器上。开发人员绝大多数都在构建 Web 应用程序。随着最近移动技术的进步,智能手机和平板电脑现在能够运行许多相同的网络应用程序。

我们希望通过 Ionic 构建一个 HTML5 移动开发框架,该框架专注于原生或混合应用,而不是移动网站,因为我们觉得已经有很好的工具用于移动网站开发。因此,Ionic 应用程序并不打算在 Chrome 或 Safari 等移动浏览器应用程序中运行,而是要在 iOS 的 UIWebView 或 Android 的 WebView 等低级浏览器外壳中运行,它们由 Cordova/PhoneGap 等工具包装。强>

请在此处阅读更多信息:http://ionicframework.com/docs/guide/preface.html

【讨论】:

  • 在我在 Stackoverflow 上写我的问题之前,我实际上已经阅读了该文本。那是什么让我感到困惑。因为在 Ionic 网站上的入门指南中,我似乎必须在我的计算机上安装程序。 Node.js,科尔多瓦。当应用程序依赖计算机上的程序时,它如何在移动设备上运行?但是科尔多瓦是Phonegap吗?所以如果我有Phonegap,我可以跳过入门指南中的部分吗?我会认为我只需要项目目录?
【解决方案3】:

Ionic 只提供基本结构和基本功能,您可以使用这些基本结构和基本功能让您的应用运行(它提供 css 和 javascript 组件,如按钮、弹出窗口、对话框、模式和许多其他东西),但要使其成为真正的 android、ios 或windows app 你需要构建为 .apk 或 .appx 或 .ipa 。这就是 phonegap 的用武之地。你只需按照 ionic 框架的结构,然后在 phonegap 中构建它,然后你的应用就准备好了。

【讨论】:

  • 这里的“配置平台”和“测试”ionicframework.com/docs/guide/installation.html 不只是一个框架吗?它更像是 Ionic 是我电脑上的 PhoneGap Build 或手机上的 PhoneGap 应用程序?
  • Ionic 框架在没有cordova(也被phonegap 使用)的情况下什么也做不了。您在ionic 中所做的所有这些配置和设置只是为了创建config.xml,它最终也被phonegap 读取以安装对您的应用的依赖项
  • 我想把事情说清楚。观看此页面:ionicframework.com/docs/guide/publishing.html PhoneGap 是否等同于 ionic build ios --release 命令?或者 PhoneGap 是否以任何方式使构建变得更容易?
  • 似乎 ionic 框架现在也已经启动了构建应用程序的设施,或者我可能没有使用它。但我很确定他们一定在使用 cordova。 :)
猜你喜欢
  • 1970-01-01
  • 2013-05-13
  • 1970-01-01
  • 1970-01-01
  • 2021-11-15
  • 1970-01-01
  • 2014-05-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多