我想使用 ASP.NET MVC 4 来构建一个同时针对桌面和移动用户的网站(将平板电脑放在一边进行讨论)
我似乎有很多选择,我想获得一些反馈。
第一个选项涉及为桌面用户和移动用户使用相同的网站。每个页面请求都将转到相应的控制器,并根据外形尺寸(甚至可能取决于设备类型,例如 Windows Phone、IPhone 等)呈现视图。响应式设计将用于确保 UI 适合预期的用户体验(纵向、横向)。此选项具有以下好处(如我所见):
- 没有重复的控制器逻辑
- 单一站点维护
- 没有将用户重定向到其他站点
- 没有重复的页面通知搜索爬虫
第二种选择涉及为移动设备创建一个单独的站点,该站点仅提供移动设备的视图和控制器操作方法。这也将有能力提供设备特定的视图(使用显示模式)和方向的响应式设计。此选项具有以下好处:
- 根据可用页面完全控制移动体验(我知道我可以有条件地呈现操作链接,但使用此选项,如果设备上不允许使用该功能,则站点中不存在页面!
- 单独的移动发布周期。
- 但最大的缺点是控制器逻辑几乎肯定会在桌面站点和移动站点之间重复,这感觉在未来真的会受到伤害。
感觉就像纯粹的 MVC 应该有控制器,它应该获取数据,然后提供一个视图,允许数据显示在最合适的页面上。这感觉就像选项 1。
我想归根结底是我们应该有一个特定于设备的站点(http://m.)还是我们设计一个可以从一系列设备查看的站点?
想法?