【问题标题】:Google Web Toolkit or Microsoft Technology (Silverlight, ASP.NET)Google Web Toolkit 或 Microsoft 技术(Silverlight、ASP.NET)
【发布时间】:2010-04-13 21:21:38
【问题描述】:

我们在 MFC 和 VB 中拥有庞大的代码库。一些应用程序在 .NET 中。所有这些应用程序在用户机器上相互操作,并通过套接字与 Unix 服务器连接。

最近,我们开始讨论重新编写我们的应用程序以及将这些桌面应用程序中的许多移动到 Web 的可能性(它们将在 Intranet 中运行)。一种直接的方法是用一种 .NET 技术重写它们。但是出现了一个关于使用 Google Web takeit 的建议,争论是它有助于创建可以在桌面和移动设备上的浏览器中运行的应用程序。

我看到的一个关键问题是 GWT 是对 Javascript 的一个大型抽象。这将要求团队学习 GWT、Javascript、IDE 等,因为他们的经验主要是 Microsoft 技术而不是 Java。他们更容易学习 .NET 技术而不是 GWT。

我没有深入了解 GWT 及其缺点陷阱,也不知道我应该研究的并行 Microsoft 技术。

因此,如果这里的人们可以分享他们使用 GWT 或同等 Microsoft 技术的观点或经验,我将不胜感激。

【问题讨论】:

  • 谢谢詹姆斯,有些问题是主观的,所以我从可用的答案中选择了最佳答案。对于我最近的问题,我期待更多的回复,所以让它们打开了一段时间,但现在我已经关闭了它们。

标签: asp.net wpf silverlight gwt


【解决方案1】:

这样的问题是主观的,所以你不会得到一个直接的答案。您是否也在重写 unix/socket 后端?或者您是否打算在套接字前面放置一个 Web 服务包装器,因为没有它我无法看到 Web/Internet 解决方案正常工作。

对于我来说,如果您是 .net/microsoft 公司,那么 MS 技术是必经之路。 MS 目前支持 jQuery,这是一个客户端 javascript 框架,但还有其他的,比如 extjs。如果您坚持使用 MS 和服务器端解决方案,那么 ASP.NET MVC 目前正在获得很大的吸引力。恕我直言,MVC 和 jQuery 可以很好地协同工作。

如果您为后端设置基于 REST 的 Web 服务层,这意味着您甚至可以摆脱由任何 javascript 框架提供支持的平面 html 前端,而根本不需要服务器端 Web 渲染技术。对于 REST,如果您坚持使用 MS 技术,您可以查看 .NET WCF。

【讨论】:

  • 詹姆斯,谢谢您的意见。是的,这个问题是主观的,我在这里发布了这个以获得其他开发人员的意见。我们当中可能有一些人可能已经决定使用 GWT 或等效的 MS 技术。关于您的问题,我们不打算重写 Unix/socket/c 代码,但无论我们使用何种技术,我们都会提供 Web 服务包装器。另一个问题是,将来我们可能想要一个更新客户端的 PUSH 模型,因为这就是它目前在桌面应用程序中的工作方式,对此有何看法?我今天简要地看了彗星
  • 嗯,目前这还不是很成熟,尽管 websockets - dev.w3.org/html5/websockets - 可能有用并且你会熟悉。总的来说,如果你使用网络,我会坚持网络开发的最佳实践,即经典拉模型。
  • 谢谢詹姆斯。你的回答很有帮助。
【解决方案2】:

鉴于您一直在使用 MFC 和 VB,.NET 对您来说也将是一个新世界。至少在 Microsoft 中,您将拥有所需的强大开发工具和学习资源。不太确定 GWT 是否会出现这种情况。

而且,如果您的一位开发人员中了彩票并离开了公司,那么寻找另一位 MS 开发人员来替代他的问题就会更少。

【讨论】:

  • 谢谢 Mike,.NET 不会是一个新世界,因为如上所述,我们确实有一些 .NET 应用程序。但对于 GWT 来说,这将是一个需要驯服的全新怪物。 GWT 是对 Javascript 的抽象,可能需要更多的努力和时间来学习,尤其是在多层应用程序架构中进行高级调试和问题解决时。与学习所有新东西相比,团队可以轻松过渡到 C# 或 VB.NET。他们仍然会使用 Visual Studio 并利用他们现有的调试技能。关于更换开发人员的成本,我也同意你的最后一点。
【解决方案3】:

鉴于你们是 Microsoft 开发人员,我会坚持使用 Microsoft 堆栈(除非您的开发人员真的想学习新东西 - 根据我的经验,这种情况很少发生)。

无论如何,我想我会提到微软有一个名为Volta 的“拥抱和扩展”版本的 GWT,他们在 2-3 年前发布。这个想法是它将 C# 作为其源文件,并将其编译为 Javascript。

我怀疑这个项目已经死了(我似乎找不到很多关于它的信息),但你可能想验证一下。我提出来是因为你们看起来像是对 GWT 感兴趣的微软商店。

【讨论】:

  • Volta 似乎已于 2008 年结束,根据维基百科 (en.wikipedia.org/wiki/Microsoft_Live_Labs_Volta) 但我以前从未听说过,所以感谢您提出!看起来 Volta 与其说是“GWT 的扩展版本”,不如说是微软对 GWT 的回应。
  • 杰克,谢谢。在此处发布问题之前,我查看了 Volta,从可用信息来看,该项目似乎目前已关闭。无论如何,它是作为“实验”项目推出的。
  • 以前称为 Volta 的项目似乎正在以某种形式继续进行——开发人员最近发布了其中的一部分,称为 Reactive Framework 或 Rx(值得一试以寻找更好的处理方式异步编程),并且在采访中他们表示他们仍在研究其他部分,但还没有准备好谈论它们。不过,我不会赌上我的生意。
【解决方案4】:

根据您提供的信息,我认为使用 Microsoft Technologies 而不是 Google Technologies。

这将降低成本(包括学习时间以及预算等)

另一方面,Silverlight 可以在带有 (WinMo7) 的 windows phone 手机上运行,​​因此您的应用程序也可以在手机中运行。所以我的建议是使用微软的技术。

【讨论】:

  • 谢谢纳赛尔。正如我在问题中提到的,这些是我倾向于 MS 技术的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-16
  • 1970-01-01
  • 1970-01-01
  • 2014-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多