Dive into Android with Chet Haze and Romain Guy
For yours truly, this was useful interesting introduction in Android, another mobile computing platform. Romain Guy and Chet Haase talk about Android in higher level at the beginning, then they descending to into the key aspect of the platform: the Activities, the Intents and the Events. There was a lot of code in this demonstration and the presentation was at fast pace. I think there was so much here that it could overwhelming for the beginner (like me). Well you need download the Android Development Kit and then install a particular Android version and then you need download Eclipse. Finally install the Android Plugin with a software update of Eclipse. However, I have been told by other attendee that this is order of magnitude improvement on setting a mobile phone environment with J2ME or Nokia Symbian. The second half of the Android University talked about the different Canvas, Drawables, Surfaces and other bits and bombs. With Android there is a lot to learn. The two guys talk about improvements to writing Android applications, performance optimisation techniques and other development tricks. For instance, there was way to create a blur by reducing a image bitmap and up-scaling again. This is normal excitement for the authors of the Filthy Rich Client book, and yes they were asked [again] about writing an Android Filthy Rich Client book and the answer was: no, we do not have the time.
JavaFX 101 University with Jasper Potts and Richard Bair
Here was a technical session that was rather relevant to yours truly. Of course everybody knows the news that JavaFX Script was de-supported by Oracle, and Stephen Chin took ownership of the JavaFX Script Compiler and rebranded the GPL source code as Project Visagé. Oracle are now refactoring the JavaFX concept into a complete Java API. In other words developers will have a Java API to manipulate a scene-graph. This new project is called JavaFX 2.0.
Bair and Potts reveals some of the details of their current thinking on the JavaFX 2.0. In their University session they covered experimental API and that they were still thinking how to write the API. The issue here is all JavaFX scene-graph have to be properly constructed at initialisation time, because they found that binding between nodes is more efficient, if the binding is immutable. The JavaFX team thought a couple of choices:
- Builder Pattern Constructor
- Argument Constructor
- Key Value Map Constructor
The builder pattern constructor uses a static class that create an scene-graph node. This is similar to Google Guava Collection (ImmutableList, ImmutableMap and ImmutableSet). I actually like this syntax the very best, because it is easier to create a Domain Specific Language for it.
The argument constructor was a surprise genuinely. The idea is to pass in property settings using a varargs constructor. This was in two sub parts: First you can have a varargs constructor and therefore the parameters are not type safe. Second you can write a helper class that takes the parameter and return it. Therefore the argument help ensures type safety.
The third solution was to allow key value map to be passed to the node constructor. From first principles this us also a type unsafe.
The next revelation was their thoughts on the possible binding. Bair and Potts discussed the JavaFX SDK team ideas on PropertyRef property references. They claimed that the old JavaFX Script concept of triggers supplying the old value of property is mostly detrimental to the performance of binding. So they though that only ChangeValue class event should be part of the binding listener. I think this was because the cost of auto-boxing was shown to be too expensive in their research labs. Also they had a concept of a ValueModel interface where the reference to the property reference would be useful for callers. In particular, Bair, mentioned that the Java code that fired events in the scene-graph node was verbose.
Bair and Potts had some good news. The JavaFX SDK team had been hard at work since August 2010 and they had converted most of the JavaFX Script code to the equivalent Java classes. They feel still that they are schedule for a release of JavaFX 2.0 in July 2011 as mentioned in the roadmap.
The presenters laid two golden goose eggs when they showed off an alpha quality version of a HTML5 Java WebKit Pane. This component is only for JavaFX 2.0 and not for Swing. It was rather good, because it showed most of the Devoxx.com front page and the schedule. I thought this was rather decent of Oracle to show their wares in this way and maybe communication from the SDK team is getting through the Marketing at Oracle. Second, the duo ran the version of JavaFX that rendered to a browser using HTML5. They demonstrated the simple JavaFX Script sample with the Fish following the pointer inside a Firefox browser and we, the audience, could see the Firebug logging of the AJAX / scripting version. Yours truly would say this was awesome progress and we are more confident about Oracle delivering the tech in 2011
Monday BOF: Meet The Adobe Guys and RIA In The Enterprise
As a past of Macromedia Dreamweaver MX, yours truly was tempted to visit the Adobe Guys, which included Aaron Houston. When Sun Microsystems existed their community outreach program was strongly directed by Mr Houston. The discussion centred around James Ward and Michael Chaize of USA and France respectively. The audience asked many questions about the Flash platform around the availability of Flash 10.5 on the Desktop. Aaron Houston announced that Adobe Air 2.5 had just released on desktop and soon to appear on mobile devices, depending on carriers and manufacturers. James answered some questions on how to get more adoption of developers to produce more publicly facing Flex applications. It appears that the majority Flex solutions are developed behind closed doors, inside the intranet of companies or locked behind password protected sites. The evangelists were puzzled why more developers did not use the UI technology. With Flash technologies there is strong association with broadcast and streaming data, and the duo suggested that if you wanted commercial viable solutions for this, then Adobe LifeCycle server was already built and designed to supposed this requirement.
Personally, I have always been impressed by the samples and professional samples on the Tour De Flex. In terms of design and tools, Adobe wins this hands down. The UI components are very nice to see, the animations are subtle, colour schemes gentle on the eye. The examples of Flash applications running on the Samsung Galaxy Tab and other Android devices have also been impressive enough. Adobe, to my mind, are getting to rather close to overall cross-platform solution for mobile computing for good development and yes a word from a sponsor did confirm that iPhone support for Flex applications in back on Adobe’s agenda.
Tuesday BOF: Scala
Martin Odersky made a special appearance with Dick Wall and Bill Venners for this BOF on Scala, an alternative static compiled programming language for the JVM. The room was over crowded such was the popular of Scala at the moment. There lots of items discussion here from under the why the maven-scala-plugin was so brute-force and slow to compile to scala DSL’s and testing Scala. There was one memorable comment in learning Java. A BOF participant described how some of the Java developers [that he obviously was acquainted with] were no better than COBOL programmers who wrote their coding style into the Java language programs. Once could obviously paraphrase that anecdote into disgruntlement on future Scala programs.
(From left to right: Dick Wall, Martin Odersky and Bill Venners)
The fact is Scala is still shiny and brand new. It is new enough that there are not experienced people around to notice or discover any flaws in the programming language. Yes. Everything is quite rosy in the Scala garden and we should remember that there are thorns attached stems that are delicate to our kind hands. Like a rose bush it takes time to nurture Scala and developers will learn at the pace to master the functions.
Participants were asking about how to test Scala program. One person asked if there was a plugin Clover or CheckStyle available for the Scala programming language. Dick Wall mentioned that FindBugs ran fine. Your truly posed a question about debugging Scala programs. Hardly anyone used a debugger on a Scala program, apparently it is too painful. Instead developers wrote tests in Scala Test or used another framework to check their programs.
The conclusion, here, is that Scala is wide open for developers to improve the coding experience.
This is Peter Pilgrim at Devoxx 2010.Out