混合应用程序开发(PhoneGap、Cordova、Ionic)

2024-05-07

我试图了解一切是如何运作的,但对此主题有一些疑问。

我将解释我如何理解这些东西。

首先让我们从Cordova这是翻译平台JS,CSS,HTML文件到本机应用程序中。但这并不完全是事实。
实际上,它只是将所有 html、css 文件放入 asset 文件夹中,此类平台所做的唯一事情就是创建自定义WebView特定于平台,配置它,将所有必需的插件绑定到它并设置要打开的默认页面。
除了平台插件提供的钩子方法(有助于访问本机功能,例如GPS,Camera通过java调用WebView.
因此,所有其他内容都取决于特定的本机网络核心来处理和支持诸如HTML5, CSS3...如果例如WebKit特定 Android 版本的实现不支持此类功能,您无法执行某些操作来使其正常工作,而不是更新 Android 的低级核心。

所以我有以下问题。

  1. 平台是什么样的Onsen UI, Ionics, Sencha...官方网站说HTML5 Hybrid Mobile App Framework and UI Components for PhoneGap & Cordova。为什么关键词HTML5无处不在,这只是本机浏览器核心的功能而已,如果浏览器不支持所有这些平台和框架就没用了。

  2. 这些平台提供的特别之处是什么Mobile-hybrid specific。我明白那个PhoneGAp and Cordova提供插件和一些代理用于与本机 API 通信,但在以下情况下UI frameworks这只是 css、js、html 文件?为什么我无法在默认 PC 浏览器中使用它们?

  3. 安装这样的平台和框架的目的是什么,例如通过npm例如npm install onsenui,为什么我不能简单地将js文件复制到我的项目目录中?据我了解,有些平台使用css-preprocessors将伪css文件编译成css文件,但在没有此类工具的情况下。

请告诉我哪里错了并回答我的问题。如果有任何帮助,我将不胜感激


1)您在第一个问题中提到的所有库/框架都有点不同。

  • Ionic 提供了一个可在混合应用程序中使用的 UI 框架(即控件)以及与所提供的 UI 控件进行交互的角度服务。它本质上为您提供了构建混合应用程序的整个堆栈。

  • Onsen UI 是另一个比 Ionic 更小的 UI 框架,并且与库无关。 Onsen 确实为其 UI 提供了 Angular 绑定和服务,但也可以使用普通的旧版 JS 或 jQuery。即将推出的版本还支持 React 绑定。

  • 关于 Sencha 我不能说太多(我没有使用过),但它也是 UI 框架。然而,Snecha 使用他们自己的 JS 框架,称为 ExtJS。

关键词的使用HTML5更有可能宣传 UI 框架正在使用现代 Web 技术(Flexbox 等)。我(如果我错了,请有人纠正我)相信这可能只是一种营销策略。

2)从技术上讲,没有一个是混合特定。您相信它们可以在桌面浏览器环境中使用是正确的。话虽如此,UI 组件是为移动设备设计的,在桌面上看起来不太吸引人。它们最适合混合应用程序和移动网络应用程序。 Ionic 甚至正在推动渐进式网络应用程序,并计划扩展对桌面(包括电子)的支持。

3)通过包管理器安装这些框架也很方便。您可以轻松地复制文件(Ionics 的网站说明您可以这样做)。并手动编译样式,但要让事情正常工作需要更多工作。有些(例如 Ionic)通过 NPM 安装了 CLI,但框架通常是通过 Bower 安装的。当新版本发布时,它还可以轻松升级。总的来说,您可能会问,为什么要为任何语言/平台使用包管理器,这取决于组织和便利性。

我希望我回答了你所有的问题,如果没有请留下评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

