我是.Net,C#和WPF程序员。 Expression Blend值得吗?
我的意思是,作为一个普通的开发人员,有什么我会用Expression Blend来实现的,我不会使用VS? 我对Expression Blend一无所知,乍一看看起来不是很友好/容易学习。
你在那里做什么? 这是值得的时间学习使用它,否则我会像VS一样做相同的事情?
谢谢!
编辑:我知道微软说的工具。 我想知道的是,如果你像我这样的开发人员尝试过Expression Blend,并发现这是浪费时间,或者你认为这是一个好工具,并停止从VS开发WPF GUI并切换到EB。
我有它,很less使用它。
我非常不喜欢所有额外的标记添加到XAML文件,并且更喜欢知道我在做什么来拖放项目。
我已经使用过它的几次是拉出控件的默认样式或模板,或者构build类似渐变,animation或path的东西,然后将XAML复制/粘贴到我的项目中。
这很好,如果你进入拖放编码,或者如果你在一个足够大的团队工作,有一个单独的用户界面和编码团队,但除此之外,我不使用它进行独奏开发,因为我必须保持它产生的XAML混乱。
我停止在VS中开发GUI,并切换到Blend。 起初,这很混乱,但我现在很高兴我花时间学习Blend。 Blend中可以做的大部分事情都可以在Visual Studio中完成,但Blend使它们更容易(一旦你学会了如何去做)。 当我向他们展示如何在Blend中做某些事情时,我总是震惊我的开发人员,因为简单的拖放操作可以取代相当多的input。 我真的喜欢Blend的东西是devise表面是准确的,而Visual Studio中的Cider WPFdevise者经常对你说谎或误导你(而且通常只是一个废话)。
Blend可以完成以下Visual Studio不能做的事情:
- 创build和pipe理视觉状态。 (我想你可以在VS中手动完成这一切,但是对于任何事情来说,这都很疯狂)。
- 提取和修改控制模板。
- 轻松处理行为(我无法想象在VS中手动执行FluidMoveBehavior)。
- 生成样本数据以便在devise时使用(减less软件组件的耦合)。
- 所见即所得的animation编辑器。 (在VS中,您必须运行应用程序才能看到animation; Blend会为您提供实时预览。)
- 内置过渡效果和缓动function。
- SketchFlow(非常适合制作高保真模型,您可以向客户/利益相关者展示)。
- 所见即所得的path编辑器(伟大的做简单的vector图稿)。
- 所见即所得的渐变编辑器。
- 从Photoshop和Illustrator导入作品。
这些都是真正能让用户体验与其他所有自由职业者不同的东西。 为了logging,我是一个没有devise经验的开发者。
- 编辑默认样式更容易,因为您可以select
Edit a copy
默认样式提取到新样式Edit a copy
,并且可以对其进行更改 - 我发现编辑额外的样式,如生成的内容也非常有用,因为你可以很容易地看到什么额外的样式控制。
- 如果你正在做animation,它可以有所作为,你可以在devise时看到它是如何performance的
- 如果你的团队中有一个专门的devise师,那么他们对他们更友好,因为它与Photoshop / Flash编辑软件类似
- 从我的angular度来看,如果你在一个团队中工作,只有less数expression式混合
我总是在Visual Studio旁边打开Expression Blend,并在Silverlight,WPF或Windows Phone Projects上工作时在两者之间来回切换。 这些是我的主要责任:
我在我的应用程序中使用了很多animation和视觉状态。 要创build这些,你想看看发生了什么。 在视觉工作室,你不能(还)。 手工编写真实的animation或视觉状态几乎是不可能的。
pipe理资源也是我使用Expression Blend的原因。 在Blend中创build新词典和移动资源非常简单。 它甚至会在您尝试删除某个地方正在使用的资源时通知您。 查找和编辑资源非常简单。 点击一个button,一个属性会被转换为一个资源,并准备在其他地方使用。
我使用了很多其他的东西是样品数据。 我希望看到我的表单和列表填充数据创build时。 根据应用程序的状态,我手动创build示例数据,使用数据库的xml导出或从代码生成示例数据。
在使用示例数据时,数据绑定变得容易得多。 只需在文本框上拖放属性,就可以获得绑定。 通过数据绑定编辑器,您可以按照自己想要的方式调整绑定。
当Visual Studio更加面向开发人员时,Expression Blend面向devise师。 它有很多可以产生大量代码和简单易用的预定义工具(特别是animation,devise问题等)。 所以在Expression Blend中可以完成的任何事情都可以在Visual Studio中完成。 我不确定,反之亦然。
这是官方网站上说的:
Expression Blend,Visual Studio,Silverlight和.NET提供了当今市场上最引人注目的无缝devise和开发工作stream程。 快速迭代用户体验和核心架构,快速将您的想法从最初的原型发展到完成的项目。
Expression Blend的关键组件,包括行为,视觉状态pipe理器,过渡效果和SketchFlow(Expression Blend 4仅在Expression Studio 4 Ultimate产品中包含SketchFlow),加上这个现代工作stream的速度和灵活性,您挑战边界和工作超出了你认为可能的范围。
所以,这取决于你在哪里:如果你主要使用应用程序的UI层,你可能在Expression Blend中find很多有用的东西,否则如果你主要使用背景 – Visual Studio是你的select。
更新
还请看看下面踩在SO: WPF应用程序:Visual Studio与Expression Blend
作为一名专业的开发人员,Expression Blend是无价之宝,并且执行了许多VS没有的function,
简而言之,示例数据,故事板,远远优越的数据模板支持更好的资源字典支持更好的定制控制工具更好的XAML控制
如果你只是编辑非常基本的用户界面,然后Blend不会被任何使用与VS. Blend是用于devise和animation的前端。
我认为有一个简单的方法来回答你的问题…你所要做的就是问问你自己在Blend中做什么的最终结果?
答案是XAML。 所以如果这个工具为你生成XAML,为什么不直接使用XAML呢? XAML是人类可读的,它很容易理解和掌握,在VS Intellisense和Resharper代码完成之间,并不需要太多的input。
您掌握Blend的时间在掌握XAML方面投入的时间要多得多,因为Blend只是一种用于以可视方式生成XAML的工具,所以直接使用XAML意味着更好地底层技术的底层,并且完全控制代码而不是依赖在一些黑盒子工具上产生一些你不太明白的东西。
而如果你把所有的时间都投入到Blend的制作中,并且在6个月的时间里你最终进入其他公司,他们决定不使用Blend? 如果您不了解XAML,您现在必须投入更多的时间来学习XAML,如果您了解XAML,那么您可以在任何环境中使用,因为我真的怀疑任何公司都会迫使需要工作的编码人员与用户界面以及使用Blend,而不是让他们直接使用XAML。
有一些情况Blend会为你节省相当多的时间(人们提到视觉状态和animation),所以在这种情况下有Blend是非常好的,但是如果你正在开发典型的LOB应用程序,那么几乎没有什么会使你觉得你真的,真的需要混合…
具有多用途的混合工具。
我认为这主要是
1.在silverlight中build立animation(Story Board)
2.创buildWPF / SL / WP XAML布局
如果你想创build一些animationsilverlight /一些数据绑定sliverlight应用程序,我的答案是,我尝试在7天内使用Adobe Edge,很久以前使用Flash 4,MX2004,Flash 5的闪光。
为了创build一个奇特的animation,Expression Blend仍然击败Adobe Edge,并与Adobe Flash相媲美。
而且你可以编写你熟悉的编程语言来控制一切,就像flash动作脚本一样。
在我的可选项中,Action Script在大中型项目上非常混乱,很难debugging/维护。
- 你使用TestInitialize或者testing类构造函数来准备每个testing吗? 为什么?
- Cookie混淆与FormsAuthentication.SetAuthCookie()方法
- 截断小数没有舍去
- SqlBulkCopy的build议批量大小是多less?
- 我应该传入什么值TimeZoneInfo.FindSystemTimeZoneById(string)?
- System.Drawing在Windows或ASP.NET服务
- 如何从它的hexRGBstring创build一个System.Drawing.Color?
- 如何捕获由死锁引起的SqlException?
- 为可变对象重写GetHashCode?