Using Compute Engine in Eclipse with GWT - eclipse

I'm planning on making an online game using GWT (HTLM5/JavaScript) and Google Compute Engine for server. I used to make a turn-based game using AppEngine (servlets) and that worked fine. Is there a way (plugins etc) I can develop a Compute Engine project within Eclipse? Or what would be the best work flow in this case. Cloud9 seems interesting but, I'm not sure how does it integrate with an GWT/Eclipse project....
My aim is to make developing and debugging client/server stuff as fluent as possible, so other ideas are welcome too :)

Have a look at the documentation page. Based on the info there, it seems to suit your needs.

Related

Is Netbeans better than Eclipse for web service development ?

I just started 5 hours ago with web services. I have some background but now I am looking more into it.
I tried both Eclipse (with Axis 2) and Netbeans. At the first glance Netbeans seems far less complex to use regarding web services. I don't understand why there is the need for stubs and handlers generation in Eclipse (1000 lines of code for a simple web service) when Netbeans does not have this? I want to use Eclipse (because I use it for everything else) but it drives me crazy when I see the big difference from Netbeans in developing web services.
Is it something I do wrong if I use Axis ? Do you know some other framework to make things easier?
With netbeans I followed this simple tutorial and everything is nice and easy.
Please recommend me some framework, tutorials or whatever is better for Eclipse.
Thanks!
Axis 2 is only web service runtime, you can try Apache CXF as well. When it comes to web service development Eclipse is a very good and complex tool, I used it in many projects. Another must-have tool for web service development is SoapUI. Good luck!

Create CRUD web app with Dreamweaver or other framework?

