我是.Net,C#和WPF程序员。 Expression Blend值得吗?

时间:2011-09-22 15:58:31

标签: c# .net wpf expression-blend

我的意思是,作为一名普通的开发人员,我将使用Expression Blend实现一些我不会使用VS的东西吗?我不知道Expression Blend,乍一看看起来不是很友好/容易学习。

你在那里做什么?值得花时间学习使用它,或者我会像对待VS一样吗?

谢谢!

编辑:我知道微软对这些工具的评价。我想知道的是,作为像我这样的开发人员,你是否尝试过Expression Blend并发现这是浪费时间,或者你认为它是一个很好的工具,你停止从VS开发WPF GUI并切换到EB。 / p>

8 个答案:

答案 0 :(得分:63)

我拥有它并且很少使用它。

我非常不喜欢添加到XAML文件中的所有额外标记,并且更喜欢知道我正在做什么来拖放项目。

我使用它的次数是拉出控件的默认样式或模板,或者构建类似渐变,动画或路径的东西,然后将XAML复制/粘贴到我的项目中。

如果您正在使用拖放编码,或者如果您正在为足够大的团队工作以拥有一个单独的UI和编码团队,那就太好了,但除此之外我不会将其用于单独开发我必须保持它产生的XAML混乱。

答案 1 :(得分:36)

我在VS中停止开发GUI并切换到Blend。起初它非常令人困惑,但我现在很高兴我花时间学习Blend。您可以在Blend中完成的大多数事情都可以在Visual Studio中完成,但Blend使它们变得更容易(一旦您学会了如何操作)。当我向他们展示如何在Blend中做一些事情时,我总是惊讶于我的同事们,因为简单的拖放可以取代相当多的打字。我真正喜欢Blend的是设计表面是准确的,而Visual Studio中的Cider WPF设计师经常对你说谎或误导你(并且通常只是一块垃圾)。

Blend可以执行以下Visual Studio无法执行的操作:

  1. 创建和管理视觉状态。 (我想你可以在VS中手动完成这一切,但这对任何事情来说都是疯狂的,甚至是中等复杂的。)
  2. 提取和修改控件模板。
  3. 轻松处理行为(我无法想象在VS中手动执行FluidMoveBehavior)。
  4. 生成样本数据以供设计时使用(减少软件组件的耦合)。
  5. WYSIWYG动画编辑器。 (在VS中,您必须运行应用程序才能看到动画; Blend会为您提供实时预览。)
  6. 内置过渡效果和缓和功能。
  7. SketchFlow(非常适合制作高保真模型,可以向客户/利益相关者展示)。
  8. WYSIWYG路径编辑器(非常适合做简单的矢量图稿)。
  9. WYSIWYG渐变编辑器。
  10. 从Photoshop和Illustrator导入图稿。
  11. 这些可以真正将您的用户体验与其他所有自由职业者区分开来的事物。据记载,我是一名没有设计经验的开发人员。

答案 2 :(得分:16)

  1. 编辑默认样式要容易得多,因为您有选项Edit a copy,它将默认样式提取到新样式中,您可以更改它
  2. 我发现编辑其他样式(如生成的内容)非常有用,因为您可以轻松查看其他样式控件的内容。
  3. 如果你正在制作动画,它会产生影响,因为你可以在设计时看到它的表现如何
  4. 如果您的团队中有专门的设计师,那么它对他们来说更友好,因为它类似于photoshop / flash编辑软件
  5. 从我的观点来看,如果你在一个团队中工作,那么它只有很少的表达混合

答案 3 :(得分:14)

我总是在Visual Studio旁边打开Expression Blend,并在处理Silverlight,WPF或Windows Phone项目时在两者之间来回切换。这些是我的主要信息:

我在我的应用程序中使用了很多动画和视觉状态。要创建这些,您希望看到发生了什么。在视觉工作室你不能(还)。手动编写真实动画或视觉状态几乎是不可能的。

管理资源也是我使用Expression Blend的东西。 Blend中创建新词典和移动资源非常容易。它甚至会在您尝试删除您在某个地方使用的资源时通知您。查找和编辑资源非常简单。只需单击一个按钮,属性就会转换为资源,并可以在其他位置使用。

