Asp.net mvc 2 面向移动和桌面浏览器-ASP.NET MVC2,带有MS Web应用程序工具包和Sencha Touch

Asp.net mvc 2 面向移动和桌面浏览器-ASP.NET MVC2,带有MS Web应用程序工具包和Sencha Touch,asp.net-mvc-2,mobile-website,sencha-touch,Asp.net Mvc 2,Mobile Website,Sencha Touch,我正在构建一个web应用程序,我希望: 在移动设备(如iPhone、Windows mobile、Android手机)上呈现时,请使用这些设备的本机UI功能 在非web toolkit浏览器(即桌面浏览器)上(如IE、Firefox、Opera)进行良好渲染 到目前为止,我的研究使我开始使用以下技术: ASP.NET MVC 2 for my dev framework(为每个目标设备编写不同的视图) Sencha Touch(以前称为ExtJS)用于在每个不同移动设备的浏览器中进行渲染

我正在构建一个web应用程序,我希望:

  • 在移动设备(如iPhone、Windows mobile、Android手机)上呈现时,请使用这些设备的本机UI功能
  • 在非web toolkit浏览器(即桌面浏览器)上(如IE、Firefox、Opera)进行良好渲染
到目前为止,我的研究使我开始使用以下技术:

  • ASP.NET MVC 2 for my dev framework(为每个目标设备编写不同的视图)
  • Sencha Touch(以前称为ExtJS)用于在每个不同移动设备的浏览器中进行渲染
  • 用于区分请求设备/浏览器类型的Microsoft Web应用程序工具包
我对这三种技术都没有经验(我做过大量的C#服务器端、WinForms和ASP.NET2开发),所以我真的是根据我在web上能找到的信息来做出这个决定的

有人能想出一个原因,说明这种技术组合不起作用吗?我主要关心的是如何将Sencha Touch与MS Web App Toolkit一起嵌入到这个解决方案中。事实上,在这种情况下,两者是否都是必要的

非常感谢您的建议或反馈


Ash

根据个人经验,您不必专门使用特定的框架。我使用asp.net和简单的JavaScript来设计移动网站,没有遇到很多问题

如果您想针对范围广泛的设备,并且不想为不同的前端视图而烦恼,那么您需要确保您没有使用广泛的JavaScript,因为许多低端设备根本不支持JavaScript。例如,jQuery在webkit浏览器上运行良好,但在pocket ie上则不行

我还没有使用MS Web App Toolkit的任何经验,但它似乎需要JavaScript支持,我怀疑它是否能在许多手机上使用

若你们的主要目标是移动设备,但想让桌面浏览器访问你们的网站,你们可以改变css使字体变大,这样在PC上看起来会更好


我的手机设计座右铭是尽可能简单。

您好,谢谢您的反馈。我不确定您对MS Web App Toolkit的想法是否正确-它是一个非常简单的组件,专门设计用于处理大量不同的移动设备(我相信是67):

我对它的理解很简单,它:

  • 确定使用内置设备数据库发出请求的设备类型/浏览器

  • 提供在ASP.NET MVC 2代码中使用的组件,以便将请求路由到适当的视图,以便在调用设备上进行渲染

我打算包括Sencha Touch库,这样我就可以为每个页面编写一个视图,可以在多个不同的移动设备上呈现。因此,当Web App Toolkit确定支持Sencha Touch的设备发出请求时,调用将路由到使用Sencha Touch库的适当视图。对于来自桌面浏览器的请求,调用将被路由到另一个视图,对于来自所有其他设备的请求,我可以再次使用另一个视图,或者,正如您所说,使用放大字体插入简化的样式表

希望这是一个足够清楚的解释

我认为ASP.NET MVC是使用ASP.NET开发移动站点的最佳选择

我会考虑更好(它在MaBielWebAppTooKoTM中使用),因为最后一次发布将在8月。


我不擅长移动站点的JS,我尽量避免使用它,以最大限度地提高兼容性。但我认为Senda很大,超过200KB。也许你可以看看XUIJS或者其他特定的移动js框架。无论如何,我认为你的决定做得很好。

[Sencha person]Sencha Touch是一个应用程序框架,目前只针对Android和iOS设备,并将在今年晚些时候/明年推出基于webkit的高质量浏览器时支持RIM和诺基亚设备,正如他们承诺的那样

我们没有接触到渐进式增强/降级的理念,因此没有回退行为。如果您确实需要渐进式增强,您应该查看jQTouch,它是一个jQuery插件。但即使是jQTouch也需要在浏览器中具有健全的javascript/CSS功能,而许多现有手机根本没有这种功能。Cf,大多数普通网站不能在当前的RIM浏览器中正确呈现


因此,如果你想要100%的手机覆盖率,你必须将你的“应用程序”静音,即使是HTML功能有限的WAP手机也可以显示。但到那个阶段,它还不算什么应用程序

您是否有特定的目标设备,或者希望尽可能多的设备可以访问它?尽可能多,但肯定是主要的移动设备和所有主要的桌面浏览器。您好&谢谢您的反馈。如果Sencha是200KB的话,我认为你建议寻找Sencha的替代品是对的。很高兴听到您同意其他技术:)但这正是我询问Sencha Touch和其他技术结合的原因。移动Web应用程序工具包(使用WURFL或mdbf)检测发出请求的设备/操作系统。然后将请求路由到适当的视图,ASP.NET MVC使这变得非常简单。因此,对于Android/iOS设备上的webkit浏览器,可以使用Sencha Touch javascript/css构建的视图;对于桌面浏览器,可以使用不同的视图;对于Windows 7设备,可以再次使用不同的视图。