【问题标题】:To what extent does a successful GWT developer need to be a fully fledged 'web developer'?成功的 GWT 开发人员在多大程度上需要成为一名成熟的“Web 开发人员”?
【发布时间】:2011-11-19 04:59:48
【问题描述】:
  • “网络开发人员”是指有声音的软件开发人员 了解 Web 基础知识(HTTP、HTML、CSS、JavaScript 和 阿贾克斯)。
  • 我所说的“成功的 GWT 开发人员”是指可以生产的人 及时提供高质量且外观精美的 GWT 应用。

我的部门正在为一个需要开发多个单屏 RIA Web 应用程序的项目做准备。这些将前端用 Java 实现的企业服务器组件。我们的 UI 原型是使用 ExtJS 开发的,并且是成功的(在开发速度和生成专业、美观的 UI 方面,该 UI 与使用 Spring-MVC + Jackson 实现的面向服务的 API 很好地集成)。然而,在准备开发实际产品的过程中,我们意识到我们部门的技能配置文件并不适合 ExtJS。我们在 Java 方面很强大,但在 Web 开发人员方面相对较弱。 UI 原型的开发表明,您确实需要完全成熟的 Web 开发人员来掌握 ExtJS,因为他们将花费大量时间来处理 CSS 和 JavaScript 问题。因此,出现了一个问题,即我们是否最好使用 GWT(结合提供与 ExtJS 相当的抛光水平的库,例如SmartGWT)。显然,这是假设 GWT 在 Web 开发技能方面的要求要低得多。 GWT + SmartGWT 能在多大程度上让我们的 Java 开发人员开发出高质量的 RIA,而无需对上面列出的 Web 基础知识进行基本了解?

如果我们决定进一步探索 GWT,我们将制作另一个原型,但同时听取经验丰富的 GWT 开发人员的意见会非常有趣。

【问题讨论】:

    标签: gwt extjs


    【解决方案1】:

    我的经验是,如果没有高级 Web 技能,您可以轻松完成很多事情,但最终结果是一款外观相当平淡的应用,但更糟糕的是,您会发现自己难以实现所需的所有动态效果。

    例如,我的应用在主选项卡上有一个 DataGrid。使用纯 GWT 可以很容易地做到这一点。但是后来我想在 DataGrid 小部件下放置一个复选框,用户可以使用它来选择“单行模式”,其中每行是一行 - 单元格中的任何数据都会自动换行的细胞。点击复选框,每行折叠成一行,然后再次点击,行高扩展为显示单元格中所有数据所需的任何大小。没有办法。您需要做的是调整 DataGrid 的行样式以添加或删除 CSS 元素“white-space:nowrap;”。因此,您将 ValueChangeHandler 添加到 CheckBox 小部件(GWT 技能),该小部件会修改 DataGrid 小部件的 CSS 样式(Web 技能)。

    如果没有网络技能,您会发现自己在尝试实现您想要的外观和感觉(甚至是动态行为)时遇到了困难。话虽如此,您可以在网上很容易地找到这些答案。要记住的关键是,仅仅因为 GWT 似乎没有解决某事的方法,这可能真的是一个 Web 问题,而不是 GWT 问题,你必须记住跳出 GWT 框框来解决你的问题问题(而不是举手,指责 GWT 缺少功能,并希望 SmartGWT 之类的东西能解决你所有的问题)。

    事实上,每个 GWT 小部件都有大量设置、添加和删除样式的方法,以及通过 ClientBundles 和 UiBinder 等非常丰富的集成,这意味着这始终是意图。

    【讨论】:

      【解决方案2】:

      GWT 是一个非常强大的框架,可以用来产生很好的结果,例如Pictarine,但作为 Pictarine 的开发者indicate

      当我们开始使用 GWT 时,另一件对我们来说并不明显的事情是,如果 Java 开发人员想要超越 GWT 小部件提供的基本用户界面,他/她需要深入了解 HTML/CSS。

      我引用这句话并不是要劝阻任何人。在没有太多 HTML/CSS 知识的情况下,使用 GWT 确实可以实现基本接口。然而,GWT 依赖于 Web 语言,因此在不平凡的应用程序中熟悉 JavaScript、HTML 和 CSS 会派上用场。就个人而言,使用 GWT 一直在不断加深我的 JS/HTML/CSS 技能,因为我一直在寻找增强我的 GWT 项目的方法,这最终得到了很大的回报。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多