• Aucun résultat trouvé

by Aral Balkan

Dans le document CHRIS ALLEN (Page 29-35)

Chapter 1

Today, software is something most people buy in a box off a shelf (or download from the Web) and you’d be hard-pressed to find source code listings in computer magazines, but there is more readily available source code in the world than ever before thanks to the astronomic rise in popularity of the open source software movement.

Open source software is software for which the source code is freely available. But that’s not its only defining characteristic. In fact, the Open Source Initiative lists ten criteria that an approved open source license must meet.

The sprit of open source is the free sharing of knowledge. The ultimate goal is to create high-quality software by practicing an open and transparent development process that is subject to peer review.

These types of definitions, however, are dry, academic statements that cannot capture the character or spice of a thing. So, let’s get back to the story.

When I first started dabbling in ActionScript in the days of Flash 4 and Flash 5, I learned an invaluable amount from the knowledge shared by members of the Flash community. Flash pioneers such as Branden Hall, Sam Wan, Ted Patrick, Joshua Davis, Jared Tarbell, Ralf Bokelberg, Keith Peters, Colin Moock, Peter Hall, Charlie Cordova, and Jesse Warden taught me invaluable lessons by sharing their code, their time, and their perspectives with me and the rest of the community on their blogs and on lists such as the seminal FlashCoders.

All this is to say that the Flash Platform, from its earliest days, has always been about sharing and com-munity. In the beginning, open source on the Flash Platform was limited to sharing source code, the binary FLA files used by the Flash IDE, and (later) the ActionScript files and classes. In 2004, Nicolas Cannasse released an open source ActionScript 2 compiler called Motion-Twin ActionScript 2 Compiler (MTASC), and the character of open source on the Flash Platform was changed forever.

Having an open source compiler meant that developers on the Flash Platform were not limited to just sharing Flash code but could create their own open source development tools. The release of swfmill, an XML-to-SWF compiler, allowed developers to add assets to their Flash applications. This was fol-lowed by the creation of a fully open source development stack for the Flash Platform called AMES.

AMES stands for “ASDT, Apache, MTASC, Eclipse, swfmill”—the four open source tools that compose it. ActionScript Development Tool (ASDT) is an Eclipse plug-in for developing ActionScript code. It was the first development environment for ActionScript that gave Flash developers the professional-quality tools (such as language intelligence) that the primitive code editor in the Flash IDE did not provide.

AMES influenced the creation of the commercial Flash Development Tool (FDT) and later provided healthy competition for the Flex team at Adobe, spurring Adobe to improve its own Flex Builder.

Alongside AMES, other development tools such as FlashDevelop also surfaced at this time and are still going strong.

You can read the Open Source Initiative’s definition of open source at http://opensource.org/docs/osd.

Development tools aside, open source frameworks such as Arp, Cairngorm, and PureMVC make it easier for developers to work in teams and build scalable web applications on the Flash Platform, regardless of whether they are using open source tools, the Flash IDE, or Flex.

The birth of OSFlash.org, a hub where open source developers could meet, plan, and build their proj-ects, coincided with the “tipping point” in open source development that was spurred on by the release of MTASC and swfmill. OSFlash became an incubator that led to the creation of new open source software on the Flash platform. I remember the days when Red5 was nothing more than an idea voiced by John Grden on the OSFlash mailing list! What’s most special about OSFlash for me is that it led to the formation of lasting friendships, companies, and even a rock group!

Fast-forwarding to the present day, some of the most exciting technologies on the Flash Platform are open source. These include Papervision3D, the simple and powerful 3D library that made 3D feasible on the Flash Platform; Red5, the open source server that handles streaming audio and video and real-time shared objects; SWX, the native data format for the Flash Platform; and, with Flex 3, the Flex SDK, including the Flex compilers, as open sourced by Adobe.

You will read about many of these technologies, and others, in the rest of this book, many times from the actual authors and contributors to the projects. The contribution of the open source community to the Flash Platform has been and continues to be immense. And what a lovely community it is too.

Open source is about sharing knowledge and furthering the state of the art. I hope that this book helps you start on your own journey of knowledge. And once you’re ready, I hope that you too share what you have learned, and the wonderful things you have created, with others. You can start getting involved today by joining OSFlash’s mailing list and saying “hi.”

Today, we stand on the brink of a web application revolution with Google’s recent announcement of Google App Engine, a massively scalable, integrated development and deployment platform that per-fectly complements the toolsets—both open and closed source—that we have on the Flash Platform.

This is truly an exciting time to be creating web applications, and the tools and servers you will be reading about in this book are at the cutting edge of web technologies today.

Welcome to the revolution. Welcome to open source Flash. I hope you enjoy the journey!

The following links should help you get started on your journey in the world of open source Flash. Remember that you can almost always find information about an open source Flash project by going to http://osflash.org/<project name>

(for example,http://osflash.org/papervision3d).

OSFlash:http://osflash.org

OSFlash Mailing List:http://osflash.org/mailman/listinfo/

osflash_osflash.org

The GAE SWF Project:http://gaeswf.appspot.com

Google App Engine:http://code.google.com/appengine/

Papervision3D:http://osflash.org/papervision3d

Red5:http://osflash.org/red5

SWFAddress:http://www.asual.com/swfaddress/

PyAMF:http://pyamf.org/

Fuse:http://osflash.org/fuse/

GoASAP:http://osflash.org/goasap/

SWX:http://swxformat.org

AMFPHP:http://www.amfphp.org/

MTASC:http://mtasc.org

swfmill:http://osflash.org/swfmill

AMES:http://osflash.org/ames

FlashDevelop:http://osflash.org/flashdevelop

ASDT:http://osflash.org/asdt

PureMVC:http://puremvc.org/

Arp:http://osflash.org/arp

Cairngorm:http://labs.adobe.com/wiki/index.php/Cairngorm

In this chapter, you will get a brief introduction to some of the open source tools that are available, including both the projects covered in the rest of the book and some other noteworthy projects worth checking out on your own. We’ll cover three major categories of tools:

Development tools Libraries and toolkits

Back-end, server-side technologies

These tools come from two major sources: the general open source community, which is often centered on the OSFlash.org website, and the open source initiatives that originated at Adobe to help further the Flash Platform. In this chapter, we’ll look at the tools broken down by these two main contributors.

Dans le document CHRIS ALLEN (Page 29-35)