【发布时间】:2010-09-27 13:53:09
【问题描述】:
对于 .net 开发人员,进入移动开发的学习曲线是什么?
有多少不同的操作系统运行 .net?
windows mobile 和 windows ce 一样吗?
【问题讨论】:
-
Xamarin 对你有好处。我很惊讶它还没有被提及,但这毕竟是一个非常古老的问题。
标签: .net windows-mobile compact-framework
对于 .net 开发人员,进入移动开发的学习曲线是什么?
有多少不同的操作系统运行 .net?
windows mobile 和 windows ce 一样吗?
【问题讨论】:
标签: .net windows-mobile compact-framework
学习曲线
我不想说“这取决于”,但确实如此,而且取决于几个因素。您的“.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 可以选择在操作系统中包含或排除几乎任何功能。这意味着没有一个“Windows CE”。想想 Windows Mobile 和 Windows CE 客户。他们采用 CE 并选择可用功能的特定子集。然后他们添加他们自己的部分(如 WinMo shell、几个 API 等)。这意味着普通 CE 设备可以(并且通常会)拥有 Windows Mobile 设备所没有的东西。这也意味着所有 Windows Mobile 设备都包含普通 CE 设备无法提供的部分。为了让它更有趣,WinMo OEM 甚至可以添加他们自己的东西,所以一台 WinMo 设备可能有其他设备没有的东西。
这甚至没有涉及 WinMo 平台本身(专业版、标准版、智能手机版、手机版等)之间的差异。
其他相关 SO 问题
你可能想看看这些:
【讨论】:
我认为曲线可能在一定程度上取决于您来自哪种 .Net 世界以及您想要进入哪种移动开发领域。例如,如果您是一名 Web 开发人员,并且想要在紧凑的 .Net 框架中使用 Mobile 控件构建一个站点,这可能不像 Web 开发人员尝试编写一个独立的应用程序那样困难,该应用程序的方式发生了变化。事情应该流动。还有一个问题,你想把什么叫做移动开发,因为 iPhone、Blackberries、Treo 智能手机和其他一些环境可能在某种程度上具有不同的功能。
你指的是哪个.Net:版本号不同,还有原始和精简的区别。
我认为还有另一个答案很好地解决了您的最后一个问题。
【讨论】:
一个大问题是如何设计用户界面。 WinCE 似乎仍然假设桌面 3 手用户操作(左、右和鼠标),以及使(要求)用户能够以非模态方式启动一切的事件驱动架构。这在手机上通常效果不佳。忘记下拉菜单。多面板窗口不是很有用。等等等等。你的许多基本设计假设和模式需要重新学习。
【讨论】:
我认为 .NET 开发背景肯定会有所帮助。两个平台之间存在一些差异,最大的差异在于 Compact Framework 仅提供了 .NET Framework 的一个子集。当您熟悉的某些功能未在 CF 上实现时,从桌面环境转换时,这可能会很困难。
为 Windows Mobile 设备开发时需要注意的其他一些事项:
【讨论】:
无法对已有的内容添加太多内容,但我会说,如果您只使用完整框架,您会在很多地方感到惊讶。
【讨论】:
除了来自 ctacka 的 cmets 关于各种 OC 版本引起的混乱之外,我还要提到我最初对框架、SDK,尤其是 SQL Server 引擎和客户端的大量 CAB 选项的困难。选项似乎一直在变化,我仍在努力解决所有问题。我在移动开发学习曲线中最陡峭的部分是让开发和运行时环境以及安装流程正常工作。
【讨论】: