Friday, November 27, 2009

Foundation Flex for Developers or Mastering Dojo

Foundation Flex for Developers: Data-Driven Applications with PHP, ASP.NET, ColdFusion, and FDS

Author: Sas Jacobs

Flex is a very powerful and versatile technology for creating web application front-ends. But what every good web application needs is a robust data source, be it XML, or a database. Flex is very adaptable in terms of connecting to data sources, and that is the main focus of this book.
In Foundation Flex for Developers, Sas Jacobs assumes that you've got the basics of Flex down already, and explores in detail how to create professional data-centric Flex 2 and Flex 3 applications. In the first half of the book, she starts off with a brief exploration of Flex and ActionScript 3.0, before looking at application essentials in detailcreating custom components, user and web browser interactions, binding, formatting, and validating data, debugging, and more.
In the second half of the book, the focus is on connecting Flex to data sources, and covers XML, Flex Data Services, PHP, ASP.NET, and ColdFusion in detail, via a series of step-by-step case studies.

  • Covers Flex application basics
  • Covers connecting Flex 2 and Flex 3 to a variety of Data Sources
  • Includes several complete case studies.


What youll learn
  • How to create custom components
  • How to handle user and web browser interactions
  • How to debug Flex 2 applications
  • How to bind, format, and validate data
  • How to load and write external content
  • The essentials of XML, and working with it in Flex 2, including E4X
  • The essentials of Flex Data Services
  • How to build up data-driven Flex 2 applications with PHP, ASP.NET, and ColdFusion backends


Who is this book for?
This book is forany Flex developer who knows the basics of building Flex UIs, and wants to learn how to connect their applications to data sources.



See also: Prenatal Yoga for Conception Pregnancy and Birth or Complete Natural Medicine Guide to Breast Cancer

Mastering Dojo: JavaScript and Ajax Tools for Great Web Experiences

Author: Rawld Gill

Imagine a true thin-client web application environment, with no browser incompatibilities, no plug-ins, and an interface that's close to a desktop app. You can have it all, today. Welcome to the Dojo Toolkit: a set of client-side JavaScript tools that help you build better web applications.

Mastering Dojo walks you through the whole range of modern web programming problems, from bringing simple web pages to life with widgets and animation to designing and building an enterprise-class, single-page Rich Internet Application.

Dojo blurs the line between local, native applications and browser-based applications; the browser becomes the user interface platform. "Modern" browsers provide an incomplete, inconvenient, and incompatible programming environment, but Dojo eliminates these problems.

You'll get the whole story: from basic usage to advanced idioms; from a fast-moving tutorial to all the details on Dojo Core. See how you can modularize your project for development and automatically package your release for optimal download performance. You'll also learn how Dojo: augments the core JavaScript library, fixes the JavaScript event system, simplifies DOM programming, has a complete class definition facility, includes a powerful remote scripting (XHR) framework, ...and much more.

You'll love using Dojo's HTML user interface control widget system, Dijit. See how to use more than forty widgets, including the powerful tree and grid controls. Turn the browser into a rich development environment with Dojo.

About the Author:
Craig Riecke is a Dojo committer and a writer and editor for the Book of Dojo, Dojo's online documentation. He is currently manager of applicationdevelopment for CXtec in Syracuse, New York

About the Author:
Rawld Gill has served as chief architect of five major lines of commercial, enterprise-class software targeted at the pharmaceutical industry over the past twenty-five years. He is currently president of Vista Information Technologies

About the Author:
Alex Russell is the project lead for the Dojo Toolkit and president of the Dojo Foundation



Table of Contents:

1 Introduction 1

1.1 Key Aspects of Dojo 4

1.2 Using the Book 7

1.3 Acknowledgments 9

I Ajax the Dojo Way 11

2 Powerful Web Forms Made Easy 13

2.1 What Customers Are Saying About Your Form 14

2.2 Installing Dojo on Your Own Server 14

2.3 Adding Dojo and Dijit to a Page 15

2.4 Laying Out the Form 19

2.5 Improved Form Controls 24

2.6 Wrapping It Up 27

3 Connecting to Outside Services 31

3.1 Dojo Remote Scripting 31

3.2 JavaScript Idioms for Calling XHR 33

3.3 A Wish List with dojo.data and dojox.grid.Grid 39

3.4 Researching Cigars Using JSONP 49

3.5 Reviews with dojo.xhrGet 56

3.6 Errors and Debugging 60

II The Dojo APIs 63

