软件开发中典型的分工合作就是设计师(Designer)和程序员(Programmer)之间的的协作,wpf之前的协作的模式如下:
1.需求分析结束之后,程序员对照需求设计一个用户截面(UI)的草图,然后将精力放在软件的功能上。
2.设计师对照需求、考虑用户使用体验(UX)、使用专门的设计工具设计出优美而实用的UI。
3.程序员按照设计师绘制的效果图,使用编程语言实现软件的UI。
传统的软件开发协作过程所面临的问题:
1.设计师的设计跟不上程序逻辑的变化。
2.程序员未能完全实现设计师提供的效果图。
3.效果图和功能程序不能完全匹配。
4.从效果图到软件UI的转化耗费很多时间。
只要存在分工,合作的成本就不可能为零。问题的核心在于设计师和程序员的合作是串行的,即先由设计师完成效果图、再由程序员通过编程实现。设计师与程序员并行工作并直接参与到程序开发中,上述问题就解决了。设计师实现UI,程序员实现它的背后的逻辑。XAML就是WPF技术中专门用来设计UI的语言。xaml的优点如下:
1.xaml可以设计出专业的UI和动画--好用
2.xaml不需要专业的编程知识,简单易懂、结构清晰--易学
3.xaml使设计师能直接参与软件开发,随时沟通、无需二次转化--高效
程序员一直追求将视图和逻辑代码分离,在以往的开发模式中,程序员很难保证用来实现UI的代码完全不与逻辑代码纠缠在一起。UI代码和逻辑代码纠缠在一起称为UI和逻辑的紧密耦合,为往往会带来以下后果:
1.无论是软件的功能还是UI设计有所变化或者bug,都将导致大量代码的修改。
2.会让逻辑代码更加难以理解--修改往往比重写更困难
3.重用逻辑代码编程了Mission Impossible
xaml帮助开发团队真正实现了UI和逻辑代码的剥离。