If you are brand-new to coding, I would not use GWT. I would start
with HTML/CSS/Javascript. Many folks start their coding careers there
(and many many stay there because they love it). You can get started
quickly and the learning curve is not so steep. The learning curve on
GWT or even Adobe Flash is very steep at the start. If you are doing
a news app, html/css/javascript is probably very appropriate. Note
that Javascript and GWT are designed for creating browser delivered
UI's, but you can package them up using various technologies to create
an application suitable for the app store and android market.
I use Flash Builder and the Adobe Flex Framework for most of my client
UI work and I love it. I decided to use it about 2 years ago, before
GWT was really solid and HTML5 was viable (perhaps it's still not
quite viable yet). The tooling is very good and the Flex framework is
really outstanding. The Flex framework includes an xml based
declarative UI system (mxml) which is really nice for building quick
apps. You can graduate to ActionScript3 to do more significant
logic. You can package your app for a browser or for iOS or Android
devices (and Blackberry Playbook tablet). So, this would be a pretty
good choice for your client UI as well.
GWT is a truly great set of tooling and it gets better and better with
each release. If I were to choose UI tooling for myself today, I
would choose GWT because it provides great tooling and path to all the
devices I want to target now and in the future. However, I have been
doing software engineering for 25 years and I know Java well, so the
learning curve is not so bad for me. I would not recommend GWT to
someone just learning how to code.
On the server side, GAE is a good choice - you don't have to worry
about hardware and scaling. However, I would probably choose Python
because the learning curve is less steep than Java. (PS: I use Java
GAE it is is very good, my recommendation is based on your experience
level, not the quality of Java GAE). There are lots of entry level
resources for the Python language and the server side framework makes
coding many scenarios easier than Java.
On the server side, you might also look at CouchDB. This is a
distributed database that is accessed via RESTful api's and extended
using Javascript. This is a really, really fine solution that makes
it easy to create a server that is primarily about saving and
retrieving data. You can set this up on your own machine to see how
it works. Some folks are combining this with another javascript
server technology, called node.js, to create a complete server
solution that is programmed in Javascript. You can probably find
hosted versions of this combination, so you won't have to setup
servers.
So, more to your question, "How do I code the application so that it
functions with the interface?". I create what are referred to as Rich
Client Applications (RIA). The client is basically a full application
(not a set of pages, like a traditional website), that asks the server
for data and then uses it to drive the client UI. When the client
wants to save data, it sends it to the server and the server stores it
in a database. In my case, the server is pretty simple (as servers
go), in that is simply saves data that the client gives to it and
gives it back when the client asks for it. I 'expose' the server as a
set of RESTful api's that return the data as XML or JSON (note that
CouchDB does this as well). I like this architecture because it
clearly separates the client and server. By creating a RESTful server
api that uses the HTTP standard, I can use ANY client technology to
talk to it (javascript, GWT, Flex or ObjectiveC are all doable)
Moreover, I can use any server technology to implement the RESTful
server api. Basically, I give myself much more flexibility because
the client and server technologies are decoupled, so as the world
changes, I can change with it. Also, this lets me integrate with 3rd
parties much more easily.
I hope this helps. Good luck. Coding is the second most fun thing in
the world.
On May 19, 10:39 pm, Daniel Nieblas
wrote:
> Hi my name is Daniel, I'm new to coding, so everything literally feels like
> a foreign language at this point, but I decided to start learning because
> I'm interested in developing a news app for smartphones and tablets.
>
> Anyway i'm using the Java version of the GAE SDK and was wondering how
> exactly does coding incorporate commercial-based software. Im saving up to
> buy Adobe InDesign CS5.5 so that I can create the user interface for the
> app, but I'm not sure how exactly that works itself out in relation to
> coding the app itself.
>
> How do I code the application so that it functions with the interface?
>
> thanks for helping out:)
--
You received this message because you are subscribed to the Google Groups
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-java@googl