Intraweb HTML5 应用程序、git 和数据库——它们融合了吗?
Posted
技术标签:
【中文标题】Intraweb HTML5 应用程序、git 和数据库——它们融合了吗?【英文标题】:Intraweb HTML5 app, git and database - do they blend? 【发布时间】:2015-10-04 12:58:32 【问题描述】:我在这里有点新的地方,也许这是一个转贴(如果是这样>对不起)。
我需要一些关于前进方向的指示。我之前制作了一个 android 应用程序,发现自己在 UI 上使用了大部分开发时间。我希望用 html5 设计 UI 并将其分发到 android 和 iOS。
为了集中精力,我对原生和混合进行了很多研究。遇到了一堆平台,如 PhoneGap、Appcelerator、Trigger.io 和 AppGyver(发现后两个很有吸引力)。但是现在我很困惑……
我基本上希望创建一个内部网络环境,允许团队开发 HTML5 内容,将数据输入数据库,同时保持开发和数据库处于严格的版本控制之下。
考虑这样的设置
托管源 HTML5 代码和数据库的本地服务器 - git 上游。 然后由 git 在台式机上完成开发 手机/平板电脑拉取源(git origin)并创建实例,将请求数据条目拉到上游(以及所有其他远程) 多个单元可以在同一个实例上工作,并有助于将请求数据拉取到源。他们立即看到变化(逻辑应该确保没有冲突 - 考虑 ping 设备)如果添加了一些新的 html5,则无需通过应用商店分发新应用(没有改变行为,因此没有违反清单)。
目前我正在考虑制作一个具有 webview 并执行 git 命令的本机应用程序,但我担心我会卡住(没有 ios 编程经验)。这是不是矫枉过正?
我完全不反对混合供应商 - 只是想知道他们是否会让我实现我的目标。
如果有人有一些关于如何存档类似任务的在线教程的链接,或者可以提供有用的提示/指针,我将不胜感激。
我会投票支持所有对我有帮助的答案,并为对我最有帮助的答案设置解决方案。
【问题讨论】:
我不知道这条评论是否对你有用,但最近我发现 Codename One 作为开发跨移动应用程序的平台,你将用 java 编写并有一个有用的设计器 gui :codenameone.com 感谢您的建议。 Eclipse 中 JAVA 的主要问题是 xml 中的 UI 编辑 - 希望通过使用 CSS 来简化任务(有更多支持) 【参考方案1】:多年来,我一直致力于将 Web 技术集成到本机应用程序中。你必须考虑两件事。
首先,您的应用将只是一个简单的 HTML 页面,还是拥有精美的 UI、非常动态的 UI 交互和动画?如果它很复杂且非常动态,请坚持使用本机应用程序。它们的主要优点是性能,它非常优于 HTML5 中的 WebView 打包应用程序。
其次,WebView 有很多使用限制。它不像您在手机/平板电脑中使用的 Chrome 浏览器。过于花哨的操作可能会给 WebView 带来问题,而您花费在构建 UI 上的额外时间将花费在解决非常烦人的小问题上。
另一个问题是,由于其沙盒限制,使用捆绑在您的应用中的 git 将难以与 WebView 集成。我当然不建议这样做。如果您不使用本机手机硬件,如相机等,您可以在 WebView 中显示一个远程 HTML5 站点。这是一个更加简单和安全的选择。
还有一点需要注意。这些打包 javascript 库有不同的目标。 Cordova(PhoneGap 使用一些 Adobe 支持的功能对此进行了扩展)的目标是使您的 JS 代码可以使用本机电话功能,它与 UI 无关。提到的 Ionic 专注于 UI 开发。还有其他一些专注于 UI 并与 PhoneGap/Cordova 一起使用的库。我对使用基于 HTML5 技术的花哨和动态 UI 的建议是 Sencha Touch 框架,它现在捆绑在 ExtJS 6 中。尽管它们是付费框架并且需要高级 Javascript 编程。学习曲线非常大。
最后,如果您的目标是更快的 UI 开发并且应用程序很简单,您可以使用 Cordova 和另一个以 UI 为中心的框架。但我建议忘记复杂的 Git “即时”应用程序更新。如果您的应用使用了许多原生功能并且具有非常复杂和大的 UI,那么出于性能考虑,请坚持使用原生。
另外需要注意的是,开发良好的原生应用程序消耗的(在大多数情况下)网络带宽和电池寿命要少得多。
希望这些信息对你有所帮助 =)
【讨论】:
【参考方案2】:我可能会建议查看Ionic,这是一个引用:
强大的 HTML5 SDK,可帮助您使用 HTML、CSS 和 Javascript 等网络技术构建具有原生感觉的移动应用程序。
Ionic 主要关注应用的外观和感觉以及 UI 交互。这意味着我们不能替代 PhoneGap 或您最喜欢的 Javascript 框架。相反,Ionic 很适合这些项目,以简化应用程序的一个重要部分:前端。我们建议阅读 Where does the Ionic Framework fit in? 以更好地了解 Ionic 的目标。
Ionic 目前需要 AngularJS 才能充分发挥其潜力。虽然您仍然可以使用框架的 CSS 部分,但您会错过强大的 UI 交互、手势、动画和其他功能。
我从中得到的是 Ionic 与 PhoneGap 集成。
我不确定这会有多大帮助,但我认为它对您的搜索很有用。
【讨论】:
【参考方案3】:PhoneGap - 迄今为止,是最全面的单一套件,可让您利用 HTML、CSS 和 Javascript,让您能够拥有单一来源的解决方案并发布到移动环境。
使用你的场景:
-
在本地 Web 服务器(Intranet)中创建您的应用程序
利用 PhoneGap API 改进数据访问和 UI。
发布到 GIT/SVN 以进行版本控制
使用 PhoneGap 构建(构建服务 - 一种云服务,可以压缩源代码,然后您选择您的平台)
作为私有/公共发布到设备目标(IOS、Android、WPhone)
这样,您选择的设备上的 HTML5 应用程序和已发布/打包的应用程序将是相同的;并且 WebApp 和 DeviceApp 将保持同步。
有用的PhoneGap教程:
PhoneGap Tutorial 1
PhoneGap Tutorial 2
【讨论】:
以上是关于Intraweb HTML5 应用程序、git 和数据库——它们融合了吗?的主要内容,如果未能解决你的问题,请参考以下文章
Delphi XE7下 Intraweb 发布为ASP.NET应用程序