4 Dojo In Depth 65

4.1 Modularizing JavaScript 65

4.2 Dojo Source Code Organization 69

4.3 Loading Dojo 72

5 JavaScript Language Extensions 77

5.1 Binding with dojo.hitch 77

5.2 JavaScript 1.6 Array Methods 84

5.3 Support for Polymorphism 88

5.4 Combining, Structuring, and Copying Objects 90

6 Asynchronous Programming 95

6.1 Programming DOM Events with Dojo 95

6.2 Connecting to User-Defined Events with Dojo 111

6.3 Publish-Subscribe 114

6.4 Managing Callbacks with dojo.Deferred 117

7 DOM Utilities 135

7.1 Core Dojo DOM Utility Functions 135

7.2 Finding and Editing Nodes 140

7.3 Inserting, Moving, and Deleting DOM Nodes 153

7.4 Positioning DOM Nodes 156

7.5 Animation 163

8 Remote Scripting with XHR, script, and iframe 173

8.1 Native Remote Scripting 173

8.2 Using the Dojo XHR Framework 175

8.3 Remote Scripting with script 194

8.4 Remote Scripting with iframe 202

8.5 Leveraging Remote Scripting to Access Web Services 206

8.6 Bookmarking and the Back Button Without Navigating 213

9Defining Classes with dojo.declare 221

9.1 Why Use Object-Oriented Programming in JavaScript? 221

9.2 Defining a Simple Class 222

9.3 Defining a Subclass with Single Inheritance 230

9.4 Mixins and Multiple Inheritance 235

9.5 Preprocessing Constructor Arguments 244

9.6 Resolving Property Name Clashes 248

9.7 Two-Phase Construction 251

9.8 Creating Custom Objects Without Constructors 253

10 dojo.data 257

10.1 The Big Picture 258

10.2 dojo.data and Incremental Search 265

10.3 Partitioning with QueryReadStore 269

10.4 Calling Read Methods from JavaScript 272

10.5 A Yahoo Search Driver 277

11 The Dojo Loader and Build System 283

11.1 The Big Picture 284

11.2 The Dojo Loader 287

11.3 Optimizing Deployment with the Dojo Build System 296

11.4 Compressing JavaScript Resources with Dojo-Rhino 310

III Advanced Dijit 315

12 Scripting Widgets 317

12.1 What Exactly Is a Widget? 317

12.2 Finding and Manipulating Declarative Widgets 320

12.3 Creating Instances Programmatically 325

12.4 Extension Points 329

12.5 Example: Live Forms 336

13 Tree 339

13.1 A Simple Tree 339

13.2 Hierarchical Data Stores 342

13.3 Extension Points 347

13.4 Manipulating the Tree 349

13.5 Drag and Drop 354

14 Grid 365

14.1 Grid Display and Design 366

14.2 Programmatic Structures 371

14.3 Extension Points 374

14.4 Cell Editing 384

14.5 Grid Manipulation 388

15 Form Controls 393

15.1 Form Control Features 393

15.2 Streamlined Editing 396

15.3 Feedback 404

15.4 Dates, Numbers, and i18n 408

15.5 Action Buttons, Toolbars, and Menus 417

15.6 Ally 420

16 Dijit Themes, Design, and Layout 427

16.1 Theme Structure 427

16.2 Changing Look and Feel 434

16.3 Ally and Themes 439

16.4 Panes: ContentPane and TitlePane 441

16.5 The Alignment Container: BorderContainer 446

16.6 Stack Containers 450

17 Creating and Extending Widget Classes 455

17.1 Widget Classes Using dijit.Declaration 456

17.2 Widget Classes Using dojo.declare 461

17.3 The Widget Life Cycle 466

17.4 Extending Widgets 469

17.5 Example: A Yahoo Answers Widget 470

IV Rich Internet Applications 477

18 Building a Rich Internet Application 479

18.1 The Big Picture 479

18.2 Step 1: Create the Application Skeleton 488

18.3 Step 2: The Main Menu and Command System 493

18.4 Step 3: A Custom Statusbar Widget 501

19 Adding Dynamic Content to an RIA 507

19.1 Step 4: The Navigator Pane and On-Demand Data Store 507

19.2 Step 5: Workspace Objects 517

20 Going Forward 531

20.1 Foundations 531

20.2 Graphics 533

20.3 Dojo Data and Storage 534

V Appendixes 535

A Bibliography 537

Index 539

No comments:

Post a Comment