Hi Peter I suspect that the point may not have been clear enough on the podcast - it got quickly bogged down in advocacy (which was kind of the point - I guess I was in the mood to stir things up). Here are the problems I see right now with each of the Google "Java" technologies, having been spoilt by a good deal of compatibility (at least for Java SE) for years:
GWT - Concentrates on the Java source code, compiles to JavaScript. It's a neat idea, but flawed (indirectly I have had trusted engineers complain that tracking down bugs can be extremely difficult when you get an empty stack trace and a null message on a failure for example). Perhaps more of an issue for my particular interests right now are that GWT will not let me write an app in Scala, whereas I can do that assuming I have a compatible Java environment anywhere else. GAE - I used to be a Developer Advocate for GAE before I left Google. I think it is also very clever technology but with too many limitations. It can indeed run byte code, but limits threads and background processing, two things I believe are kind of critical for serious server side development. These limitations leak over into library abstractions, for example the Lift (Scala) actors had to be re- written before they could work on app engine, and I know other languages and frameworks had to go through similar things. Another issue I found recently was attempting to port a fairly simple mandelbrot JAX-RS example given to me at Devoxx last year - I could not do it because one of the libraries used relied on a small (seemingly unimportant) interface in AWT, but of course AWT is not available in App Engine. It's easy to say that AWT is not needed for a web framework, but it's also easy to believe that some of the AWT utility classes have found usage in all sorts of frameworks, so if it is suddenly not available that breaks compatibility. Android - I also used to be a Developer Advocate for Android. I think Android makes the most sense of the three platforms, and I would love to see Google and Sun work towards making Android a real Java profile (taking over from CDC perhaps) since they have some nice technology in the Dalvik engine. I think with Android, the proof will be when we see JavaFX available for it - we have seen it work as a demo at J1, and given the aims of Android that Java tooling is important (as are developers), it would make sense that the nice new designer tool and JavaFX development goodies should be able to target android phones as well as all the other Java devices out there. If we see it, that's great. If not, Android is just another platform getting throwing up barriers to compatibility. I am in no way saying that Google should do anything other than what they are doing, but I do think developers should go into decisions about what technology to use with their eyes wide open. For the record, I am seriously tempted by the HTC hero as a potential next phone (I could make apps for it in Scala). On the other hand, I am hearing rumors (note, RUMORS) that Hero is none-too-popular for some inside of Google because they created their own UI for the device. Stuff like that is going to happen when you have an open platform - hopefully it is open enough that we will see JavaFX for it too. Cheers DIck On Jun 30, 9:49 am, Peter <[email protected]> wrote: > After listening to the google doesn't get java episode, i was left > with the impression that app engine, like gwt, only works with Java > source and not bytecode. (this wasn't explicitly stated, but I felt it > was implied, especially when it was mentioned that android was 'not as > bad' because at least it let you run bytecode) But in fact app engine > is designed to run <your favorite language> generated byte code quite > happily. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/javaposse?hl=en -~----------~----~----~----~------~----~------~--~---
