Выбор между java или php для GWT!

Для моего нового тяжелого приложения для чтения базы данных мне нужно использовать GWT и mysql. Но при выборе между java и PHP у меня есть некоторые недоразумения: 1) JDBC с mysql медленнее, чем PHP с mysql (выиграл PHP) 2) если я собираюсь использовать PHP, я должен использовать JSON для передачи данных между сервером и клиентом. 3) Эти накладные расходы на синтаксический анализ и обработку json можно легко заменить быстрыми вызовами RPC, если я использую JAVA. (собственный JAVA) 4) GWT имеет большую поддержку и небольшие рамки для вызовов JAVA/RPC, поэтому производительность выше.

Помогите пожалуйста выбрать хороший.


person Natsabari    schedule 02.03.2010    source источник
comment
Я не знаком с GWT или JSON, но могу сказать вам, что по моему опыту 90-99% времени выполнения моих PHP-скриптов приходится на запросы MySQL, поэтому я сомневаюсь, что это будет иметь большое значение.   -  person Brendan Long    schedule 03.03.2010
comment
Я бы пересмотрел первоначальное утверждение: JDBC с mysql медленнее, чем PHP с mysql. Я просто не понимаю, как это могло быть...   -  person Tony BenBrahim    schedule 04.03.2010


Ответы (6)


Я думаю, что они оба очень подходят. Хотя я понимаю, что ваша потребность в производительности является важным вопросом, я лично думаю, что ни драйвер SQL, ни синтаксический анализ JSON не будут вашей проблемой производительности позже.

При большинстве вызовов AJAX сетевые накладные расходы (подтверждение TCP и т. д.) занимают большую часть времени, если только у вас нет больших файлов для передачи. И тогда уже неважно, какой бэкенд.

Если вы используете Java и сервер приложений, ваши соединения с базой данных должны быть объединены в пул и работать быстро. Если вы используете GWT RCP, вы можете легко реорганизовать свое приложение, если вам нужно будет внести изменения позже, что является большим плюсом. Если вы обнаружите, что некоторые из ваших обновлений работают медленно, наибольший прирост производительности может быть достигнут за счет кэширования данных на клиенте и/или объединения вызовов AJAX. Этот рефакторинг намного проще, если вы используете Java как на стороне клиента, так и на стороне сервера.

person phisch    schedule 02.03.2010

GWT — это платформа для создания веб-приложений с использованием кода Java. Вы можете подключить его к серверной части PHP (и есть документация о том, как это сделать). Но, с моей точки зрения, тогда вы теряете основную идею GWT, один единственный язык для всего вашего приложения.

Если вам действительно нужно использовать GWT для своего внешнего интерфейса, также сделайте свой внутренний интерфейс на Java. Если вы используете другой подход, используйте PHP+HTML+JavaScript.

Мои 2 цента.

person Carlos Tasada    schedule 02.03.2010

Один важный момент, который, я думаю, был упущен здесь, — это стоимость. Если вы используете PHP, ваши расходы на хостинг потенциально будут значительно меньше. Добавление Java к уравнению обычно означает запуск с выделенного сервера или виртуальной машины (помните, что интерфейс GWT, разработанный на Java, скомпилирован в Javascript). Игнорирование стоимости Java может показаться очевидным выбором из двух, в основном по причинам, упомянутым выше, один язык и более легкий RPC.

person William Parker    schedule 19.12.2011

Я думаю, это действительно зависит от того, что вы хотите написать и в чем вы хотите его поддерживать. Лично я бы использовал PHP, потому что лично я лучше знаком с PHP.

person Xorlev    schedule 02.03.2010

Я бы придерживался Java, так как это официальный язык GWT. Если вы используете PHP, вы теряете преимущества использования мощных Java IDE, таких как Eclipse и IntelliJ Idea, для разработки и отладки.

person Pierre-Antoine LaFayette    schedule 02.03.2010
comment
Это уже не так. Netbeans(netbeans.org/downloads/index.html) поддерживает PHP, включая отладку. - person ssakl; 24.03.2010
comment
@ssakl Я думаю, что Пьер имел в виду использование глобального тестирования и отладки с использованием только java. С Netbeans вам понадобится отдельная отладка - person Guillermo Garcia; 18.03.2015

ЕСЛИ вы используете PHP для серверной части, вы не можете использовать «GWT rpc», вы можете использовать только асинхронный HTTP-запрос (используя RequestBuilder), но ваши расходы на хостинг снизятся. Я думаю, что лучше реализовать серверную часть с помощью служб REST (с помощью PHP), а затем вызывать эти службы с помощью приложения GWT во внешнем интерфейсе (например, используя restygwt). При таком подходе вы можете легко изменить свою внутреннюю (или внешнюю) технологию в будущем.

Приятно провести время.

person Saeed Zarinfam    schedule 15.12.2012