我是一名熟悉Delphi和Borland工具的程序员.我目前正在学习C#和.NET.
我计划完全重写我的商业化应用程序.
随着Microsoft工具提供的所有技术,我完全迷失了.
哪条路?的WinForms?WPF?WCF?Asp.NET?使用Microsoft Ajax?JQuery的?NHibernate的?强类型数据集?小号#ARP?城堡?犀牛?
我知道所有这些技术并不是相互排斥和兼容的,但我想知道哪种组合,据你说,是.NET世界中最好的.
简而言之,我的应用程序是一个数据库应用程序.我需要报告并能够将自定义字符串发送到标签/票据打印机.在应用程序的一个特定部分,我需要一些图形操作.就像绘制图像一样,能够对此图像进行鼠标操作,例如捕获鼠标上/下/移动.什么都没有真正进步,但它是必要的.我还需要在网上提供我的应用程序的一些功能...
如果您有任何建议,技巧,提示,成功故事......我真的想在.NET上弄脏手,但我每天都有1G的头脑阅读所有可用的东西.
谢谢.
从目前实现细节方面提供的内容来看,您似乎希望专注于桌面(而不是Web)应用程序; 如果您的客户不反对安装最新的.NET框架,那么您应该专注于使用.NET 3.5 SP1工具(甚至是4.0框架,如果您的预期发货日期大约是6个月或更长时间).
你提到的决定性因素是外围支持; 即能够打印到打印机.Web技术非常适合在一定程度上替换应用程序,但外围支持不是他们的强项.如果您可以生成打印文档并且基本上只是"打印页面"到打印机,它们可能会起作用,但如果您需要与打印机进行任何低级别通信,那么富客户端应用程序仍然是主力.
也就是说,富客户端应用程序可以模糊线条.ClickOnce部署可以处理应用程序的分发更新,WebServices可以允许您集中某些逻辑).
至于具体技术; 这取决于您的客户将安装什么以及您的需求是什么.WinForms将在一段时间内得到支持,但WPF似乎是前进的道路; 它看到越来越多的采用,微软在VS2010和其他新产品中证明它是一项严肃的技术(而不仅仅是眼睛糖果).WCF本质上是.NET的一次革命,而微软将其作为Web服务的新方式或作为现有消息传递技术的替代品(更多的是真正的包装器)来推销它,事实上它带来了一系列的功能和生产力提升者.
至于数据层的东西:ORM是庞大而强大的,但也需要知识才能正常工作.如果.NET 4.0可能是您的目标,那么您可以查看微软的官方ORM EF4(目前的版本还不是很完美).NHibernate也是一个成熟稳定的选择,并提供了大量资源.Typed-DataSets虽然越来越过时了,而且越来越常被人们所关注.