Android is a modern, open source operating system and SDK for mobile
devices. With it you can create powerful mobile applications. This becomes
even more attractive when your applications can access Web services, which
means you need to speak the language of the Web: XML. In this article, you
will see different options for working with XML on Android and how to use them
to build your own Android applications.

This series explores the popular CoffeeScript programming
language, which is built on top of JavaScript. CoffeeScript compiles into
JavaScript that is efficient and consistent with many best practices. You can
run this JavaScript in a web browser or use it with technologies such as
Node.js for server applications. In previous parts of this series, you learned
the benefits of CoffeeScript, set up the development environment, exercised
many of the features, and wrote the client-side code for a real application
using CoffeeScript. In this final part of the series, it's time to write the
server-side CoffeeScript.

This series explores the popular CoffeeScript programming language, which is
built on top of JavaScript. CoffeeScript compiles into JavaScript that is efficient
and consistent with many best practices. You can run this JavaScript in a web browser
or use it with technologies such as Node.js for server applications. Part 1 of this
series explained how to get started with CoffeeScript and explained the perks for
developers. Part 2 described how to use CoffeeScript to solve several programming
problems. This article explains how to create a complete application using CoffeeScript.

There's a lot of hype and fuss about CoffeeScript, a new programming
language built on top of JavaScript. CoffeeScript offers a clean syntax that should
appeal to those who like Python or Ruby. It also provides many functional programming
features inspired by languages such as Haskell and Lisp. CoffeeScript compiles into
efficient JavaScript, and in addition to running
the JavaScript in a web browser, you can use it with technologies such as Node.js for
server applications. In this first article of a four-part series, get started with
CoffeeScript and learn about the perks for developers. You will set up the
CoffeeScript compiler and use it to create code that's ready to run in a browser or server.

Web applications have been supplanting desktop applications for
many years despite the fact that they are generally of lower quality than
their desktop counterparts. Part of the reason for this discrepancy is the
comparatively greater capabilities of desktop applications for running inside
a browser. However, the feature and performance gap has shrunk rapidly with
the recent advances in modern browsers and their implementation of the HTML5
specification. The other major reason has been that web developers have had to
make do with much lower-level APIs than desktop developers. Cappuccino changes
all of that by bringing the renowned Cocoa framework to web development, which
makes it an especially attractive choice for mobile web developers. Decide for
yourself if Cappuccino is a good fit for your next great mobile web
application.

Web applications have evolved significantly and are taking another leap forward with the advent of mobile web applications. Now more than ever, web applications are expected to provide a native experience -- one that is on par with native mobile applications. Though mobile web browsers provide the capabilities to make this possible, web development is still primitive when compared to native application development. SproutCore is a web application framework that aims to make developing for the web similar to developing a native application for a particular device. Explore SproutCore and examine it as a framework for building mobile web applications.

The Clojure programming language has gained a lot of attention
recently. The attention, however, is not for some of the obvious reasons, such as it being
a modern Lisp dialect or that it runs on top of the Java Virtual Machine. The features that are drawing many people to it are its concurrency features.
Clojure is perhaps most well known for supporting the Software Transactional
Memory (STM) model natively. STM, however, is not always the best solution for every
concurrency problem. Clojure includes support for other paradigms in the form
of agents and atoms. This article examines each of the concurrency
approaches that Clojure provides and explores when each is most
appropriate.

Understanding your business is always important. Your company
can be as agile as you want it to be, but if you do not know the right moves to
make, you are driving with your eyes closed. Business intelligence solutions
can be prohibitively expensive, and they often require you to retrofit your
data to work with their systems. Open source technologies, however, make it
easier than ever to create your own business intelligence reports. In this
article, the first of a two-part series, learn how to crunch your
existing data using Apache Hadoop and turn it into data that can be easily fed
to a web-based reporting application.

Developing a rich application for manipulating large amounts of
data used to be the exclusive domain of desktop applications. Now it can be
done in a web application, and you don't have to be a JavaScript guru to do it.
Learn how to use the Dojo toolkit to create eye-popping, data-centric web
applications and hook them up to a back end based on the JavaEE
standards such as JAX-RS and JPA. These technologies allow you to leverage
convention over configuration principles to easily wire together complex
applications in no time at all.

