Answered: Using the Sencha Eclipse plugin in an existing project
I have an Eclipse project that was created using the Google App Engine plugin, all of the web-services are pretty much setup as I planned.
Now I would like to add some ExtJS code, but after following the steps for setting up the plugin, it tells me to create a new VJET project. Is there no way to convert/upgrade an existing project to work with the Sencha / VJET plugin?
SA will definitely generate what you need. You will create a SA project and move it into your existing project folders (or have two projects in an Eclipse workspace).
My experience is that SA is a tremendous help when working with ExtJS (or Sencha Touch) but SA and the VJET plugin don't play along well enough. You can open any ExtJS (or ST) project in both Eclipse and SA just fine. However SA does not support adding comments to functions and references. This is a problem when working with the VJET plugin because all its magic comes from interpreting the VJETDOC comments you add. Because SA does not know about comments at the moment it overwrites any function level comments you add while using Exclipse.
On the otherhand, SA has offers very little coding assistance so the plug-in does help when writing code *in* functions you've created using SA. Of course comments within a function *are* retained by SA so you are at least able to copy the parameters to local variables which you are then able to decorate with VJETDOC comments so the plug-in is able to offer code completion hints.
I don't know why this would be a problem. I don't use a servlet engine but .war files are only zip files which are built by the IDE. I'm sure there will be an option to include 'external' files so the manifest is correct but it's not going to be much effort to create a process to do this.
Sencha hosts their ExtJS releases so if you do not want to include the ExtJS (or ST) files, you can reference them on the Sencha site.
SA generates a 'app.html' file. In my environment the essence of this file (references to ExtJS files, stylesheet files, js files, etc.) are copied into the main index.html where they sit alongside all the other references. For example, sometimes ExtJS is used to provide specific functionality inside a page rather than be the whole page.
<<Any advice on best practices for targeting multiple platforms>>
There's lots of information on the Sencha site and I don't consider myself an expert. However, can offer these comments. ExtJS and Sencha touch are the same at a philosophical level and even share a good amount of code. But they are different because the controls available on the desktop and mobile devices are different. If you are looking for wide ranging mobile support then you are likely looking at a single development. If you are looking to support desktop browsers then, again, you are looking at a single development. However, if you are looking to support mobile and the desktop then you will be looking at two developments.
Components such as stores and models could be (are likely to be) the same across both developments. However while the structure of the mobile and desktop apps are going to be similar, the view and controller implementations are going to be different.