我正在使用Microsoft Azure制作GPS数据记录器和地图查看器应用程序。
我通过TCP工作者角色端点收集数据并将接收的数据存储在表中。
最新的GPS坐标应在谷歌地图上查看。假设具有高速互联网连接,以下哪两个在成本,速度方面是有效的?
1)开发一个Azure网站,该网站从表格中读取数据并显示地图。
2)开发一个Windows应用程序,从表中获取数据并显示地图。 (尚不确定如何执行此操作。请指导有关通信协议和桌面Google地图的信息。)
我正在考虑第二种方法,只是为了确保Azure中的计算量更少,并且可以降低应用程序的成本。
请发表您的观点。
答案 0 :(得分:3)
我认为您在询问是否应将查看器构建为Web应用程序或桌面客户端应用程序?
编辑添加有关客户端通信的工作原理:您不希望客户端直接连接到您的数据库,这是一个巨大的安全风险。您需要在Azure中运行WCF服务,以便客户端连接并代表他们执行查询。
使用桌面应用程序也不太可能为Azure节省更多资金。扩展的瓶颈很可能是数据库查询,您在网站和WCF服务中都有。相对而言,网站的表示层(HTML页面)可能不会非常费力。
但有几件事需要考虑:
获取数据。该网站可以直接查询数据库,并将结果显示给用户。桌面应用程序需要连接到WCF服务,该服务将查询数据库,以获取最新的GPS数据。因此,就所需的Azure实例而言,它仍然是相同的。 WCF服务也更难编码,而且似乎更脆弱(至少在我的经验中)。
易于开发。这可能是一个严重的争论点,但Web应用程序比桌面应用程序更容易开发。你有整个MVC框架,jquery及其所有的插件,丰富的ASP.NET,CSS等资源。客户端你将手工构建很多,你将不得不处理安装程序,更新机制,在所有Microsoft OS等上进行测试
支持。可以通过单个部署到Azure来更新Web应用程序。桌面应用程序需要添加更新插件,您需要维护版本存储库,支持旧客户端,永远不要确定用户正在更新软件等。
跨平台。如果您将其构建为桌面应用程序,您将如何支持移动客户端?您可以构建本机移动应用程序,但这甚至可以更多开始工作。还要将它移植到Mac吗?使用Web应用程序和以下标准,您可以覆盖全世界99%的人(我编写了这个数字)。
为什么我更喜欢Web应用程序而不是本机Windows应用程序,可能有数百个其他原因。
答案 1 :(得分:0)
虽然成本是一个问题,但我认为该网站是一种更清洁,更好的方法。您甚至可以使用HTML5并允许其他人通过手机或平板电脑进行浏览。并且更容易支持更新和改进以及类似于网站然后应用程序的内容。我认为对你来说,麻烦和麻烦也会少得多。