Many of your Android applications will need to interact with Internet data, which comes in a variety of formats. In this article, build an Android application that works with two popular data formats -- XML and JavaScript Object Notation (JSON) -- as well as the more exotic protocol buffers format from Google. You'll learn about the performance and coding trade-offs associated with each format.

Developing for mobile devices has been a high cost, low return
proposition for many years, despite the hype around it. The latest generation
of smartphones powered by the iPhone OS and Google's Android provide a much
simplified solution: just build Web applications. This gives you a one build for
all devices approach, which can lower the cost. Even better, these high-end devices
all offer ultra-modern browsers supporting advanced HTML, JavaScript, and CSS.
In this article, learn how to build Asynchronous JavaScript and XML (Ajax)-heavy applications that take
full advantage of the capabilities of modern smartphones. You will learn not
only how to get the most out of these devices, but also how to deal with the
subtle differences between them.

Do you want to quickly build a Web application that can be maintained, or worked on, by
other people? Google Sitebricks lets you rapidly
develop Web applications that are built to last. Sitebricks uses dependency
injection to do away with boilerplate code. It leverages type safety and inference to check
the correctness of your application, so you catch problems at compile
time instead of run time. In this article, learn how to build Web
applications powered by Google Sitebricks.

Lisp is a programming language known for its expressiveness and power,
but it was often thought of as not being well suited for general use. That has
all changed with Clojure, a Lisp dialect that runs on the Java platform. Now
you can harness the power of Lisp anywhere that you have a Java Virtual
Machine handy. In this article, you will see how to get started with Clojure,
and learn some of its syntax, as you take advantage of the Clojure plug-in for
Eclipse to help you along the way.

As you create cross-platform desktop applications using XUL, you also can
enhance your skills with JavaScript, CSS, and even HTML. XUL's cross-platform
capabilities are not a collection of least common denominator features. Instead,
XUL gives you the kind of power that you might expect from a desktop application
toolkit, including access to native threads. You can even access native threads
directly from JavaScript, writing code that executes in parallel. In this article,
you will examine the multithreading capabilities of XUL, and create an application
that uses multiple threads to retrieve data. You will take a classic IO-bound
application, one that accesses multiple remote data sources over the Internet, and
speed it up through multiple threads in XUL. The application will allow users to
view and compare anonymous results of three popular search engines: Google,
Yahoo, and Bing from Microsoft(R).

The Android operating system provides a powerful, open platform for
mobile development. It leverages the power of the Java programming language
and the Eclipse tools platform. Now you can add the Scala programming language
to that mix. In this article, you will see how you can use Scala as the
primary development language on Android, allowing you to write mobile
applications using a more expressive but also more type-safe programming
language.

Explore the different implementations of
developing with Comet. See how popular Java Web servers like Jetty
and Tomcat have enabled Comet applications, and learn how to program with each server.
And finally, learn about the standardization proposals for Comet in
Java that are part of the upcoming Servlet 3.0 and JavaEE 6
specifications.

You've picked the perfect cloud computing platform for your
needs, and you have a well-designed application to run on it. The
hard part is done, right? Not so fast. You still need to consider all
the things you'd typically worry about if the application was
for your own servers: deployment, testing, and monitoring. This might be
intimidating, since your application will
run on somebody else's machines (which you might not have access to, or know
much about).
In this final part of the "Realities of open source cloud computing" series,
learn about several open source tools and technologies to help you administer your
application in a cloud.

You've probably heard the phrase "Write once, run anywhere." But if
you want to write for an application that runs in a cloud, you really have to know
what you're doing. In Part 2 of this "Realities of open source cloud computing" series, learn
how to write an application using PHP to run on the Aptana cloud computing
platform. Explore some of the critical design differences between a cloud application and a
traditional N-tier application. The concepts are illustrated
with a seemingly simple application, using familiar open source
technologies, that taps into the strengths of cloud computing.

