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