用于组合传统和移动ASP.NET Web开发的资源

时间:2011-04-04 15:39:06

标签: asp.net mobile-website code-reuse

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

似乎许多商店都会遇到这种情况:我们的资源有限,并且不希望通过使应用程序的版本大大分歧而造成维护问题。

是否有一组最佳实践可用于获取现有System.Web应用程序并重新组织代码以适应添加移动设备友好性。我想到的一般方法是:

  1. 进行小的风格修改 客户端使用CSS甚至是JavaScript。
  2. 对数据进行必要的更改, 工作流程或服务器端的标记 代码。
  3. 保留尽可能多的代码 通过组织两个版本 非UI逻辑分离 组件。条件编译 将用在代码隐藏的地方 用户界面必须分歧。
  4. 这种方法会遇到什么问题?

3 个答案:

答案 0 :(得分:2)

短而甜蜜:

  • 阅读W3C Mobile Web Application Best Practices
  • 尽可能分离您的业务/应用程序逻辑和表示逻辑
  • 对移动设备进行服务器端检测;为移动设备提供极其简化的用户界面
  • 使用CSS媒体查询和功能检测等客户端技术(例如使用Modernizr完成的)进行渐进式增强

长版:

最重要的是要记住,与它们看起来类似,移动网络和桌面网络是不同的。这个比喻我使用了街道和人行道之间的区别。它们两者的制作目的基本相同 - 将人们从一个地方带到另一个地方。但是,它们是分开设计的,旨在供不同的运输方式使用。你可以在人行道上开车,你可以在街道中间行走,但两种体验都不是最佳选择。

长话短说,对于一个好的移动网站,您必须为移动设备设计专门。这并不意味着你不能重用逻辑 - 你绝对应该。我只是说使用JavaScript / CSS来隐藏一些元素并不能将常规网站变成移动网站。

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

<强>资源

服务器端设备检测:

客户端功能支持检测/渐进增强:

随机资源

答案 1 :(得分:1)

首先,这些天移动并不一定意味着做System.Web.Mobile的事情,而是支持移动用例和移动设备的限制。或者,您想要删除您的应用程序以与移动用户相关,并且您希望执行诸如限制所需带宽,浏览器插件,大量脚本和所需屏幕大小等操作。但实际上你并不需要回到WAP这样糟糕的旧时代。

答案 2 :(得分: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