7

几天前,我读到一个问题,询问有多少开发人员手工编写 HTML/XHTML 代码而不是依赖所见即所得工具 - https://stackoverflow.com/questions/406052/do-most-web-programmers-not-designers -使用所见即所得的编辑器或手工编码他们

我倾向于设计用于我的代码的 ASP.NET 服务器控件而不是用户控件。我这样做是为了可以通过拖放到 WYSIWYG 中来重用它们,并且只需设置一些相关的属性。这在设计组件时确实会花费一些额外的时间,但是当我在更大的应用程序中使用它们时会大大简化事情。

在阅读了大多数开发人员似乎是手工编写代码而不是使用 WYSIWYG 之后,这让我想知道:我这样开发组件是在浪费时间吗?

编辑:澄清一下-主要是,最初的意图是这些控件是供我自己使用的。但是,在很多情况下,它们可能对我的团队其他成员有用,或者可能用于公开发布。然而,像大多数事情一样,我倾向于看到相对较少的额外工作提供了巨大的潜在额外价值,而不管额外价值实现的可能性如何。

4

13 回答 13

5

不,你不是在浪费时间。如果所见即所得的用户可以轻松使用您的组件,您的潜在用户群将会更大。如果您是这些组件的唯一用户,请设计它们以符合您的开发风格。如果您进行视觉设计,那么拥有所见即所得的支持是有意义的。

于 2009-01-07T16:39:32.590 回答
4

您可以创建一个 UserControl 并使用不同的技术将其编译为一个 dll,然后您的 Web 应用程序可以引用该 dll:

一些方法的概述:http: //geekswithblogs.net/dotnetrodent/archive/2006/06/16/82136.aspx

详细方法: http ://webproject.scottgu.com/CSharp/UserControls/UserControls.aspx

我从不使用 WYSIWYG 工具,因为一旦你考虑了 javascript、CSS 和其他东西,它就永远不会真正是 WYSIWYG。(我知道 VS2008 变得更好但并不完美)。设计师总是很慢。我更喜欢使用标记进行编码。

如果您开发打算出售的商业组件,您应该花时间拥有最完整的功能集恕我直言。包括所见即所得。如果您的构建组件以便您或您的团队可以使用它们,那么您应该评估让您的组件执行额外步骤所花费的时间的成本效益。

于 2009-01-07T16:44:18.383 回答
2

我认为您不会浪费时间,特别是如果您想发布这些控件供其他开发人员使用。如果所需的努力确实是“额外的一点”,并且您发现它在更大的项目中对您有所帮助,我认为您的控件通过与所见即所得工具兼容而得到改进。

就个人而言,我通常手动编写 HTML/XHTML 代码,但我喜欢偶尔使用 WYSIWYG 功能。我一直发现,所见即所得友好的控件比依赖手动编写的所有代码的控件更易于使用。

于 2009-01-07T16:45:01.237 回答
2

为了您自己的使用,您已经知道您是否在浪费时间。

[我进入业力防空洞]

对于公众和您团队的其他成员,我将提出反对流程的意见,即您可能正在……不浪费您的时间,但可能没有充分利用它。

我认为很少有 Web 开发人员会认真对待所见即所得的产品,但是如果大多数人可以在手动代码级别使用您的控件,而少数人可以进行拖放,那么您提供了选择的好处,这绝不是一件坏事. 除非可能涉及小孩和良好行为。

于 2009-01-07T17:09:01.157 回答
1

如果您对所见即所得编辑器中的工作更满意,并且开发服务器组件使您的工作更轻松,那么如果您所做的工作适合您,我不明白为什么您应该尝试遵循其他开发人员的方法。

于 2009-01-07T16:40:50.200 回答
1

我认为您必须对这项民意调查持保留态度。仅仅因为 Stack Overflow 上的大多数人都说他们手动编写 HTML 代码并不意味着大多数 Web 开发人员都会这样做。例如,Dreamweaver 和 Microsoft Frontpage 等工具是非常受欢迎的工具,主要是因为它们的 WYSIWYG 功能。网络托管公司通常拥有所见即所得的网页构建器,这些构建器也非常受欢迎。我的大部分内容也是手工编写的,但我与来自世界各地其他公司的 Web 开发人员一起做了大量自由职业,根据我的个人经验,我可能会说大多数 Web 开发人员确实使用 WYSIWYG工具。Web 开发人员越有经验,他们使用所见即所得工具的可能性就越小,但经验较少的人远远超过经验丰富的人。

