Для моего нового тяжелого приложения для чтения базы данных мне нужно использовать GWT и mysql. Но при выборе между java и PHP у меня есть некоторые недоразумения: 1) JDBC с mysql медленнее, чем PHP с mysql (выиграл PHP) 2) если я собираюсь использовать PHP, я должен использовать JSON для передачи данных между сервером и клиентом. 3) Эти накладные расходы на синтаксический анализ и обработку json можно легко заменить быстрыми вызовами RPC, если я использую JAVA. (собственный JAVA) 4) GWT имеет большую поддержку и небольшие рамки для вызовов JAVA/RPC, поэтому производительность выше.
Помогите пожалуйста выбрать хороший.
Я не знаком с GWT или JSON, но могу сказать вам, что по моему опыту 90-99% времени выполнения моих PHP-скриптов приходится на запросы MySQL, поэтому я сомневаюсь, что это будет иметь большое значение. Brendan Long 03.03.2010
Я бы пересмотрел первоначальное утверждение: JDBC с mysql медленнее, чем PHP с mysql. Я просто не понимаю, как это могло быть... Tony BenBrahim 04.03.2010
Я думаю, что они оба очень подходят. Хотя я понимаю, что ваша потребность в производительности является важным вопросом, я лично думаю, что ни драйвер SQL, ни синтаксический анализ JSON не будут вашей проблемой производительности позже.
При большинстве вызовов AJAX сетевые накладные расходы (подтверждение TCP и т. д.) занимают большую часть времени, если только у вас нет больших файлов для передачи. И тогда уже неважно, какой бэкенд.
Если вы используете Java и сервер приложений, ваши соединения с базой данных должны быть объединены в пул и работать быстро. Если вы используете GWT RCP, вы можете легко реорганизовать свое приложение, если вам нужно будет внести изменения позже, что является большим плюсом. Если вы обнаружите, что некоторые из ваших обновлений работают медленно, наибольший прирост производительности может быть достигнут за счет кэширования данных на клиенте и/или объединения вызовов AJAX. Этот рефакторинг намного проще, если вы используете Java как на стороне клиента, так и на стороне сервера.
Ответ 2 · рейтинг 7 · Carlos Tasada
GWT - это платформа для создания веб-приложений с использованием кода Java. Вы можете подключить его к серверной части PHP (и есть документация о том, как это сделать). Но, с моей точки зрения, тогда вы теряете основную идею GWT, один единственный язык для всего вашего приложения.
Если вам действительно нужно использовать GWT для своего внешнего интерфейса, также сделайте свой внутренний интерфейс на Java. Если вы используете другой подход, используйте PHP+HTML+JavaScript.
Мои 2 цента.
Ответ 3 · рейтинг 4 · William Parker
Один важный момент, который, я думаю, был упущен здесь, - это стоимость. Если вы используете PHP, ваши расходы на хостинг потенциально будут значительно меньше. Добавление Java к уравнению обычно означает запуск с выделенного сервера или виртуальной машины (помните, что интерфейс GWT, разработанный на Java, скомпилирован в Javascript). Игнорирование стоимости Java может показаться очевидным выбором из двух, в основном по причинам, упомянутым выше, один язык и более легкий RPC.
Ответ 4 · Xorlev
Я думаю, это действительно зависит от того, что вы хотите написать и в чем вы хотите его поддерживать. Лично я бы использовал PHP, потому что лично я лучше знаком с PHP.
Ответ 5 · Pierre-Antoine LaFayette
Я бы придерживался Java, так как это официальный язык GWT. Если вы используете PHP, вы теряете преимущества использования мощных Java IDE, таких как Eclipse и IntelliJ Idea, для разработки и отладки.
Ответ 6 · Saeed Zarinfam
ЕСЛИ вы используете PHP для серверной части, вы не можете использовать "GWT rpc", вы можете использовать только асинхронный HTTP-запрос (используя RequestBuilder), но ваши расходы на хостинг снизятся. Я думаю, что лучше реализовать серверную часть с помощью служб REST (с помощью PHP), а затем вызывать эти службы с помощью приложения GWT во внешнем интерфейсе (например, используя restygwt). При таком подходе вы можете легко изменить свою внутреннюю (или внешнюю) технологию в будущем.