Background: I have created a CRUD web app using a java based RAD tool called Wavemaker. I am considering developing the app again in a framework that has greater support. Even though I have some experience in development I still get confused by all of the terms. My understanding is that there are languages (C#, PHP, Javascript, Java, etc), frameworks (Wavemaker, Ruby on Rails, Yii, Symfony, Code Igniter, Zend, etc) and editors (Dreamweaver?)?
I outsourced the development of a mobile version of my web app and this was created using jquery mobile, php and ajax. I started using Dreamweaver because I read it had integration for development with jquery mobile and hence I could perform modifications on my mobile app.
I was wondering whether Dreamweaver was a viable choice for the development of a CRUD web app? I used dreamweaver many years ago for the create of html pages and it would automatically create a lot of "unclean" code that made it hard to maintain. I fear that I would put myself in a similar situation here with server-side code.
If Dreamweaver is not appropriate could you kindly suggest a framework that may meet my requirements?
The main things I liked about Wavemaker:
Drag and drop widgets
A lot of the database functions were automatically handled
The main things I don't like about developing with Wavemaker (not Wavemaker itself):
Support: The support generally involves posting to the forums and hoping for a reply that may never come. I would rather paid support over this option which to be fair is offered by vmware but I found it too confusing.
Small number of freelance contractors: Much of the functionality within my app required coding or workarounds outside of the standard features of wavemaker and it is very hard to find a freelance wavemaker developer for help
Ongoing bugs that cause a headache during development
With that being said my priorities are:
Support: great documentation with rapid response to problems (even if this requires a paid subscription)
A large number of freelance contractors available (I guess this means a popular framework using a popular language).
Simple and easy to use (I understand there would be an initial learning curve)
Stable: I won't be running into bugs that hold up my development and need me to wait for the next release for a fix
The ability to incorporate reporting like BIRT reports or Jasper.
Possibly steer clear of Java as I have found Tomcat to be an extra level of complication that it would be great to do without.
Any help would be greatly appreciated.
Thanks.
Dreamweaver was a viable choice for the development of a CRUD web app?
Yes, but with caveats. It still does not produce code that advanced users would consider "clean" but the integration of JQuery Mobile in CS5.5 makes it a good choice for non-coders or beginning coders who need to spin up rapidly and will worry about elegance later.
That being said, if you are outsourcing the design it is likely that the code you get back will be editable in Dreamweaver but not written in such a way as to take advantage of Dreamweaver's built-in behaviors (automatic code writing). Dreamweaver expects to see code written to its specs in order to take over for the user. If not, it is still a great wysiwyg editor and above-average code editor.
But it's not a framework. In your sitution, JQuery Mobile is the framework and any JQuery Mobile developer should be able to step in and run with the project. But if you write big chunks of the CRUD using Dreamweaver, developers may tell you that they will want to rewrite those sections. Some won't care.

Java Web Framework Prototyping tools

At the moment Iam evaluating java web frameworks. More precisely Iam talking about GWT, JSF2 and apache wicket. One very importent criteria in this evaluation is prototyping.
The prototyping process in my company can be described by the folloing:
The customer can produce GUIs with an easy to use WYSIWYG editor, by drag&drop-ing web components on the corporate predefined website structur. There is also a need for some litte dynamic being like navigation from one frame to another.
So Iam looking for tools. These tools should not only provide nice GUIs but also deliver
some basic code, which can be forwarded to the development. The aim is to avoid missunderstandings between designers and developers as much as possible. More or less the
developers just have to implements the code, but not to implement the optical requirements.
In addition it would be desirable to customize the components thats been used in the WYSIWYG editor. Does anyone know any good tools for the mentioned frameworks (GWT, JSF2, wicket)?
One of the challenges with WYSIWYG tools for UI is that you generally have to pick between rapid prototyping and maintainable code. Even then, as soon as you want to do something that's not supported by the prototyping tool, you can implement it as you would without the prototyping tool, but your round-trip functionality (namely turning your app back into something that can be edited) is broken or crippled unless extra work is done to generate the metadata that the editor needs.
Upgrading between major releases is another issue. Vendors and groups who have developed these tools have a historically spotty record of when they stop supporting older versions, reasonably because of limited resources and sometimes difficult problems with how to track solid innovation happening in the framework itself.
My suggestion instead is to prototype with an RIA prototyping tool like Balsamiq Mockups or use a grid system like 960 Grid to generate rapid prototypes, then use a web development framework that allows your developers to run the code with or without the backend server. Wicket has a tag called that is great for this kind of thing -- web devs can fill a div with stuff that a component should generate, and Wicket devs can wrap the contents of that tag with after they implement it. Both parties can coexist for a long time that way.
Try GWT Designer for GWT.
Introduction
Quick Start Guide
Download
There's nothing like this for Wicket that I know of. The closest you would get to any kind of resource reuse from your customer would be to give them a drag and drop HTML editor - the resulting HTML could then form the basis of Wicket page/panel layout.
if you are planing to use a javascript library, you may use extjs,
http://www.sencha.com/products/js/
they have developed a nice designer
www.sencha.com/products/designer/
there is also a port of ext in GWT
www.sencha.com/products/gwt/
You have to pay for a commercial license if your application isn't open source!

Google Wave as code repository and IDE?

Is it possible to write a Google Wave plugin that turns it into an IDE for programming? With such an extension, Google Wave would be a replacement for Eclipse etc., and it would naturally be a code repository at the same time (replacing SVN, git, etc.).
Users (programmers) would be able to create code files directly in Wave and add collaborators to do pair programming etc. The whole codebase would live in a Wave folder, and an extension would do the building and compiling on the fly.
How would one go about writing such an extension?
Have you looked at the CodeRun IDE? Except for the collaboration aspect of google wave, or coding non-web apps, this might be ideal.
I expect coderun will become more collaborative as time goes on.
I like the idea and to be honest had thought of something similar myself. Stability and speed of Google Wave are valid points of course.
I see this being built over the Wave protocol than over Wave. I mean strip out some of the features of the Google Wave product but keep the underlying principles of Waves and collaboration.
i definitely would want google to get an IDE, they have mostly everything already:
- Appengine
- Appengine SDK
- GWT
- Google code
- Google apps (docs, talk, mail, sites)
They just need to put it all together in a single IDE and make it online based (webapp) with offline capabilities, maybe HTML5 or gears so you can use it no matter the browser or OS you use. Then this IDE connects to all the online tools mentioned before and you just have to write, junit test, run test, make some how-to's and wikis and commit. CodeRun is a good starter.
This is one of the first things which popped into my head when I recently watched the presentations from Google IO, and for Wave in particular. The demonstration of collaborating on the Sudoku app is a good example. The ability to replay conversations was particularly interesting and has obvious uses in developing as a team.

Advice for Beginners (Eclipse & Web Application)

I am about to start on a college project (a web application) and I have never used a full-fledged IDE such as Eclipse.
Turbo C/C++, Visual Basic 6,Java Basic, a bit of SQL, ASP, etc is the sort of exposure I have.
What things should I keep in mind before starting my project using Eclipse? Are the tools mentioned appropriate for the project?(If not please give a detailed answer)
Designing - UML (Rational Rose)
Language - Google Web Toolkit
Server - Google App Engine
IDE - Eclipse
Version Control - Subversion or Mercurial?
I would definitely recommend Googling first. There are a number of tutorials regarding Eclipse as it is a very popular IDE. A quick Google search of my own brought up all these results: developing web applications in eclipse
As for other things to consider, if you are developing a web application, you'll need:
web server (Tomcat is a popular one)
possibly a database (MySQL is an open source, easy to use DB)
language (I'm assuming you're going with Java since you are using Eclipse)
Of course, you'll also need to consider how you hook everything together and what technologies you want to use to do that. (Hibernate, Spring, etc) Eclipse itself has a ton of plugins to help bring together all these various aspects.
That list from Wikipedia is a good and comprehensive list, but if you are learning or developing on your own machine, you may not necessarily need all of that.
Hope that helps.
Since it is a web application, then start with the looks of it.
First, layout a template of how your pages should look, that is what users see. If it does not look good, the users will think the application (in its entirety) is also not good (it does not matter if the code behind the view is perfect; it will just make a first bad impression).
Start with that and be consistent with the design in all your pages. SiteMesh is a nice tool to dissociate the looks of the page from the functionality you put in it.
Then think what the application will do and what it will use:
you have a database? (use something like MySQL). With what are you going to access it? (IBatis is nice; Hibernate I think is a bit heavy weight for a first project)
you need a server: Tomcat is easy to use;
are you going for a simple Servlet/JSP approach or you want to use a framework (look at Spring or Struts);
try to find the good ways of writing the application, look at service layers, DAO pattern, DTO, MVC. Also, you must understand how HTTP works.
A lot more could be said.
Ah.. and also use a source repository. It’s a must (even if you work alone on this project).
Eclipse can handle all of these tools, but then so can Netbeans.
For your first project with GWT you should read through this tutorial:
http://code.google.com/webtoolkit/tutorials/1.6/gettingstarted.html
If you don't know Java then you will have some learning to do, and unlike Visual Studio your UI won't be just drag and drop, so it will be a bit harder than you are used to.
Subversion is fine, it is a nice source control, and any IDE will work with it.
Depending on your project would determine if GWT is the best choice though.
I expect UML may be overkill, and if you were following an agile methodology you wouldn't use it.
Your best bet is to get the UI done first, just have it appear as you want, and have some fake results, until you are happy with the look and feel.
Then, start to do the wiring to whatever you need on the backend.
Don't mean to be harping on you, but is Eclipse a must? For myself, in the beginning NetBeans turned out to be a really painless introduction to getting a web project up a running fast. I believe in the beginning one will spend a lot less time fighting the IDE with NetBeans.
A lot of the items from your bullet list NB makes super easy to ramp up as well. Just my $0.2