使用GWT优于PHP的优点

使用GWT优于PHP的优点,php,gwt,Php,Gwt,我正在考虑为一家初创公司创建一个网站,并试图决定是否要使用GWT来构建它。我以前做过很多PHP,我想继续做下去,但我的一位同事建议改用GWT。我阅读了Google发布的关于它的信息,我发现所有的脚本都是Python。我以前从未使用过Python,但它似乎没有那么具有挑战性 无论如何,问题是,对于所有使用过GWT的人来说,和坚持使用PHP方法相比,你们觉得它怎么样?有什么东西可以用GWT做,而用PHP做不到,反之亦然 谢谢 编辑:很抱歉,把GAE中的Python与GWT混淆了。GWT和PHP不是相

我正在考虑为一家初创公司创建一个网站,并试图决定是否要使用GWT来构建它。我以前做过很多PHP,我想继续做下去,但我的一位同事建议改用GWT。我阅读了Google发布的关于它的信息,我发现所有的脚本都是Python。我以前从未使用过Python,但它似乎没有那么具有挑战性

无论如何,问题是,对于所有使用过GWT的人来说,和坚持使用PHP方法相比,你们觉得它怎么样?有什么东西可以用GWT做,而用PHP做不到,反之亦然

谢谢


编辑:很抱歉,把GAE中的Python与GWT混淆了。

GWT和PHP不是相互排斥的

GWT或GoogleWebToolkit最初是一个框架,它可以让您编写Java代码,从而生成AJAX应用程序接口。你写Java,HTML/CSS/Javascript就出来了。GWT的UI层与后端服务器无关。GWT生成一个调用AJAX URL的UI。没有理由不能在PHP中实现这些URL。GWT不关心URL的另一端是什么技术,只要它以正确的格式返回数据。您可以在本节中阅读更多内容

如果您对GWT生成的小部件的总体外观/感觉/行为感到满意,并且您了解Java,那么GWT是一种不错的方法

如果您需要/想要对应用程序的HTML输出进行细粒度控制(对于许多PHP开发人员来说很常见),GWT将带来比它解决的问题更多的麻烦(除非您喜欢在Java领域花费大量时间)

GWT和PHP(通常)是互斥的

GWT是Google的一个框架,它允许编写富web应用程序,通常是单页应用程序(如GMail、Google Wave等)——通常被称为RIA(富互联网应用程序)

该框架允许在一个Java项目中定义前端布局和后端处理。构建时,它会生成跨浏览器兼容的HTML+JS,并以Javaservlet的形式生成可运行的后端

除了可以在前端和后端之间轻松共享定义和代码外,一个重要的好处是内置的RPC机制,它允许直接从前端代码调用后端方法,而不必担心AJAX调用

的确,web设计过程与GWT完全不同——在设计web界面时,您几乎看不到HTML或JavaScript,而且它更类似于传统的UI设计。幸运的是,我们有一些相当好的UI库,比如SmartGWT(它是SmartClient RIA JS库的包装器)

请注意,GwT根本没有Python编程(可能您指的是Google AppEngine?这是完全不同的事情)


这是一个主观且有争议的问题,因此应该关闭-你没有提供任何关于你的创业公司的信息,因此很难提供具体的答案,因此你只能听到阵营双方的主观意见:)

话虽如此,让我们弄清楚一些事情:)GWT和PHP可以一起工作(而且做得很好——我在以前的GWT项目中使用过PHP)。前端使用GWT,后端使用PHP。沟通通常通过以下方式进行:。GWT提供了一个非常漂亮的东西,它允许在GWT应用程序中对从服务器获得的JSON进行非常平滑(并且非常快速,因为它使用浏览器进行解析)的集成。此外,如果您是(有经验或没有经验:))PHP程序员,学习应该是轻而易举的事,它提供了一个熟悉的环境来为您的小部件创建模板

然而,随着的出现,对于客户机和服务器来说,坚持使用“纯”GWT可能更有利。这主要是因为GWT2.1在服务器和客户端之间的通信(缓存、自动更新Comet样式等)方面为程序员做了大量工作。更多信息请参见谷歌IO 2010

哦,PHP和GWT作为一个整体的目标是不同的:PHP是用于具有动态内容的网站(所以现在大多数“普通”网站),而GWT最适合创建RIA(富互联网应用程序——比如GMail等等)。虽然您可以使用PHP创建RIA,但这很麻烦——GWT和“普通”站点也是如此(您更愿意在GWT中创建小部件以嵌入到普通的、可能是PHP生成的站点中)


PS:有人认为GWT肯定比PHP is语言有优势(当然是IMHO)。这是一个偏好的问题,但我更喜欢像Java这样的强类型、面向对象的语言,而不是PHP,它试图同时完成许多事情(添加面向对象的功能,一些关于类型的信息,等等)-我不喜欢我的GWT+PHP经验中的一件事是PHP语言-也许这只是我缺乏PHP经验,但我只是不喜欢PHP让我编写的代码类型。

@Alan-GWT非常关注服务器端,因为它可以生成捆绑在一起的服务器端和前端代码。@adamk GWT可以生成服务器端代码,但绝对不需要。您可以将GWT编译生成的JavaScript与任何服务器一起使用(甚至可以在本地运行,或者作为没有服务器的Chrome扩展)@Jason这不是难看的问题,而是控制的问题。我对像GWT这样的UI框架的看法是,你接受小部件的总体设计(我在设计中包括了功能),你可以对它应用样式,通常会得到“漂亮”的结果。在GWT中更改小部件的整体外观/感觉/行为需要编写新的Java来更改小部件的行为。我不会对jQuery说同样的话,但我会对jQueryUI说同样的话。@Alan我明白了。因此,这不是GWT生产丑陋的应用程序的问题,而是与GWT捆绑在一起的现有小部件“一成不变”,并可能要求开发人员编写自己的小部件以获得最大的灵活性。是