在工作中,我主要使用.NET Compact Framework 3.5来开发在智能设备上运行的应用程序。我们的设备不是手机或手持设备 - 它们是您可以通过一系列功能获得的测量仪器。我们的应用程序非常先进 - 我们甚至使用了N层架构,一个自制的GUI框架甚至依赖注入(我们自己构建了自己的其他不够轻量级的)。
那么您使用紧凑框架所做的最先进的事情是什么?
目前缺少什么(例如模拟框架,因为紧凑框架上没有Reflection.Emit)?
您是如何开发应用程序的?您是否每次都将应用程序部署到设备上。在我们的例子中,这是非常缓慢的,因为该解决方案包含30个项目,因此我们有一个在PC上运行的Win32版本。
答案 0 :(得分:3)
我们已经完成了一个工厂底层监控系统,它充当数据服务器和Web服务器,从PLC收集数据并在CF中创建基于Web的动态报告。我们已经创建了一个点对点通知和文件共享系统。我们已经完成了车辆跟踪和调度系统。我们已经完成了智能农业应用程序,可以监控拖拉机的大量数据,并将其与位置和上一年的数据相结合,再加上其他一些数据。所以我想你可以说使用CF写了几个非常复杂的东西。
有许多“缺失”的作品,但大多数都可以解决。无法解决的最明显的缺失是缺乏EE Hosting。用于嘲弄的反射片段会很好,但我们可以不用 - 它只是让测试更像熊。托管的缺乏使得几件事情根本不可能。
至于部署,一切都与配置有关。智能设备框架本身与所有单元测试内容相结合,就像45个项目一样。部署并不坏,因为它只重新编译和部署更改,我经常调整测试应用程序的配置,以便不部署所有项目,而只调整主项目。这应该自动部署所有引用(消除你可能得到的双重部署)。将所有项目输出到一个公共目录并将“Copy Local”设置为false也可以改善一些事情。
答案 1 :(得分:1)
我们使用.net cf应用程序做的最有用的事情之一是努力确保它们可以重新定位到完整框架。这意味着您有第二个桌面项目或实际在桌面上运行整个应用程序的单元测试。如果您通过pinvokes或仅设备API使用特定于设备的功能,还有一些工作要做,但这种努力通常会得到回报,因为:
不言而喻,最终需要在设备上进行测试,但在开发和快速代码/调试周期中,不要在模拟器上等待真的很好。我记得Daniel Moth发布了一些关于如何实际创建一个设备部署目标的东西,这个目标是您的台式计算机,以实现同样的效果。也许别人可以找到链接?
答案 2 :(得分:1)
我已经完成了用于工业PDA的Win CE应用程序,用于预装库存和客户列表的路线销售。它获取GPS坐标,使用扫描仪采集数据,通过设备中销售的GPRS / EDGE传输数据。该应用程序还打印收据(链接到protable打印机ober BT)。
答案 3 :(得分:0)
我编写了一个应用程序,通过与WebService连接来监控我自制博客上的统计信息。
答案 4 :(得分:0)
我开发了一个多语言字典。在Windows,PDA上使用一个代码库,在unix和MAC上使用MONO。
基本上应用程序很复杂,因为我们使用多个大型数据库。我们能够调整数据访问性能,并且对大型表的查找几乎是即时的。
小型设备功能不是很强大,但如果按照它们的工作方式进行设计,就可以获得良好的性能。
答案 5 :(得分:0)
我制作了一个应用程序来收集任何大小的测量值(天气),使用n层应用程序,使用MVC并使用db4o作为数据库......非常有意义