在我的公司,我们正在为我们的产品创建一个新的软件架构。我们当前的架构已经用于许多产品迭代,并且使用寿命很长,现在是它退休的时候了。 UI体系结构目前在WTL / ATL 3.0和COM中实现。
我们刚刚完成了后端架构的设计,这个架构将像其前身一样经得起时间的考验。然而,UI技术发展得如此之快,以至于我们团队中的任何人都没有我认为需要的专业知识才能建立一个应该持续多年的基础。我们目前针对此架构瞄准WPF,并考虑各种替代策略,以帮助我们缺乏此技术的专业知识。 我们正在考虑的一些方法:
让我们经验丰富的员工加入WPF并完成体系结构 - 对这种方法的关注是,在使用这种架构实现了许多产品之后,我们需要我们的UI层才能使用的区域以及所需的所有学习内容都不会获得。
从咨询公司获得临时专业知识,以协助建筑和开发 - 这种方法看起来很有希望;有专业知识的公司的建议? Microsoft不提供应用程序和体系结构顾问,因此找到具有必要专业知识的人可能会遇到挑战。
带一家咨询公司参加建筑学研究和指导课程 - 看起来很有吸引力,因为它可以提供我们的经验人员指导,同时仍然允许我们的领域知识指导建筑的方向。可能很难找到有资格从事此类服务的公司。
我的问题是,您是如何解决类似情况的,您必须利用您的团队目前没有架构师级知识的新技术创建强大,丰富,长期的架构?您是否已经使用了之前提到的任何策略取得了成功,还是有其他方法我完全错过了?
总的来说,我不是一个以你不熟悉的技术工作的倡导者。考虑到这一点,我们认为WPF可能提供的用户体验将为我们提供多年来我们想要使用的功能。无论如何,你必须从某个地方开始。 ; - )
答案 0 :(得分:6)
您最终必须学习所选的GUI。
作为参与此类项目的外部顾问之一,我建议对选项#2进行修改。
聘请一位或两位外部顾问。
让他们引导您完成类似您的选项2.您实际学习WPF然后(在他们的帮助下)开发架构并实施它。
您的后续问题(“有专业公司的建议”)令人不安。如果您没有值得信赖的技术合作伙伴,现在是时候开始培养它们了。找到你可以信任的人需要一段时间。
找到他们的唯一方法是付钱给他们做一些工作,看看你是否喜欢他们和工作。这个过程可能需要很长时间。
自己做#1的问题是显而易见的。如果你试图在没有专家的截止日期前这样做,你就会犯错误。你会把这些错误变成具体的。你会试着永远和他们住在一起。在学习新东西时,日历是最容易想到的东西。
选项#1在没有时间压力时起作用。 你在学习的同时建造一次性的东西。然后建立一些你知道你将不得不扔掉的东西。然后建立真实的东西。
做#3的问题是你可能会要求顾问做太多。如果他们计划您的架构,您可能不会完全理解它。你会偷工减料,可能会发生坏事。如果 - 另一方面 - 你自己做,你会理解为什么不应该削减这些角落。
此外,#3是一个在您认为可能很酷的每个功能中打桩的机会。在你理解这项技术之前,你并不真正了解什么是必不可少的,什么是简单的,什么是困难的。你很可能会要求一些昂贵且有风险的东西,因为很难理解它究竟有多昂贵和有风险。
答案 1 :(得分:4)
首先,WPF可能是一个不错的选择。微软正在接受这一点,而且似乎是长期发展的方向。我最近做了一个非常类似的决定,并决定选择WPF。在经历了新技术带来的最初痛苦之后,这是一个非常好的决定。
话虽如此,我强烈推荐2& 2的混合物。 3。
如果您能找到一位好的顾问来帮助您完成设计,您应该能够帮助您完成设计和架构阶段,项目的一些初步构建,以及它们可能还可以帮助您的开发人员获得加快速度。在内部(或至少随叫随到)获得帮助将非常有助于完成尝试使用WPF进行开发的初始阶段。
它还有助于吸引具有使用WPF经验的开发人员和/或设计人员。