【问题标题】:React vs GWT for large scale web application用于大型 Web 应用程序的 React 与 GWT
【发布时间】:2017-09-28 09:32:36
【问题描述】:

作为 Java 开发人员,我一直觉得使用 GWT 开发 Web 应用程序很舒服,但我不时尝试检查是否有更好的框架可以用于开发大型 Web应用程序。
我试用了React,我很喜欢它,但作为一名 Java 开发人员,我感觉使用 JS 开发不是很舒服,而且我害怕当项目变得非常大时,我会遇到维护它的麻烦,我会得到“意大利面条代码”。
基本上我想知道 React 比 GWT 有什么好处?我对用 JS 开发的大型项目感到害怕吗?

【问题讨论】:

  • 您是否尝试过使用 TypeScript 或 Flow 的“类型化”JS?否则看看 Scala React,我听说过关于它的好消息,但我自己从未尝试过。 github.com/japgolly/scalajs-react 我自己是一个 C# .Net 人,所以我使用 TypeScript 和 React。我已经用它构建了几个非常大的应用程序,并且效果很好。与所有编码一样,您总是可以创建意大利面条,但是随着团队的成长,打字稿对我们帮助很大。
  • 我每年都做同样的练习 :) 我喜欢 React 和 Angular 在他们的“快速入门”和中级教程中的所有内容,但对于大型应用程序,一切很快就会变得复杂得多。在灵活性(您可以在没有任何包装器的情况下使用许多库)与 GWT 提供一切(类型安全、EventBus、活动、常量(i18n)等)的便利性之间需要权衡。
  • 这并不是真正的 React vs GWT 情况:github.com/GWTReact
  • @PerSvensson,我听说过 typescript,但从未尝试过,也许是时候检查一下了。而且我从来没有听说过 Scala 和 React 的结合,我一定会去看看,谢谢!
  • React 和 GWT 是不同的情况恕我直言。 React 是一个涵盖完整 UI/UX 需求的框架——MVP 所做的一切(有点)。但是 GWT 是一个非常适合 MVP 中的 M 和 P 的框架。 GWT 中的可视化组件支持非常糟糕,据我所知,他们的计划是放弃对内置可视化组件的支持,转而使用Polymer。 (但我更喜欢GWT Material)。我相信如果您在服务器端使用 Java - 使用 GWT。如果是 Node.js - 使用 React。

标签: java reactjs gwt


【解决方案1】:

现在你可以试试 VueGWT:Github project 这个想法是用 Java 编写控件,并使用 vueJS 模板编写视图。我们已经开始(目前只有一小部分)将它用于GenMyModel,一个非常大的 GWT 应用程序。

【讨论】:

    【解决方案2】:

    我是一名 java 出生的开发人员,现在从事 react-redux 工作,并怀念对象语言。如果你尝试开发一个真正好的应用程序,你将不得不添加 redux 来响应,但它的模式很奇怪并且没有很好的文档记录。

    如果你觉得 Java 比 JS 更舒服,你应该使用 GWT。确实,例如具有无限加载的 ag-grid,目前可能不存在于 GWT 中,但您有 Google 支持。如果你想为你的应用程序提供最新的令人惊叹的小部件(react virtualized select 是另一个例子)并且你真的需要它们,你必须自己记录这些(缺乏文档)并使用 react。

    【讨论】:

    • 实际上,自从我发布问题后,我就开始使用纯 JS(希望我们会尽快做出反应),并且我对 UI 结构有更多的控制权,但我绝对怀念 GWT 易于开发且可正确重用的简单开发小部件。关于谷歌的支持,谷歌已经很久不支持GWT了,但是像GWTP这样的项目一直在支持(不是谷歌)。
    • Redux 没有很好的文档记录?它拥有我见过的最好、最容易理解的文档之一。我仅通过该文档和 Egghead 视频学习了 Redux。您觉得这很奇怪的原因是,作为一名 Java 开发人员,您更习惯于命令式编程而不是声明式编程。如果你仍然用 Java 思考,它会让 Redux 更难理解。
    • 我觉得相比java或者javascript,redux的资源还是比较有限的
    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多