我是 .Net、C# 和 WPF 程序员。表达混合值得吗?
我的意思是,作为一名普通开发人员,是否有一些我可以使用 Expression Blend 实现而不会使用 VS 实现的功能?我不知道 Expression Blend,乍一看看起来不太友好/易于学习。
你在外面做什么?值得花时间学习使用它,还是我会像使用 VS 一样做?
谢谢!
编辑:我知道微软对这些工具的评价。我想知道的是,作为像我这样的开发人员,您是否尝试了 Expression Blend 并发现这是浪费时间,或者您认为这是一个很好的工具,然后停止从 VS 开发 WPF GUI 并切换到 EB。
I mean, as a normal developer, is there something that I will achieve with Expression Blend that I won't using VS? I have no idea of Expression Blend and at first sight didn't look very friendly / easy to learn.
What do you thing out there? It's worth the time learning to use it or I will do the same as I do with VS?
Thanks!
EDIT: I know what Microsoft says about the tools. What I want to know is if you, as a developer like me, tried Expression Blend and found that it was a waste of time or you thought it was a good tool and you stopped developing the WPF GUIs from VS and switched to EB.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
我有,但很少用。
我非常不喜欢添加到 XAML 文件中的所有额外标记,并且更喜欢知道我正在做什么而不是拖/放项目。
我有几次使用它来提取控件的默认样式或模板,或者构建渐变、动画或路径等内容,然后将 XAML 复制/粘贴到我的项目中。
如果您热衷于拖放编码,或者如果您在一个足够大的团队中工作以拥有单独的 UI 和编码团队,那么这很好,但除此之外,我不会将其用于单独开发,因为我必须维护它生成的 XAML 混乱。
I have it and rarely use it.
I greatly dislike all the extra markup that gets added to the XAML files, and prefer to know what I'm doing to just dragging/dropping items.
The few times I have used it have been to pull out the default styles or templates of a control, or to build something like a gradient, animation, or path, and then copy/paste the XAML into my project.
It's nice if you're into drag/drop coding, or if you're working on a large enough team to be have a separate UI and Coding team, but other than that I don't use it for solo development since I have to maintain the XAML mess it generates.
我停止在 VS 中开发 GUI,转而使用 Blend。起初我很困惑,但现在我很高兴我花时间学习 Blend。您可以在 Blend 中完成的大部分操作都可以在 Visual Studio 中完成,但 Blend 使它们变得更加容易(一旦您学会了如何操作)。当我向我的开发人员同事展示如何在 Blend 中执行某些操作时,我不断地让他们感到惊讶,因为简单的拖放操作就可以取代大量的打字工作。我真正喜欢 Blend 的一点是,它的设计界面很准确,而 Visual Studio 中的 Cider WPF 设计器经常对你撒谎或误导你(而且总体来说就是一堆废话)。
Blend 可以执行 Visual Studio 无法执行的以下操作:
这些确实可以让您的用户体验与其他自由职业者区分开来。郑重声明,我是一名没有设计经验的开发人员。
I stopped developing GUIs in VS and switched to Blend. It was very confusing at first, but I'm now glad I took the time to learn Blend. Most things that you can do in Blend can be done in Visual Studio, but Blend makes them much easier (once you learn how to do it). I constantly astound my fellow developers when I show them how to do something in Blend because a simple drag and drop can replace quite a bit of typing. The thing I really like about Blend is that the design surface is accurate while the Cider WPF designer in Visual Studio often lies to you or misleads you (and is just a piece of crap in general).
Blend can do the following things that Visual Studio cannot:
These are the sorts of things that can really set your user experience apart from every other freelancer out there. And for the record I'm a developer with no design experience.
编辑副本
,该选项将默认样式提取到新样式中,并且您可以更改它Edit a copy
which is extracting default style into the new one and you can change it在处理 Silverlight、WPF 或 Windows Phone 项目时,我总是在 Visual Studio 旁边打开 Expression Blend,并在两者之间来回切换。这些是我的主要原因:
我在我的应用程序中使用了大量动画和视觉状态。为了创建这些,你想看看发生了什么。在视觉工作室中你还不能。用手编写真实的动画或视觉状态几乎是不可能的。
我也使用 Expression Blend 来管理资源。在 Blend 中创建新词典和移动资源非常容易。当您尝试删除在某个地方正在使用的资源时,它甚至会通知您。查找和编辑资源非常容易。只需单击一个按钮,属性就会转换为资源并准备在其他地方使用。
我经常使用的另一件事是样本数据。我希望在创建表格和列表时看到填充了数据的表格和列表。根据应用程序的状态,我手动创建示例数据、使用数据库的 xml 导出或从代码生成示例数据。
当您使用示例数据时,数据绑定变得更加容易。只需将属性拖放到文本框中即可获得绑定。通过数据绑定编辑器,您可以按照您想要的方式微调绑定。
I always have Expression Blend open next to Visual Studio and switch back and forth between the two when working on Silverlight, WPF or Windows Phone Projects. These are my main resons:
I use a lot of animations and visual states in my applications. To create these you would like to see what is going on. In the visual studio you can't (yet). It's almost impossible to write a real animation or visual state by hand.
Managing resources is something I use Expression Blend for too. Creating new dictionaries and moving resources around is very easy in Blend. It even notifies you when you try to delete a resouce you are using in some place. Finding and editing a resouce is very easy. With a click of a button a property is converted to a resource and ready for use in other places.
One other thing I use a lot is Sample Data. I would like to see my forms and lists filled with data when creating them. Depending on the state of the application I create sample data by hand, use an xml export from the database or generate sample data from code.
Databinding becomes a lot easier when you are using sample data. Just drag'n'drop the property on a textbox and you'll have a binding. Through the databinding editor you can finetune the binding the way you want.
我认为有一个简单的方法可以回答您的问题...您所要做的就是问自己在 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...
I think there's an easy way to answer your question... all you have to do is ask yourself what is the end result of anything you do in Blend?
The answer is XAML. So if this tool generates XAML for you, why wouldn't you work directly with XAML in the first place? XAML is human readable, it's easy to understand and master and between VS Intellisense and Resharper code completion there's really not a whole lot of typing required.
The time you invest in mastering Blend is much better invested in mastering XAML because Blend is just a tool used to generate XAML in a visual way so working directly with XAML means better understading of the underlying technology and taking full control of your code instead of relying on some black box tool to generate something you don't really understand.
And what if you invest all that time in mastering Blend and you end up in some other company 6 months down the road and they decided not to use Blend? If you don't know XAML, you'll now have to invest more time to learn it and if you do know XAML you'll be good to go in any environment as I really doubt it any company would force coders who need to work with UI as well to use Blend and not allow them to work with XAML directly.
There are a few scenarios Blend would save you quite a bit of time (people mentioned visual states and animations) so it's certainly good to have Blend on such occasions but if you're developing typicall LOB apps there's pretty much nothing there that will make you feel like you really, really need Blend...
当 Visual Studio 更面向开发人员时,Expression Blend 则面向设计人员。它有很多预定义工具,可以生成大量代码并且易于使用(特别是动画、设计问题等)。因此,在 Expression Blend 中可以完成的所有操作都可以在 Visual Studio 中完成。我不确定反之亦然。
以下是官方网站上的说法:
因此,这取决于您所在的位置:如果您主要使用应用程序的 UI 层,您可能会在 Expression Blend 中发现很多有用的东西,否则,如果您主要使用后台 - Visual Studio 是您的选择。
更新
另请查看 SO 上的以下步骤:WPF 应用程序:Visual Studio 与 Expression Blend
When the Visual Studio is more oriented on the developers, Expression Blend is oriented to the designers. It have a lot of predefiend tools whitch can generate a lot of code and simple to use (espessially animations, design issues, etc.). So everything what can be done in Expression Blend you can do in Visual Studio. I'm not sure about viсe-versa.
Here is what said on official site:
So, it depends on where you are: if you mostly working with the UI layer of the application you may found a lot of useful things in Expression Blend, otherwise if you mostly work with backgound - Visual Studio is your choiсe.
Update
Also check out following tread on SO: WPF Applications: Visual Studio vs. Expression Blend
作为专业开发人员,Expression Blend 的价值是无价的,它可以完成许多 VS 无法完成的事情,
就在我的脑海中,
样本数据,
故事板,
更优越的数据模板支持
更好的资源字典支持
更好的自定义控制工具
更好的 XAML 控制
如果您只是编辑非常基本的 UI,那么 Blend 不会有任何用处,坚持使用 VS。 Blend 用于设计和动画,它用于前端。
As a professional developer Expression Blend is invaluable and does many things which VS does not,
Just off top of my head,
Sample data,
Storyboarding,
Far superior datatemplate support
Way better resource dictionary support
Much better Custom Control tooling
Much better XAML control
If you are simply editing very basic UI then Blend wont be of any use stick with VS. Blend is for design and animation it is for front-end.
具有多用途的混合工具。
我认为它主要是1.
在silverlight中构建动画(故事板)
2.创建WPF/SL/WP XAML布局
如果你想创建一些动画silverlight/一些数据绑定的sliverlight应用程序,在我尝试使用后我的答案是肯定的Adobe Edge 在 7 天之内使用了 flash 4、MX2004、flash 5 很久以前的版本。
要创建精美的动画,Expression Blend 仍然击败 Adobe Edge 并与 Adobe Flash 相媲美。
您可以编写您熟悉的编程语言来控制一切,就像 Flash 动作脚本一样。
在我的选择中,动作脚本在中型大型项目中相当混乱,并且很难调试/维护。
Blend tool having multi purpose.
I assume it's mainly on
1.build animation(Story Board) in silverlight
2.create WPF/SL/WP XAML layout
If you want to create some animation silverlight/ some data-bound sliverlight application, my answer is yes after i try to use Adobe Edge in 7 days and used flash from flash 4 ,MX2004, flash 5 in long time ago.
To create a fancy animation, Expression Blend still beat Adobe Edge and comparable to Adobe Flash.
And you can write your familiar programming language to control everything just like flash action script.
In my optional, Action Script is quite messy on mid-large project and very hard to debug/maintenance.