我试图了解一切工作原理,但是对此主题有一些疑问.
我将解释我如何理解这些内容.
首先让我们从Cordova开始,这是一个将JS,CSS,HTML文件转换为本地应用程序的平台.但是,这并不是完全正确的.
实际上,它只是将所有html,css文件放入资产文件夹,而该平台所做的只是创建针对该平台的自定义WebView,对其进行配置,将所有必需的插件绑定到该WebView并将默认页面设置为打开.
除平台插件提供的钩子方法外,其他所有内容都只是Web开发,该方法可通过WebView的java调用帮助访问GPS,Camera之类的本机功能.
因此,所有其他内容都取决于特定的本机Web核心,以处理和支持HTML5,CSS3等功能……例如,如果特定android版本的WebKit实现不支持此类功能,则您无法做一些事情来使其正常工作,而不是更新Android的低级内核.
所以我有以下问题.
>什么是Onsen UI,Ionics,Sencha等平台…官方网站说HTML5混合移动应用程序框架和PhoneGap& UI的UI组件科尔多瓦.为什么在各处都使用关键字HTML5,这仅是本机浏览器核心的功能,如果浏览器不支持所有这些平台,并且框架也无用.
>这些平台提供了哪些特定于移动混合的功能.我知道PhoneGAp和Cordova提供了用于与本机API通信的插件和一些代理,但是在UI框架的情况下,这仅仅是css,js,html文件?为什么我不能在默认的PC浏览器中使用它们?
>例如通过npm安装这样的平台和框架的目的是什么,例如npm install onsenui,为什么我不能仅仅简单地将js文件复制到我的项目目录中?我了解到某些平台使用css预处理器将伪css文件编译为css文件,但是在没有此类工具的情况下.
请告诉我我错了,然后回答我的问题.我将不胜感激
解决方法:
1)您在第一个问题中提到的所有库/框架都有些不同.
> Ionic提供了可在混合应用程序中使用的UI框架(即控件)以及与提供的UI控件进行交互的角度服务.从本质上讲,它为您提供了构建混合应用程序的整个堆栈.
> Onsen UI是另一个UI框架,与Ionic相比,它更小且与库无关. Onsen确实为其UI提供了Angular绑定和服务,但也可以与普通的老式JS或jQuery一起使用.即将发布的版本还支持React绑定.
>关于Sencha,我不能说太多(我没有使用过),但是它也是UI框架.但是,Snecha使用他们自己的称为ExtJS的JS框架.
使用关键字HTML5更有可能宣传UI框架正在使用现代Web技术(Flexbox等).我(如果我错了,请有人纠正我)相信这可能只是一种营销策略.
2)从技术上讲,没有一个是特定于Hybrid的.您认为它们可以在桌面浏览器环境中使用是正确的.话虽如此,UI组件是为移动设备设计的,在台式机上看起来并不吸引人.它们最适合混合应用程序和移动Web应用程序. Ionic甚至在推动渐进式Web应用程序的发展,并计划扩展对台式机(包括电子设备)的支持.
3)通过包管理器安装这些框架也很方便.您可以轻松地复制文件(Ionics的网站说明您可以执行此操作).并手动编译样式,但要使其正常工作还需要更多的工作.有些工具(例如Ionic)通过NPM安装了CLI,但是该框架通常是通过Bower安装的.当发布新版本时,它也使升级变得容易.总的来说,您可能会问,为什么对任何语言/平台都使用包管理器,这取决于组织和便利性.
希望我回答了您的所有问题,如果没有,请发表评论.