我经常使用的另一件事是Sample Data。我想看到我的表单和列表在创建时填充了数据。根据应用程序的状态,我手动创建样本数据,使用数据库中的xml导出或从代码生成样本数据。

使用样本数据时,数据绑定变得更加容易。只需在文本框中拖放属性即可获得绑定。通过数据绑定编辑器,您可以按照自己的方式微调绑定。

答案 4 :(得分:2)

当Visual Studio更面向开发人员时,Expression Blend面向设计人员。它有许多预先设定的工具,可以生成大量代码并且易于使用(特别是动画,设计问题等)。因此,您可以在Visual Studio中完成可以在Expression Blend中完成的所有操作。我不确定反过来。

以下是官方网站上的内容:

  

Expression Blend,Visual Studio,Silverlight和.NET提供当今市场上最引人注目的无缝设计和开发工作流程。快速迭代用户体验和核心架构,从最初的原型到完成的项目快速发展您的想法。

     

Expression Blend的关键组件,包括行为,视觉状态管理器,过渡效果和SketchFlow(Expression Blend 4仅包括Expression Studio 4 Ultimate产品中的SketchFlow),再加上这个现代工作流程的速度和灵活性挑战你推动边界和工作超出了你认为可能的极限。

所以,这取决于你的位置:如果你主要使用应用程序的UI层,你可能会在Expression Blend中找到许多有用的东西,否则如果你主要使用backgound - Visual Studio就是你的选择。< / p>

<强>更新

另请查看以下内容:WPF Applications: Visual Studio vs. Expression Blend

答案 5 :(得分:2)

作为一名专业开发人员,Expression Blend具有无可估量的价值,并且做了许多VS没有的事情,

就在我的头顶,          样本数据,          故事板,          远远优于datatemplate支持          方式更好的资源字典支持          更好的自定义控制工具          更好的XAML控制

如果您只是编辑非常基本的UI,那么Blend将不会与VS一起使用。 Blend用于设计和动画,用于前端。

答案 6 :(得分:2)

我认为有一个简单的方法可以回答你的问题......你要做的就是问问自己,你在Blend做的任何事情的最终结果是什么?

答案是XAML。因此,如果此工具为您生成XAML,为什么不首先直接使用XAML? XAML是人类可读的,它易于理解和掌握,在VS Intellisense和Resharper代码完成之间,实际上并不需要进行大量的输入。

您投入掌握Blend的时间在掌握XAML方面要好得多,因为Blend只是一种用于以可视方式生成XAML的工具,因此直接使用XAML意味着更好地理解底层技术并完全控制您的代码而不是依靠一些黑盒子工具来生成你并不真正理解的东西。

如果你把所有的时间投入到掌握Blend并且最终在其他公司工作6个月后他们决定不使用Blend怎么办?如果您不了解XAML,您现在必须投入更多时间来学习它,如果您确实了解XAML,那么您可以在任何环境中工作,因为我真的怀疑任何公司都会强迫需要工作的编码人员使用UI也可以使用Blend,不允许它们直接使用XAML。

有一些场景Blend可以节省你很多时间(人们提到了视觉状态和动画)所以在这种情况下使用Blend当然很好但是如果你正在开发典型的LOB应用程序那里几乎没有什么会让你感觉真的,真的需要Blend ......

答案 7 :(得分:-1)

具有多种用途的混合工具。

我认为它主要是在

1.在silverlight中构建动画(故事板)

2.创建WPF / SL / WP XAML布局

如果你想创建一些动画silverlight /一些数据绑定的sliverlight应用程序,我的答案是肯定的,我尝试在7天内使用Adobe Edge并在很久以前使用flash 4,MX2004,flash 5中的闪存。 / p>

为了创造一个奇特的动画,Expression Blend仍然击败了Adobe Edge,与Adobe Flash相媲美。

你可以编写熟悉的编程语言来控制所有内容,就像flash动作脚本一样。

在我的可选项中,Action Script在大型项目中非常混乱,很难调试/维护。