混合应用程序开发(PhoneGap、Cordova、Ionic) 的相关文章

  • 已经使用 AsyncTask doInBackground 但新数据未显示

    我使用 AsyncTask 创建一个聊天室来接收消息 因此它总是检查即将到来的消息并将其显示给客户端 但代码似乎无法按我希望的方式工作 在客户端只显示所有旧数据 新数据不显示 因为当我尝试从服务器发送消息时 新数据没有显示在客户端中 我对这
  • 如何在php中使用一张图像绘制形状

    我需要使用图像的一部分来创建帧图像 例如 用户将从后端上传图像片段 现在我需要根据前端用户的要求在前端创建一个框架 用户将选择框架的高度和宽度 然后他将选择该图像片段 如下所示 我没有办法做到这一点 我尝试通过 css 和 html can
  • Android 原理图内容提供程序库配置?

    Jake Wharton 在最近的一次演讲中提到了这个库 它看起来是避免大量样板文件的好方法 所以我尝试了一下 但没有任何成功 https github com SimonVT schematic https github com Simo
  • 更新到材质 1.2.0 后,材质按钮上缺少圆角半径属性

    这是我的材质按钮代码
  • 请求位置更新参数

    这就是 requestLocationUpdates 的样子 我使用它的方式 requestLocationUpdates String provider long minTime float minDistance LocationLis
  • Android 版 Robotium - solo.searchText () 不起作用

    我在使用 Robotium 时遇到 searchText 函数问题 我正在寻找这个字符串
  • Android 启动器快捷方式

    我制作了一个简单的打卡 打卡时钟应用程序 我想向用户添加在主屏幕上创建快捷方式的选项 该快捷方式将切换应用程序的状态 超时 超时 但我根本不希望此快捷方式在屏幕上打开应用程序 这是我的 setupShortcut private void
  • 使用 CSS 覆盖透明 div 中的不透明文本

    我试图使透明 div 内的文本没有不透明度 也就是全黑 div style background 3cc p style background 000 This text should be all black p div 只用 CSS 就
  • Android Studio:无法启动守护进程

    当我尝试在 Android Studio 中导入 gradle 项目时 遇到以下错误 Unable to start the daemon process This problem might be caused by incorrect
  • Android构建apk:控制MANIFEST.MF

    Android 构建 APK 假设一个 apk 包含一个库 jar 例如 foo jar 该库具有 META INF MANIFEST MF 这对于它的运行很重要 但在APK中有一个包含签名数据的MANIFEST MF 并且lib jar
  • Twitter bootstrap 3表单水平和单行多个输入列

    我需要将多列输入放在单行中 如下所示 我通过将多个输入分组为一个来做到这一点form group 但是这样我不能使用has error class div class form group div
  • CSS - div 与父 div 底部对齐(内联块)

    我知道这个 html 很草率 有一些不必要的额外 div 但无论如何 我无法理解为什么 ID 为 info box right 的 div 与父 div 的底部对齐 您可以看到 文本 与下面的 jsfiddle 示例的底部 有什么想法可以让
  • 通过 ADB 拔出设备:“找不到服务”

    我必须测试我的应用程序在打瞌睡模式下的行为 根据文档 https developer android com training monitoring device state doze standby html testing doze 我
  • 下载后从谷歌照片库检索图像

    我正在发起从图库中获取照片的意图 当我在图库中使用 Nexus 谷歌照片应用程序时 一切正常 但如果图像不在手机上 在 Google Photos 在线服务上 它会为我下载 选择图像后 我将图像发送到另一个活动进行裁剪 但在下载的情况下 发
  • 将 JSON 参数从 java 发布到 sinatra 服务

    我有一个 Android 应用程序发布到我的 sinatra 服务 早些时候 我无法读取 sinatra 服务上的参数 但是 在我将内容类型设置为 x www form urlencoded 之后 我能够看到参数 但不完全是我想要的 我在
  • Android中webview的截图方法

    我在 webview 中的 html5 canvas 上画了一些线 并尝试使用下面的代码截取 webview 的屏幕截图 WebView webView WebView findViewById R id webview webView s
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • 在具有多级分组的 HTML 表格中显示数据

    我必须通过使用 rowspan 进行分组来显示 HTML 表中的一些数据 下面是预期的 GUI 我有如下所示的 JSON 数据 JSON数据here https jsoneditoronline org id 1014438e5489485
  • 无法运行我的应用程序,要求选择 Android SDK

    今天我已经安装了Android Studio 金丝雀 1 现在我无法运行我的应用程序 将出现以下对话框 我已经通过 文件 gt 项目结构 gt Android SDK 位置 设置了正确的 SDK 位置 期待您的帮助来解决这个问题 警告对话框
  • 如何删除因 Google Fitness API 7.5.0 添加的权限

    将我的 play services fitness api 从 7 0 0 更新到 7 5 0 后 我注意到当我将新版本上传到 PlayStore 时 它 告诉我正在添加一个新权限和 2 个新功能 我没有这样做 有没有搞错 在做了一些研究来

随机推荐