对于一位 .NET 开发者来说,进入移动开发需要多长时间的学习曲线?
.NET 支持运行在多少个不同操作系统上?
Windows Mobile 和 Windows CE 是同一个东西吗?
对于一位 .NET 开发者来说,进入移动开发需要多长时间的学习曲线?
.NET 支持运行在多少个不同操作系统上?
Windows Mobile 和 Windows CE 是同一个东西吗?
学习曲线
我不想说“这取决于”,但实际上确实如此,取决于几个因素。您的“.NET开发”经验是什么?请记住,CF支持C#和VB.NET,因此,如果您是COBOL.NET人员,则比如果您是C#人员则更困难。如果您主要在桌面上进行ASP.NET,则比如果您使用WinForms则更困难。如果您对偶尔连接的情况一无所知,并且对嵌入式系统一无所知,则会比如果您了解这些情况则更困难。
从桌面移动到移动设备相当简单,但Compact Framework包含完整框架的子集,但它不是纯子集。它还包含一些在桌面上根本不存在的东西。因此,有一些东西需要学习。
然而,比这更重要的是,您通常需要不同的思维方式。您没有交换文件。您的内存和存储空间有限。您有睡眠/唤醒功能。您具有较小的分辨率和动态分辨率和宽高比变化。桌面开发人员很少考虑这些问题。
操作系统
这更为简单。只有Windows CE平台(有关更多澄清,请参见下一个答案)支持Compact Framework。还有微型框架,但我会称其为更“嵌入式”而不是“移动”,因此您可能没有考虑它(如果我错了,请纠正我)。
CE与WinMo
这是很多初学者的主要疑惑点。与XP(为了讨论方便,排除XPe)或Vista不同,Windows CE是一个模块化操作系统。这意味着设备OEM可以选择包含或排除OS中的几乎所有功能。这意味着没有一个“Windows CE”。将Windows Mobile和Windows CE客户端考虑一下。他们采用CE并选择特定的可用功能子集。然后,他们添加自己的组件(如WinMo shell、几个API等)。这意味着香草CE设备可以(而且经常会)有一些Windows Mobile设备没有的东西。这也意味着所有Windows Mobile设备都包含着一些香草CE设备上没有的部分。更有趣的是,WinMo OEM可以添加他们自己的东西,因此一个WinMo设备可能会有另一个WinMo设备没有的东西。对于已经存在的内容,我无法添加太多,但我会说如果你只使用过完整框架,你会在很多地方感到惊讶。
我认为曲线可能会有点取决于你来自哪种.Net世界,以及你想进入哪种移动开发。例如,如果您是Web开发人员,并希望使用紧凑的.Net框架中的移动控件构建网站,则这可能不像尝试编写独立应用程序的Web开发人员那样困难,因为流程发生了变化。还有一个问题,您想称移动开发为什么,因为iPhone,BlackBerry,Treo智能手机和其他一些环境可能在某种程度上拥有不同的功能。
您指的是哪个.Net:有不同的版本号以及原始版本和紧凑版本之间的区别。
我认为还有另一个回答很好地回答了您的最后一个问题。
我认为具备.NET开发背景肯定会有所帮助。这两个平台之间存在一些差异,最大的区别在于Compact Framework只提供了.NET Framework的子集。当从桌面环境转换时,你熟悉的某些功能在CF上没有实现,这可能会带来困难。
在为Windows Mobile设备开发时,还需要注意以下几点: