我在这里有一些新的进展,也许这是一个转贴(如果是这样>抱歉)。
我需要一些关于前进方向的指示。我之前制作了一个 Android 应用程序,发现自己在 UI 上使用了大部分开发时间。我希望用 HTML5 设计 UI 并将其分发到 android 和 iOS。
为了集中精力,我对原生和混合进行了大量研究。遇到了一堆平台,如 PhoneGap、Appcelerator、Trigger.io 和 AppGyver(发现后两个很有吸引力)。但是现在我很困惑......
我基本上希望创建一个内部网络环境,允许团队开发将数据输入数据库的 HTML5 内容,同时将开发和数据库置于严格的版本控制之下。
想到这样的设置
- 托管源 HTML5 代码和数据库的本地服务器 - 上游 git。
- 然后在桌面计算机上通过 git 完成开发
- 移动设备/平板电脑 pull 源(git origin)并创建实例,将数据条目 pull 到上游(以及所有其他远程)
- 多个单元可以在同一个实例上工作,并有助于将请求数据 pull 到源。他们会立即看到变化(逻辑应确保没有冲突 - 考虑对设备执行 ping 操作)
如果添加了一些新的 html5,则无需通过应用商店分发新应用(没有改变行为,因此没有违反 list )。
目前我正在考虑制作一个具有 webview 并执行 git 命令的 native 应用程序,但我担心我会被卡住(没有 iOS 编程经验)。这是矫枉过正吗?
我一点也不反对混合供应商 - 只是想知道他们是否会让我实现我的目标。
如果有人有一些关于如何归档类似任务的在线教程的链接,或者可以提供有用的提示/指针,那么我将不胜感激。
我会为所有对我有帮助的答案投赞成票,并为对我帮助最大的答案设置解决方案。
最佳答案
多年来,我一直致力于将网络技术打包到 native 应用程序中。您必须考虑两件事。
首先,您的应用程序将只是一个简单的 HTML 页面,还是具有精美的 UI、非常动态的 UI 交互和动画?如果它很复杂且非常动态,请坚持使用 native 应用程序。它们的主要优点是性能,它非常优于 HTML5 中的 WebView 打包应用程序。
其次,WebView 有很多使用限制。它不像您在手机/平板电脑上使用的 Chrome 浏览器。过于花哨的操作可能会导致 WebView 出现问题,并且您在构建 UI 上花费的额外时间将花在解决非常烦人的小问题上。
另一个问题是,由于沙箱限制,使用 bundle 在您的应用程序中的 git 将很难与 WebView 集成。我当然不建议这样做。如果您不使用 native 手机硬件,如相机和其他硬件,您可以在 WebView 中显示一个远程 HTML5 站点。这是一个更加简单和安全的选择。
还有一点要注意。这些打包的 JavaScript 库有不同的目标。 Cordova(PhoneGap 通过一些 Adobe 支持的功能对此进行了扩展)目标是让您的 JS 代码可以使用 native 电话功能,它与 UI 无关。提到的 Ionic 专注于 UI 开发。还有其他专注于 UI 并与 PhoneGap/Cordova 一起使用的库。我对使用基于 HTML5 的技术的精美动态 UI 的建议是 Sencha Touch 框架,它现在 bundle 在 ExtJS 6 中。尽管它们是付费框架并且需要高级 Javascript 编程。学习曲线非常大。
最后,如果您的目标是加快 UI 开发速度并且应用程序简单,则可以使用 Cordova 和另一个以 UI 为中心的框架。但我建议忘记复杂的 Git“即时”应用程序更新。如果您的应用使用许多 native 功能并且具有非常复杂和庞大的 UI,请坚持使用 native 以提高性能。
另一件需要注意的事情是,开发良好的 native 应用(在大多数情况下)消耗的网络带宽和电池生命周期要少得多。
希望这些信息对你有帮助 =)
关于android - Intraweb HTML5 应用程序、git 和数据库——它们融合了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32933747/