gpt4 book ai didi

c# - Windows Mobile 是新开发者的 hell ? (如果我没记错的话)

转载 作者:太空宇宙 更新时间:2023-11-03 17:07:48 25 4
gpt4 key购买 nike

我是新来的,也是 Windows 移动开发的新手。但是我已经看到并体验到,对于没有培训师或经验丰富的人的新开发人员来说,Windows Mobile 开发就像 hell 一样。在复杂的主题中,除非你很幸运,否则你将无处可寻。

所以我的问题是我应该如何在没有任何培训师的情况下获得 Windows Mobile 的专业知识。只会C#,在windows mobile开发有一个半月的粗略经验

最佳答案

是的......老实说,这是相当大的一步。它也是邪恶的,因为乍一看它看起来很简单,但它转过身来咬你。

我是从 2003 年开始这段旅程的经历说起的。哦,我也没有教练,所以我只是从痛苦的经历中学习。

了解您的局限性

我记得第一个 CF 应用程序。我真是个白痴。。。。我那时候也不太擅长开发。我犯的第一个错误是高估了 CF 1.0。我无法想象 CF 没有读写数据网格,所以我推测了一下……然后发现哦,是的,没有。所以我不得不自己写一个(记住我当时也是垃圾)。我将其中一个侵入了现有的数据网格(尽管我应该从头开始)。我记得我必须删除一行然后选择“现在当前选定的行”的“删除”功能是 hell 般的,因为它会根据集合中的项目数量和滚动条的位置而上升或下降。

很多时候,当我告诉他们我在做什么时,我的桌面开发伙伴会把我归类为疯子。

“你在做手动 Xml 解析?你疯了吗?”
“Ewwww 代码生成器?”
“你……重复使用你的 Windows 窗体?”

是的,在 CF 上工作会让你在外人看来很疯狂。

性能

这可能会走极端,但一点一滴都会有所帮助。如果你构建一个大型灵活的应用程序,那么请仔细考虑 perf。考虑用 codegen 替换 Reflection。考虑使用 XmlReader 而不是 XmlDocument。当然,这个建议在大多数情况下对于台式机来说可能是疯狂的,但对于 CF 来说这是明智的。

了解您的 PInvoke

在桌面领域,您可以生活在纯托管中。在 CF 上不可能发生这种情况。一些最简单的事情(播放声音、设置时间、改变音量、联网等)仍然只存在于移动设备的不受管理的世界中。 OpenNETCF在公开其中一些方面做得非常出色,但您总是会偶然发现一两个需要自己编写的地方。

有真有假但也有FILE-NOT-FOUND

PowerManagement,我多么爱你。在通常的 C# 应用程序代码中,逻辑的方式(如带有 IF 的 fork ),可能会抛出异常,并且可能会有许多线程执行代码的路径。这已经很复杂了。再加上权力随时可能消失的想法。没错,您用来调用 Dispose 的 using 语句可能永远不会调用 dispose,因为设备已关闭然后没电了。

设备特定的乐趣

桌面/移动世界的另一个重大差异是硬件和制造商。在 PC 上,您通常可以假设硬件没有问题,固件更新应该可以完成工作。在 CF 中,固件更新很可能会终止您的代码。如果你以某种方式将它砸在脑袋上,一些硬件可能有点,有点工作。基本上,您的设备集成可能(最坏的情况)是一个巨大的时间黑洞。请记住将此纳入您的估算。

关于c# - Windows Mobile 是新开发者的 hell ? (如果我没记错的话),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1781643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com