I've played around with the netbeans visual editor for java and it seems very intuitive and simple to use but I can't help but think: is this detrimental to my learning? Should I be getting my hands dirty and doing everything manually? How do professionals in the field handle user interface design?
我已经玩过java的netbeans可视化编辑器,它看起来非常直观和易于使用,但我不禁想到:这对我的学习有害吗?我应该弄脏自己的手并手动完成所有事情吗?该领域的专业人员如何处理用户界面设计?
What would you guys recommend I do?
你们会推荐我做什么?
6 个解决方案
#1
The main drawback of GUI builders is that they make it easy to do simple things and very difficult to do complicated things. It's the same as building a website with a real design tool vs. using a simple website builder like iWeb or FrontPage.
GUI构建器的主要缺点是它们使得简单的事情变得容易并且很难做复杂的事情。它与使用真实设计工具构建网站相比,使用像iWeb或FrontPage这样的简单网站构建器。
The three most important topics in GUI framework are learning the event model, the layout model, and the intricacies of each widget. GUI builders isolate you from the latter two and kind of restrict your exposure to your first.
GUI框架中最重要的三个主题是学习事件模型,布局模型以及每个窗口小部件的复杂性。 GUI构建器将您与后两者区分开来,并限制您对第一个的接触。
In the long run, it's detrimental to the things you can achieve, and therefore detrimental to your mastering of GUI creation.
从长远来看,它对你可以实现的事情是有害的,因此不利于你掌握GUI创建。
In addition, maybe behaviors that are very important to the users (e.g., blanking out one widget in response to change in another) are quite tricky to write, especially with automatically generated code. Complex GUIs often rely on models, and GUI builders often through everything together, so it's much easier to end up with horrible unmaintainable code.
此外,可能对用户非常重要的行为(例如,消除一个小部件以响应另一个小部件的改变)编写起来非常棘手,特别是对于自动生成的代码。复杂的GUI通常依赖于模型,而GUI构建器通常会将所有内容组合在一起,因此更容易得到可怕的无法维护的代码。
#2
For learning design I think a visual GUI editor is fine. Design has nothing to do with what tools you use to create the design. If your goal is to learn how to create a pleasing user experience a visual editor might be very helpful.
对于学习设计,我认为可视化GUI编辑器很好。设计与您用于创建设计的工具无关。如果您的目标是学习如何创建令人愉悦的用户体验,那么可视化编辑器可能会非常有用。
For learning how to create an application with a graphical user interface I think it may be detrimental, though that really depends on the individual. At some point I do think you need to "get your hands dirty" so you can learn exactly how widgets interact with business objects and with the user.
为了学习如何使用图形用户界面创建应用程序,我认为这可能是有害的,尽管这实际上取决于个人。在某些时候,我认为你需要“亲自动手”,这样你就可以准确地了解小部件如何与业务对象和用户进行交互。
#3
I would recommend that for every new component you use, you first handcode it at least once just to make sure you understand. But theres no need to get redundant and just spend all your time coding locations and sizes when the visual editor does it for you. What I would do is just make sure you understand child forms and parent forms and leave the repetitive technical things to the editor.
我建议对于您使用的每个新组件,首先至少手动编码一次,以确保您理解。但是,当可视化编辑器为您完成时,无需花费多余时间,只需花费所有时间编写位置和大小。我要做的就是确保您理解子表单和父表单,并将重复的技术内容留给编辑。
#4
Understand the underlying code. If that means practice by writing a form window so be it.
理解底层代码。如果这意味着通过编写表单窗口来实践,那就这样吧。
However, don't waste time on it or pain yourself. It is hardly ever required to actually go in and play with the underlying generated code.
但是,不要浪费时间或自己痛苦。几乎不需要实际进入并使用底层生成的代码。
I would definitely not recommend getting too far consumed by it. It is simple and repetitive code that is generally quite simple to figure out when the time actually shows it self.
我绝对不会建议它消耗太多。它是简单且重复的代码,通常很容易弄清楚何时实际显示它自己。
#5
I recommend getting your hands dirty with the underlying parts of the code. The problem I find with Visual Editors is that they can often generate unclean code, or code that is difficult to understand when someone else needs to make changes.
我建议你弄清楚代码的底层部分。我在Visual Editors中发现的问题是,他们经常会生成不干净的代码,或者当其他人需要进行更改时难以理解的代码。
Once you have a clear understanding of JComponents then you can play around with the visual editor to understand the code that the editor generates. I recommend playing around with the examples provided by the Sun Website for Java GUI programming.
一旦你清楚地了解了JComponents,你就可以使用可视化编辑器来理解编辑器生成的代码。我建议使用Sun网站提供的Java GUI编程示例。
#6
i use GUI editors just to make the template/repetitive tasks through applications, and make the dynamic elements by hand
我只使用GUI编辑器通过应用程序制作模板/重复任务,并手动制作动态元素
#1
The main drawback of GUI builders is that they make it easy to do simple things and very difficult to do complicated things. It's the same as building a website with a real design tool vs. using a simple website builder like iWeb or FrontPage.
GUI构建器的主要缺点是它们使得简单的事情变得容易并且很难做复杂的事情。它与使用真实设计工具构建网站相比,使用像iWeb或FrontPage这样的简单网站构建器。
The three most important topics in GUI framework are learning the event model, the layout model, and the intricacies of each widget. GUI builders isolate you from the latter two and kind of restrict your exposure to your first.
GUI框架中最重要的三个主题是学习事件模型,布局模型以及每个窗口小部件的复杂性。 GUI构建器将您与后两者区分开来,并限制您对第一个的接触。
In the long run, it's detrimental to the things you can achieve, and therefore detrimental to your mastering of GUI creation.
从长远来看,它对你可以实现的事情是有害的,因此不利于你掌握GUI创建。
In addition, maybe behaviors that are very important to the users (e.g., blanking out one widget in response to change in another) are quite tricky to write, especially with automatically generated code. Complex GUIs often rely on models, and GUI builders often through everything together, so it's much easier to end up with horrible unmaintainable code.
此外,可能对用户非常重要的行为(例如,消除一个小部件以响应另一个小部件的改变)编写起来非常棘手,特别是对于自动生成的代码。复杂的GUI通常依赖于模型,而GUI构建器通常会将所有内容组合在一起,因此更容易得到可怕的无法维护的代码。
#2
For learning design I think a visual GUI editor is fine. Design has nothing to do with what tools you use to create the design. If your goal is to learn how to create a pleasing user experience a visual editor might be very helpful.
对于学习设计,我认为可视化GUI编辑器很好。设计与您用于创建设计的工具无关。如果您的目标是学习如何创建令人愉悦的用户体验,那么可视化编辑器可能会非常有用。
For learning how to create an application with a graphical user interface I think it may be detrimental, though that really depends on the individual. At some point I do think you need to "get your hands dirty" so you can learn exactly how widgets interact with business objects and with the user.
为了学习如何使用图形用户界面创建应用程序,我认为这可能是有害的,尽管这实际上取决于个人。在某些时候,我认为你需要“亲自动手”,这样你就可以准确地了解小部件如何与业务对象和用户进行交互。
#3
I would recommend that for every new component you use, you first handcode it at least once just to make sure you understand. But theres no need to get redundant and just spend all your time coding locations and sizes when the visual editor does it for you. What I would do is just make sure you understand child forms and parent forms and leave the repetitive technical things to the editor.
我建议对于您使用的每个新组件,首先至少手动编码一次,以确保您理解。但是,当可视化编辑器为您完成时,无需花费多余时间,只需花费所有时间编写位置和大小。我要做的就是确保您理解子表单和父表单,并将重复的技术内容留给编辑。
#4
Understand the underlying code. If that means practice by writing a form window so be it.
理解底层代码。如果这意味着通过编写表单窗口来实践,那就这样吧。
However, don't waste time on it or pain yourself. It is hardly ever required to actually go in and play with the underlying generated code.
但是,不要浪费时间或自己痛苦。几乎不需要实际进入并使用底层生成的代码。
I would definitely not recommend getting too far consumed by it. It is simple and repetitive code that is generally quite simple to figure out when the time actually shows it self.
我绝对不会建议它消耗太多。它是简单且重复的代码,通常很容易弄清楚何时实际显示它自己。
#5
I recommend getting your hands dirty with the underlying parts of the code. The problem I find with Visual Editors is that they can often generate unclean code, or code that is difficult to understand when someone else needs to make changes.
我建议你弄清楚代码的底层部分。我在Visual Editors中发现的问题是,他们经常会生成不干净的代码,或者当其他人需要进行更改时难以理解的代码。
Once you have a clear understanding of JComponents then you can play around with the visual editor to understand the code that the editor generates. I recommend playing around with the examples provided by the Sun Website for Java GUI programming.
一旦你清楚地了解了JComponents,你就可以使用可视化编辑器来理解编辑器生成的代码。我建议使用Sun网站提供的Java GUI编程示例。
#6
i use GUI editors just to make the template/repetitive tasks through applications, and make the dynamic elements by hand
我只使用GUI编辑器通过应用程序制作模板/重复任务,并手动制作动态元素