Rich-client technologies permeate not only browser-based applications, but the more traditional desktop client as well. In this interview with Artima, Rob Christensen, Adobe's product manager for AIR discusses the reasons for creating rich-client desktop applications, and how Adobe's AIR platform enables Web application developers to deploy their apps to users' desktops.
The JVM's promise of write once, run anywhere works most of the time. But it can also make programmers complacent about cases where the WORA promise fails, says Gwyn Fisher, CTO of Klocwork, maker of the eponymous code analysis tool. One such case is resource management, where the JVM's latent garbage collector necessitates that developers think about the machine behind the VM. In this interview with Artima, Fisher describes cases where well-known Java APIs work differently based on deployment platform, and how well-defined type systems can make resource management more reliable:
Clustered applications scale in part by relying on the clustering environment to distribute workload. As a result, load-testing a clustered application must also test how well the clustering infrastructure handles growing workloads. Virtualization can make that task simpler, since virtual server instances allow you to mimic a large cluster environment on a handful of physical nodes. However, as Ari Zilka, co-founder of Terracotta, points out in this interview with Artima, stateful applications need special attention during load-testing, since the clustering infrastructure also needs to scale the management of application state. In this interview, Ari Zilka discusses various techniques to load-test a stateful application on a cluster, and highlights features of the open-source Terracotta clustering environment that make such load-testing even simpler. Finally, he talks about heavily disk-bound workloads, and how Terracotta FX can make them scale better on a cluster:
The workflow between designers and developers is a crucial aspect of developing rich-client applications. In this interview with Artima, Shafath Syed, Adobe's group product marketing manager, and Steven Heintz, Adobe's principal product manager, discuss the differences in how designers and developers approach rich-client application development, and how Adobe's Flash Builder 4 and Catalyst tools can make their interaction more effective.
In this interview with Artima, Rodney Carvalho, founder or ScrumNinja, shares his experiences with Scrum, an agile development methodology.
In this interview with Artima, Gil Tene, CTO and co-founder of Azul Systems, explains why Java applications typically use only a few gigabytes of memory, out of possibly tens of gigabytes available on commodity servers.
by Martin Odersky, Lex Spoon, and Bill Venners, June 1, 2009
This article describes a technique for overriding the
equals method that preserves the contract of
equals even when subclassses of concrete classes add new fields.
by Bill Venners and Frank Sommers, May 25, 2009
Martin Odersky talks with Bill Venners and Frank Sommers about the mechanics and purpose of pattern matching in Scala.
In this interview with Artima, Anil Channappa, product manager for Adobe's open-source BlazeDS project, discusses various ways to arrange data communication between a Flex client running in the Flash Player and server-side frameworks, such as Spring.
by Bill Venners and Frank Sommers, May 18, 2009
Martin Odersky talks with Bill Venners and Frank Sommers about the design motivations behind Scala's type system.
by Frank Sommers and James Ward, May 12, 2009
Having to write less code to implement a given feature often improves developer productivity: less code means less bugs, less tests to write, and less artifacts to maintain. Just as recent advances in rich-client technologies reduce boilerplate code on the client, new languages targeting the Java Virtual Machine can yield similar benefits on the server. This article illustrates how Flex on the client, combined with Scala on the server, results in a highly effective client-server development model. The article also shows a way to use the Java Persistence API (JPA) from Scala code.
by Bill Venners and Frank Sommers, May 11, 2009
Martin Odersky talks with Frank Sommers and Bill Venners about the compromises and most important goals in Scala's design, its object-oriented innovations, and what's in it for you.
by Bill Venners and Frank Sommers, May 4, 2009
Martin Odersky talks with Bill Venners about the history that led to the creation of the Scala programming language.
The second part of a two-part series on progressively enhancing an enterprise Web application with Flex, this article describes Flex's ability to interact with a variety of server-side data sources, including fetching JSON and XML via HTTP, and invoking server-side Java objects from a Flex client.
Rich-client technologies can be analyzed according to how easy, or difficult, they make enhancing an existing enterprise application with rich-client features: a more interactive user interface and better use of a client's computing resources. This article series introduces five techniques to progressively enhance an existing enterprise application using Flex. The examples start with a non-intrusive way to replace an HTML table with a high-performance Flex datagrid, and culminate in integrating a Flex client with an enterprise Java message queue.