混合应用程序开发 - iOS,Android,Windows Phone和桌面?

问题描述:

我正在开发自己的应用程序,我想作为Web应用程序运行,并且在iOS,Android,Windows Phone和桌面应用程序上运行。混合应用程序开发 - iOS,Android,Windows Phone和桌面?

我可以看到实现这一目标最简单的方法是开发在Visual Studio中的混合应用程序在角/离子,从而将移动设备的服务。

对于桌面应用程序,我正打算在创建充当了一个Web控件中的容器,然后简单地用它部署HTML/JS/CSS C#应用程序。很显然,我会用Bootstrap替换Ionic,但这意味着我可以在应用程序之间保留90%的JS代码,这为我节省了很多时间。

我需要一个本地桌面应用程序的原因是它需要访问WCF与套件的其他部分进行通信。

我看了地铁Apps,但他们是可怕的,具有要求全屏幕不会是什么好的业务应用。我知道有“修复”地铁应用程序的选项,但它仍然没有给我所需的一切(如能够最小化到托盘& WCF)

这是你期望的或我错过的工作流程明显的东西?

+0

各种平台的用例是什么? – Grav 2014-12-05 19:20:39

+0

Hi Grav,短暂的移动/网络应用程序是为了访问由我们远离我们的电脑时由其他用途提交的信息。桌面应用程序是唯一提交通过与单词外挂程序进行通信所获得的信息。 – 2014-12-05 19:31:30

为什么不建立自己的应用程序作为单个页面的Web应用程序首先,使用Angular.js和Bootstrap(它毕竟是“移动第一”的框架)?在iOS,Android和Windows Phone上使用Cordova运行相同的应用程序,并进行小的更改。对于Windows桌面,请使用WinForms/WPF“框架”和嵌入式Chromium浏览器(CEF SharpCEF glue)。

+0

真棒,谢谢你,我主要担心我走的是正确的道路,但是我打算在C#中“构建”浏览器,然后使用window.external在页面中使用JS中的相关调用。myFunction – 2014-12-05 20:48:19

+0

谢谢你,看起来像我在那里复杂的东西! – 2014-12-06 10:40:51

+0

虽然准备头痛,但当你阅读有关它的时候,看起来很容易通常会稍微复杂一点,当你开始实施时... – 2014-12-06 11:06:09

如果您是企业环境中开发,你应该准备面对老版本的Internet Explorer(小于9)渲染你的WebView在桌面应用程序。取决于你对html5特定的东西的使用,这可能是一个问题。

除此之外,您的工作流程听起来很有道理,虽然我不知道你如何访问您的WCF的服务在移动设备上没有任何特定于平台的代码,以及为什么这种方式不适合桌面应用程序?

+0

流程就像这样,桌面版本通过词汇插件和文件系统监视器等获取数据,当其中一种方法发现我们感兴趣的内容时,它会告诉桌面客户端“嗨,您需要将此提交给Webservice先生”。然后,API将这些事件添加到“收件箱”,以便移动设备,平板电脑和Web客户端可以简单地访问/接收该收件箱上的通知 – 2014-12-05 20:02:16

+0

哦,并且在HTML方面,我使用Ionic(移动版)/ Bootstrap(桌面)据我了解,用于呈现这些内容的版本将是我部署的控件,而不是操作系统特定的版本? – 2014-12-05 20:04:08

+1

我认为你使用一些图形框架(在这种情况下引导)和一些JavaScript的业务逻辑基本上创建一个资产的HTML文件,然后创建一个本地应用程序,呈现该HTML(并提供一些额外的API)。渲染html通常意味着使用WebView控件(或WPF中的WebBrowser)。在Windows上,这意味着安装的Internet Explorer版本将呈现该页面。 所以,是的,你部署控制(HTML),并使用操作系统提供的控制(本机)为您的本机应用程序。 – 2014-12-05 20:23:54