Your CTO wants to know your cloud computing strategy -- and
wants to know it tomorrow. There are a lot of choices, with many
differences and similarities. This article explores some of the
options for an organization that wants to leverage the power and
promise of cloud computing, with a focus on open source
technologies. Learn about several of the providers, such as
Amazon, Microsoft, Google, IBM, Aptana, Heroku, Mosso, Ning, and
Salesforce. Review the relative strengths and weaknesses of
each platform, and what types of open source and proprietary
technologies are supported on each platform. Learn how to pick the platform that fits your needs.

Web applications have gotten more and more advanced, and users are always
expecting more out of them. One of the most advanced features is Comet, also
known as reverse Asynchronous JavaScript and XML (Ajax) or server-side push. Comet allows for browser-based instant
messaging, real-time stock quotes, and so on. Advanced Ajax libraries, such as
jQuery, make
it easy to write Comet applications on the client side, but getting them to scale
on the server is still a challenge. That is where the Scala programming language
and the Lift Web application framework can step in and deliver a scalable
back end for your Comet application. In this tutorial, build a
real-time Web auction using these technologies.

The ECMAScript for XML (E4X) standard gives JavaScript developers a powerful API to work with XML. As it is not supported in Internet Explorer, you might not get to use it often. That is not an issue if you use JavaScript on the server with Jaxer. In this article, you see how JavaScript and E4X make it easy to work with XML on the server. Combine this key ingredient with Jaxer to create Ajax applications using nothing but JavaScript.

Rich Internet Applications (RIAs) promise the dynamism and functionality of
desktop applications through the browser. One of the key characteristics is
moving your presentation layer to the client and backing it with a robust
RESTful service layer on the server. This idea is being popularized with
buzzwords like SOUI (Service Oriented User Interface) and SOFEA (Service
Oriented Front End Architecture). In this article, the first of a two-part series, you
will see how simple it is to create a Web service back end using Groovy's
Grails Web application framework, and you will hook it up to an RIA developed
with Adobe's Flex framework.

People love Ajax applications so much that they are willing to use them instead
of their desktop equivalents. The only problem occurs when they fail to have network
access. This is when an offline feature is necessary. Apache Derby is a great option
for enabling offline access to Ajax-powered applications. Learn how to use Apache Derby
as a local data store that can be used to take your Ajax application offline.

Ruby on Rails has raised the bar in terms of rapid development of data-driven
Web sites. The JRuby project is making Ruby faster and more scalable than ever. One of
the great advantages to running Rails on the Java Virtual Machine is that you can
leverage other Java libraries, like the Apache Derby embedded database. The combination
of Derby, JRuby, and Rails allows for rapid prototyping of dynamic Web applications. Learn how to use these technologies together to help you prototype your next great idea.

Social networks are making it easier to take data and mash it up to create
innovative Web applications. You still, however, must deal with all the usual issues
with creating a scalable Web application. Now the Google App Engine (GAE) makes that
easier for you. With it, you can forget all about managing pools of application servers,
and, instead, you can concentrate on creating a great mashup. In this article, the
last of a three-part "Creating mashups on the Google App Engine using Eclipse" series, we will take the
application built in the first two parts and further enhance it. We will add the
ability to view other users of the app and subscribe to their aggregate feeds. We
will then complete the mashup circle by exposing the app as a Web service that can be used by other mashups.

We find Web services everywhere today. There's a good chance you will need to
create Web services for whatever new applications or features you are developing. And it
was not too long ago that this could be a painful proposition. WSO2 realized this and
created an Eclipse plug-in to help make working with Web services easier. This article
explores the WSO2 Web Services Application Server (WSAS) Eclipse plug-in and how it can
help you develop Web services.

When most people think "Eclipse," they think "Java IDE." Eclipse is much
more. With the proper plug-ins, one can use Eclipse to work with PHP, Ruby,
and Groovy, C, and C++. In this article, you get started with the Eclipse
C/C++ Development Toolkit (CDT). We build a simple application in C++ using
the CDT and the C++ Standard Template Library (STL) to streamline the process
and take advantage of some of the powerful features of C++.