我需要构建一个基于Web的照片共享应用程序,并且还具有适用于Android,Windows Phone和iOS的移动应用程序(我不需要构建所有这些应用程序,应该无缝支持这些应用程序)。照片共享项目将是我的任务,以了解照片共享过程中涉及的varios方面(高效的存储,可靠性和UI呈现将是我的关键方面)。
我打算使用Windows Azure,IIS,SQL Server,也许还有一些银光?这对我来说是最具成本效益的,也是一种推荐的方式?
如果any1可以分享一些流行的照片共享网站使用的当前趋势技术。
谢谢
答案 0 :(得分:3)
好的,如果你希望你的应用程序支持WP,iOS,Android,......你将不得不考虑一些技术,它允许你构建一个可以被任何这些平台轻松使用的API。在这种情况下,您可能需要查看新的ASP.NET Web API,它允许您构建支持content negotiation的API。
除此之外,您还需要了解如何使用Blob Storage在Windows Azure中存储数据。这允许您为所有文件提供URI,并让Blob Storage将这些文件提供给您的用户,而不是您的应用程序必须执行此操作。这将大大减少前端的负载。您甚至可以将其与CDN结合使用,以便在多个边缘服务器上提供您的图片,以便从最靠近您用户的位置投放内容。
由于你正在使用图像,我假设你将使用这些图像,比如创建缩略图,应用过滤器......这些任务可能会使用大量资源而你不想放置所有这些加载到您的前端(Web角色/网站)。这就是为什么通常使用队列将此工作卸载到后端(工作者角色)。以下是使用Training Role和队列创建缩略图的培训套件的完整示例:http://msdn.microsoft.com/en-us/vs2010trainingcourse_introtowindowsazurelabvs2010_topic3.aspx
至于Silverlight部分,就个人而言,我不会使用Silverlight,因为你只会限制自己使用桌面。使用ASP.NET MVC + jQuery /(任何其他JS框架)将允许移动/平板电脑用户也可以使用您的网站,即使没有可用的本机应用程序。
答案 1 :(得分:0)
您可以在Azure中托管Web应用程序。 将照片存储在Azure私有blob中。我不确定Silverlight部分我认为某些移动平台不支持。