于 2009-01-07T17:13:31.197 回答
1

您可能会向自己提出一个问题,“其他开发人员是否在浪费时间手工编写控件?”。

如果只在一个页面上使用,我通常只是在页面上拖放控件并在需要时更改生成的 html。如果控件及其功能在同一个 Web 应用程序的多个页面上使用,那么我会转到用户控件。当它肯定会跨应用程序使用时,我只想编写一次代码,所以我转到一个可以轻松分发的服务器控件。我认为关键是它(布局和功能)正在多个地方使用,或者您将在多个地方使用它。在许多地方有重复的代码,就像花更多的时间为一个用途开发可重用的代码一样,是一个“错误”。另外,它是软件,因此您可以稍后更改!

于 2009-01-07T17:38:56.247 回答
1

我认为您真正的问题可能是,“有没有一种方法可以开发我的 UI,我应该更多地了解它,因为它可能比我现在做的方式更好?”

考虑到事情变化的速度有多快,这是我们都经常问的一个问题。我记得第一次看到使用 Ruby on Rails 开发的网站;然后我浏览了一个没有所见即所得步骤的教程;但一切都是通过 CSS 和主题完成的;我突然想到,也许 Dreamweaver 并不是对所有事情都最高效的环境,结果至少同样具有吸引力。

阅读 MVC 教程给了我同样的震撼。

因此,我认为至少值得尝试替代方案,以明智地决定什么最适合我、我的技能和我的要求。我想要我的工具包中最好的工具,即使我并不是每个项目都需要它们。

特别是因为您似乎意识到您当前的方法会占用您大量的时间。

于 2009-01-07T17:42:43.867 回答
1

我会说,如果它确实只是一点点额外的工作并且它增加了如此多的额外价值,那么很难想象它可能是浪费时间。后面的用户希望将来使用您的组件会发现它更容易,并且将节省大量时间,否则这些时间将花费在手动编码上。更何况如果你可以通过鼠标点击和拖动来拖放一个组件,那为什么还要浪费按键呢?

于 2009-01-09T02:37:26.750 回答
1

像其他所有事情一样,适当的答案是“视情况而定”......

您必须衡量添加此功能的投资回报率。

对于“我”;就个人而言,我从未创建过适用于所见即所得编辑器的 Web 控件,所以我不知道它需要付出多少努力。

对于'R';如果您在大型开发团队中工作,分发您的代码,将自己在所见即所得编辑器中重用这些控件,或者甚至只是想要体验,那么您一定会得到回报。但是如果这样做是基于未来的维护程序员;您可能有点倾向于过度优化方面。(恕我直言)

于 2009-01-09T03:01:31.197 回答
0

我会同意以前的帖子。我不认为你在浪费时间。启用所见即所得的控件允许用户以两种方式做事,扔设计师和扔代码。有时,当您使用属性编辑器时,更容易发现控件的作用,而不是在代码中进行更改,然后编译和运行应用程序。

于 2009-01-07T16:45:17.167 回答
0

当我开始编程时,我喜欢 WYSIWYG 并将它用于几乎所有事情。

我开始编写 html 代码是必要的,总有一些事情我只是使用 WYSIWYG 编辑器无法正确处理。时间过去了,我意识到对我来说,简单地调整 html 比使用鼠标设置属性要快,所以随着时间的流逝,我使用了越来越多的 html,直到我不再需要所见即所得的编辑器。

我为什么要告诉你这个故事?因为我的个人经验告诉我,初学者程序员会喜欢 WYSIWYG,而您在制作服务器控件和高级程序员方面所做的努力不会给您任何功劳。

我的意见是,你应该随心所欲。如果您这样做是为了取悦他人,那么如果您的团队中没有初学者程序员,请不要打扰。

那是我的 5 美分;)

于 2009-01-07T16:50:26.000 回答
0

我想如果它在很多地方使用,我会创建控件。即使您手动编写 html 代码,它仍然可以节省时间并简化工作。但我同意手动编码 html/css 更有效,所见即所得的网页构建器不太支持这一点。

于 2009-01-07T21:58:27.313 回答