For my new heavy database read application ,i need to use GWT and mysql.
But in choosing between java and PHP,i have some confusions,
1)JDBC with mysql is slower than PHP with mysql (PHP won)
2)if am going to use PHP ,i have to use JSON for transferring data between server and client.
3)This json parsing and handling overhead can be easily replaced by fast RPC calls if am using JAVA.(JAVA own)
4)GWT has lot of support and small frameworks for JAVA/RPC calls,so productivity is higher.
Please help me to choose a good one.
I think both of them are very suitable. While I understand that your need for performance is an important issue, I personally think, neither the SQL driver nor the JSON parsing will be your performance problem later on.
With most AJAX calls, the network overhead (TCP handshake etc) takes up most of the time unless you have large files to transfer. And then it does not matter what the backend is.
If you use Java and an Application Server, your database connections should be pooled and fast. If you use GWT RCP, you can easily refactor your application if you need to make changes later, a big plus. If you find out some of your updates are two slow, the biggest performance boost might come from caching data on the client and/or combining AJAX calls. This refactoring is a lot easier if you use Java on both, the client- and server side.
GWT is a framework to create Web application using Java code. You can connect it to a PHP backend (and there’s documentation on how to do it) But, from my point of view then you’re losing the main point of GWT, one single language for your whole app.
My 2 cents.
I think it really depends on what you want to write it in and what you want to maintain it in. Personally I’d use PHP because I’m personally more familiar with PHP.
I would stick to Java as that is the official GWT language. If you use PHP you lose out on the benefits of using powerful Java IDEs like Eclipse and IntelliJ Idea for development and debugging.
IF you use PHP for backend, you can not use “GWT rpc”, you can only use asynchronous HTTP request (using RequestBuilder), but your hosting costs will decrease.
I think it is better you implement you backend using REST services (by PHP) and then call those services by your GWT application at the frontend (for example using restygwt library). With this approach you can change your backend technology (or frontend technology) easily in the future.
Have a nice time.