我试图了解一切是如何运作的,但对此主题有一些疑问。
我将解释我是如何理解这些东西的。
首先,让我们从Cordova
开始,这是将JS
,CSS
,HTML
文件翻译为原生应用的平台。但是停止这不完全是真的
实际上它只是将所有html,css文件放入资产文件夹,这样的平台所做的就是创建特定于平台的自定义WebView
,配置它,将所有必需的插件绑定到它并将默认页面设置为打开。
其他所有内容都只是Web开发,除了平台插件提供的钩子方法,它有助于通过GPS
的java调用访问Camera
,WebView
等本机功能。
所以其他所有东西都取决于特定的原生web-core来处理和支持HTML5
,CSS3
等功能...如果例如WebKit
具体的android版本的实现不支持这样的功能,你不能做一些工作,而不是更新Android的低级核心。
所以我有以下问题。
什么是Onsen UI
,Ionics
,Sencha
等平台......官方网站说HTML5 Hybrid Mobile App Framework and UI Components for PhoneGap & Cordova
。为什么关键字HTML5
到处使用,这只是本机浏览器核心的功能,如果浏览器不支持所有这些平台和框架是没用的。
这些平台提供的特殊功能是Mobile-hybrid specific
。我了解PhoneGAp
和Cordova
提供了插件和一些与本机API通信的代理,但在UI frameworks
的情况下,这只是css,js,html文件?为什么我不能在默认的PC浏览器中使用它们?
例如通过npm
安装此类平台和框架的目的是什么npm install onsenui
,为什么我不能简单地将js文件复制到我的项目目录中?我知道有些平台使用css-preprocessors
将伪css文件编译成css文件,但是如果没有这样的工具。
请告诉我错在哪里并回答我的问题。我将不胜感激任何帮助
答案 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安装的。它还可以在发布新版本时轻松升级。总的来说,您可以问,为什么要将包管理器用于任何语言/平台,这取决于组织和便利性。
我希望我回答你的所有问题,如果没有,请发表评论。