混合应用程序开发(PhoneGap,Cordova,Ionic)引擎盖下

时间:2016-06-06 16:41:20

标签: android css html5 css3 cordova

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

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

首先,让我们从Cordova开始,这是将JSCSSHTML文件翻译为原生应用的平台。但是停止这不完全是真的 实际上它只是将所有html,css文件放入资产文件夹,这样的平台所做的就是创建特定于平台的自定义WebView,配置它,将所有必需的插件绑定到它并将默认页面设置为打开。
其他所有内容都只是Web开发,除了平台插件提供的钩子方法,它有助于通过GPS的java调用访问CameraWebView等本机功能。
所以其他所有东西都取决于特定的原生web-core来处理和支持HTML5CSS3等功能...如果例如WebKit具体的android版本的实现不支持这样的功能,你不能做一些工作,而不是更新Android的低级核心。

所以我有以下问题。

  1. 什么是Onsen UIIonicsSencha等平台......官方网站说HTML5 Hybrid Mobile App Framework and UI Components for PhoneGap & Cordova。为什么关键字HTML5到处使用,这只是本机浏览器核心的功能,如果浏览器不支持所有这些平台和框架是没用的。

  2. 这些平台提供的特殊功能是Mobile-hybrid specific。我了解PhoneGApCordova提供了插件和一些与本机API通信的代理,但在UI frameworks的情况下,这只是css,js,html文件?为什么我不能在默认的PC浏览器中使用它们?

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

  4. 请告诉我错在哪里并回答我的问题。我将不胜感激任何帮助

1 个答案:

答案 0 :(得分:3)

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

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

  • Onsen UI是另一个更小的UI框架,比Ionic更多的库不可知。 Onsen确实为他们的UI提供Angular绑定和服务,但也适用于普通的旧vanilla JS或jQuery。即将推出的版本也支持React绑定。

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

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

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

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

我希望我回答你的所有问题,如果没有,请发表评论。