2011-04-04 63 views
1

作为获取移动友好版本请求的传统ASP.NET Web应用程序(非MVC)的开发人员,我想知道在哪里可以找到一些关于解决问题的最佳方式的智慧。我们目前通过Web服务调用屏蔽了大部分数据库访问。用于结合传统和移动ASP.NET Web开发的资源

看起来很多商店会发现自己处于这种情况:我们资源有限,不希望通过让应用程序的版本差异很大而造成维护头痛。

是否有一组最佳实践来采用现有System.Web应用程序并重新组织代码,以适应添加移动友好性。我正在考虑的一般方法是:

  1. 使用CSS甚至JavaScript在 客户端上进行小的文体更改。
  2. 对数据进行必要的更改, 工作流程或服务器端 代码中的标记。
  3. 通过组织 非UI逻辑到单独 组件保持尽可能多的代码尽可能共同 到两个版本。条件编译 将用于代码隐藏,其中 UI必须发散。

我会用这种方法遇到什么问题?

回答

2

简短而亲切:

  • 阅读W3C Mobile Web Application Best Practices
  • 独立的业务/应用逻辑和表示逻辑尽可能
  • 做服务器侧面检测移动设备;服务的非常简化用户界面,移动设备
  • 使用客户端技术,如CSS媒体查询和特征检测(如用Modernizr做)做渐进增强

长版本:

要记住的最重要的事情是,它们看起来很相似,移动网络和桌面网络也不同。这个比喻我使用街道和人行道之间的区别。他们两人的目的都是一样的 - 让人们从一个地方到另一个地方。但是,它们分开设计,旨在用于不同的运输方式。您可以在人行道上开车,并且可以在街道中间行走,但这两种体验都不是最佳选择。长话短说,对于一个好的移动网站,您必须为移动设备设计,特别是。这并不意味着你不能重用逻辑 - 你绝对应该这样做。我只是说使用JavaScript/CSS来隐藏一些元素并不会将常规网站变成移动网站。

为了值得,我最近与我的一位同事就移动网站开发策略进行了演示。它主要针对高等教育(大学校园)和我的校园(UCSB)中的移动网络,但许多策略和技术都是广泛适用的。有兴趣的人士可以找到介绍和相关的资源在这里:https://it.ucsb.edu/groups/wsg/mobile-web-brown-bag

资源

服务器端设备检测:

客户端功能支持检测/逐步增强:

随机资源

+0

优秀的资源。非常感谢。 – Buggieboy 2011-04-05 15:02:09

1

首先,移动并不一定意味着做System.Web.Mobile来的事情,而是支持移动用例和移动设备的局限性。或者,您希望将应用剥离为与移动用户相关联,并且您希望执行所需的极限带宽,浏览器插件,繁重的脚本和屏幕大小等操作。但是你实际上并不需要回到WAP等恶劣的日子。

+0

好的,这是我的新闻。如您所述,http://www.asp.net/learn/whitepapers/add-mobile-pages-to-your-aspnet-web-forms-mvc-application中的文章指出:“System.Web.Mobile.dll ...仍然包含在ASP.NET 4中,但不推荐使用它,原因是...控件主要是为WAP浏览器呈现WML或cHTML标记(而不是常规的HTML)时代。”鉴于此,我正在修改我的问题。 – Buggieboy 2011-04-04 17:42:02

0

从我的阅读看,前进的方向似乎是先设计移动设备,然后使用@media CSS自定义布局,以便在更多功能的设备中引入更多设计/功能概念。

http://www.smashingmagazine.com/2010/07/19/how-to-use-css3-media-queries-to-create-a-mobile-version-of-your-website/

http://www.slideshare.net/arborwebsolutions/practical-beyond-responsive-web-design

+0

在理想的世界中这可能是真实的,但我正在谈论一个已经存在并且我不能完全重写的应用程序。 – Buggieboy 2011-04-04 21:41:02