。NET 与 .NET CF 开发





0/5 (0投票)
乍一看,移动应用程序开发可以等同于桌面开发。但事实并非如此。
如今,桌面和移动 .NET 应用程序的开发基本相同。Microsoft Visual Studio 和 .NET 都可以用于开发这两个平台。尽管 .NET Compact Framework 是大型 .NET Framework 的一个子集,但它允许以与桌面应用程序相同的方式开发移动应用程序。此外,开发人员还可以使用熟悉的编程语言,如 C# 或 Visual Basic。
乍一看,移动应用程序开发可以等同于桌面开发。但事实并非如此。
移动设备的特性
大多数开发人员在设计第一个移动应用程序时都采用桌面开发模式。此外,还有很多开发人员使用相同的源代码。他们通常试图将其改编到 .NET Compact Framework。这种方法是错误的,并且由于移动设备与桌面设备相比存在特殊性,会导致严重问题。
我将从开发者的角度介绍 4 个最重要的特性。
- 小屏幕。目前最常见的是 2-3 英寸的触摸屏,分辨率为 240x320。与桌面显示器相比,差别巨大。这是每位移动应用程序开发人员都应考虑的事实。想象一下,您要开始开发一个包含客户列表的表单。在每个客户旁边,都必须显示他们的公司名称、地址和电话号码。在桌面环境中,这非常容易。使用简单的数据网格 (DataGrid) 至关重要,因为所有详细信息都可以轻松显示并在一行中可见。
移动设备的情况则完全不同。如果使用数据网格,屏幕只能显示公司名称和部分地址。
为了查看电话号码,必须使用水平滚动条。用户现在必须向右滚动,直到找到电话号码列。他们还会遇到另一个问题:不清楚哪个电话号码对应哪个公司。
显而易见,这样的表单设计完全不可用。因此,开发人员必须采用截然不同的表单设计。
总的来说,对于这种类型的表单,使用数据网格是绝对不合适的。理想的组件应该允许在行内更灵活地放置详细信息。在这种情况下,我们使用 Resco AdvancedList 组件。它是 Resco MobileForms Toolkit 组件套件的一部分。
上面的截图显示,行宽度比网格中的要宽得多。此外,地址位于客户名称正下方,并以不太醒目的颜色显示。因此,它不会造成干扰。用户点击行后,该行将展开,并可以显示更多信息,如电话号码、电子邮件地址等。此外,点击电话号码会触发拨打客户电话的操作。
- 内存小。当前移动设备的内存仍然小于桌面设备。另一个要考虑的因素是缺少硬盘。想象一下,有超过 10,000 名客户需要加载到列表中。如果您使用 DataSet 类,所有详细信息都会从数据源复制到 RAM 内存,甚至可能导致系统崩溃。牢记我们的应用程序已经在内存中运行,并且可能还有其他进程同时运行,这一点非常有价值。
- 处理器慢。在桌面上加载 10,000 条记录只需片刻,但在移动设备上可能需要大约 30 秒。从用户的角度来看,这是绝对不可接受的。基于这个前提,每个表单都需要以一种方式进行设计;无论它从数据源加载多少数据,都应立即显示。Resco AdvancedList 具有一个名为“延迟加载 (Delayed Load)”的智能功能。它只加载可见的记录,而其他记录则在需要时加载,例如当用户向下滚动列表时。开发人员要利用这种功能,只需在 Visual Studio 中设置一个属性即可。其余的工作由 AdvancedList 完成。
- 最后但同样重要的是,开发人员应始终关注移动设备的使用场景。重点在于移动性——人们在移动中、经常同时进行其他活动时使用他们的设备。因此,一个好的移动应用程序应该设计成易于用手指操作。另一只手可以用于其他活动,例如在扫描条形码时拿着产品,或者只是简单地提着公文包或几张纸。请注意,这是 iPhone 如此成功的原因之一。
因此,我们的表单也应可以通过手指操作。在使用 AdvancedList 组件时,开发人员要利用此功能,只需在 Visual Studio 设计器中设置一个名为“触摸滚动 (TouchScrolling)”的属性即可。它确保列表可以通过手指滑动来滚动,而不是移动滚动条。
整合起来
尽管移动应用程序开发在与桌面开发相同的环境进行,但必须牢记移动设备与桌面设备不同,并且具有许多特性。否则,移动应用程序可能会不吸引人、运行缓慢且难以操作,从而难以销售。
关于Resco MobileForms Toolkit
Resco MobileForms Toolkit 是 Microsoft Visual Studio 中一套非常丰富且全面的控件和库,专为移动设备软件解决方案的开发人员设计。其产品组合中有许多控件和库可以解决开发人员在移动环境中遇到的大多数问题。灵活的键盘、专业的列表控件、强大的网格控件、图表控件和日程安排控件——这只是提及最常用的几项。
有关 Resco MobileForms Toolkit 的更多信息,请访问 http://www.resco.net/developer/mobileformstoolkit/default.aspx。