Backbase 4 RIA Development
eBook - ePub

Backbase 4 RIA Development

Ghica van Emde Boas, Sergey Ilinsky

Share book
  1. 488 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Backbase 4 RIA Development

Ghica van Emde Boas, Sergey Ilinsky

Book details
Book preview
Table of contents
Citations

About This Book

In Detail

Backbase is a very powerful and complex JavaScript library, with many user interface components to help make web development easier. It allows the development of Rich Internet Applications (RIA) that run within all major browsers but its powers and complexity mean that the choice of component can be overwhelming. Understanding when and how to use the right component might not always be straightforward. This book makes that easier.

This is a practical book that teaches you how to use the Backbase Client Framework effectively, with a complete overview and many examples. A core developer of the framework puts the technologies used into a wider perspective of existing web standards and a seasoned software architect explains why XML-based UI definition produces better web applications.

The transparent use of AJAX technologies, for example to submit forms, or to retrieve updates for data grids, can be taken for granted with the Backbase framework. Packed with examples, the book shows you how to get the most from the library of UI components, and then extend the library with its own custom language. With this book in hand, it is easy to enable AJAX within your web application. You will be able to use the Backbase framework effectively, from basic applications to complex, custom-defined UI components.

This book contains a complete overview of all the UI libraries available within the Backbase framework and shows examples for each element described.

The Backbase framework offers an innovative Tag Definition Language (TDL), which allows developers to create new UI components that can be used as XML elements, in the same way as using the built-in GUI library. Using TDL brings considerable development advantages, and this book explains how.

Significant attention is also given to architectural aspects of designing a web-application, showing sample applications using a model-view-controller approach.

Approach

This is a practical book, where every example is tested and all source code is available with the book. Each chapter ends with work on a sample application using the new things learned. At the end of the book there is a complete, usable Travel Blog application.

Who this book is for

This book is for web developers who want to develop applications using the Backbase Client Framework. It may also be interesting for web developers and web application architects who want to know more about XML-based web application architectures.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Backbase 4 RIA Development an online PDF/ePUB?
Yes, you can access Backbase 4 RIA Development by Ghica van Emde Boas, Sergey Ilinsky in PDF and/or ePUB format, as well as other popular books in Ciencia de la computación & Desarrollo de aplicaciones. We have over one million books available in our catalogue for you to explore.

Information

Year
2009
ISBN
9781847199126

Backbase 4 RIA Development

Ghica van Emde Boas

Sergey Ilinsky


Table of Contents

Backbase 4 RIA Development
Credits
About the Authors
About the Reviewers
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Errata
Piracy
Questions
1. Hello Backbase!
What is Backbase?
What can Backbase do for me?
The Backbase Explorer
Setting up a web development environment
The web server and a server scripting language
The browser
Using an IDE
Download the Backbase framework
The Backbase page skeleton
"Hello Backbase" in four variations
Verifying the installation of the Backbase framework
"Hello World" using a Backbase balloon
The JavaScript balloon
The XEL balloon
Hello Server!
The page with the form
The PHP response
XML and namespaces
Why do we need XML namespaces?
Declaring XML namespaces
Use of namespaces with Backbase
A basic page layout
Summary
2. User Interface Development
Squaring the circles of web applications
The Backbase Reference
UI markup languages
Where is the source code?
XHTML
The Backbase Tag Library
Backbase Tag Library widget overview
The BTL abstract elements
Abstract element inheritance structure
element
visualElement
positionElement
dimensionElement
cardStack and card
The layout widgets
Accordion
Box
deck
navBox
panelSet
tabBox
The BTL utility elements
codeHighlighter
label
populator
skinSettings
xhtml and xml
Styling techniques for GUI widgets
Using CSS
Skinning
The BTL skinSettings widget
Height problems
A BTL Exerciser
The application structure
index.html
app.xml
Tab panel content
The menu in each tab panel
Summary
3. Writing the Application Logic
The application programming model
Overview of the Backbase APIs
The bb object
Low level APIs—the W3C DOM family
The Document Object Model
Traversing the document tree
Modifying the document tree
Dealing with events
Events
DOM event flow and cancelable events
Registering event handlers
Using markup with an XEL handler element
Using markup with XEL handler attributes
Using JavaScript and the DOM events API
APIs relevant for dealing with events
Event types
BTL widget custom events
Custom event creation
Backbase utility functions
The bb object utility functions
Backbase Commands
The Backbase XML Execution Language (XEL)
XEL features
Variables in XEL
Declaring variables
Variable scope
Retrieving variable values
Setting properties and variables
Getting and setting attributes
Conditional execution in XEL
Conditional logic
Iterators
Functions in XEL
Calling a function or method
Passing a function argument
Passing context
Using JavaScript in XEL
XPath
Evaluating attribute values
String mode
XPath mode
Commands to manipulate the DOM or elements
Manipulating elements
focus and blur
fireEvent
position
scrollTo
setText
show, hide, and showHide
sort
tile
transform
param
Manipulating the DOM
copy
create
attribute
copy-of
value-of
destroy
move
Info and Notify BTL widgets
balloon
infoBox
loadingMessage
toolTip
A Backbase Command Exerciser
Summary
4. Client-server Communication and Forms
AJAX
Asynchronous communication
The XMLHttpRequest object
The JSONRequest object
The load command
header
The JavaScript load command
Working with forms
The forms profiles
Form elements
The extended form element
The extended input element
fileInput
The abstract BTL form elements
focusableElement
dropDown
formField, formList, and rangeFormField
The BTL form widgets
calendar
checkBoxGroup
comboBox
listBox
slider
spinner
suggestBox
Validating input fields
Required fields
Data type validation
AJAX and architecture
Model-View-Controller
Implementing MVC on the server
The server controller
The server model
The server view
Scriptlets
The C3D travel blog site
Requirements for the C3D site
Design
Data model
Page layout
Good use of IDs
Server application structure
The C3D controller
The C3D model
The C3D view
Login and logout
Add a trip
Summary
5. Data-bound Widgets
Why is data binding important?
The server-side of data binding
Data-binding fundamentals
dataSource
Local data sources
Remote data sources
Static data sources
dataObserver
The dataUpdate method
Make an HTML element data bound
Creating the data source
Define the new widget
The dataUpdate method
Show the data-bound bulleted list
The data-bound widgets
dataGrid
Grid editing and fieldEditor
The eleven features of dataGrid
Common header menu
Header context menu
Data paging
Column drag-and-drop
Column freezing
One-click editing
Editing and focusing together
Instant editing
Collapsible info block
Form editing
Live scrolling
Continue the development of the C3D application
Adding a trip entry
Show trips and trip entries
Summary
6. More Dynamic Behavior
Behaviors
Drag-and-drop
dragBase
drag
dragTarget
Basic dragging and dropping with widgets
Drag constraints
dragItem
dragGroup
useDragClass
dragConstraint
Reverting a dragged element
Advanced dragging and dropping with widgets
Drag-and-drop columns inside a table
Resize
Using the resize behavior
resizeEdges
resizeMin and resizeMax
resizeType
resizeConstraint
Resize custom events
Custom Grippies
Resizing table columns
Commands for the behaviors
addBehavior
removeBehavior
setBehavior
Broadcaster/observer
Animating the UI
SMIL animation
Adding animation to the C3D example application
Summary
7. Creating UI Components
Component models and technologies
Introduction to the Tag Definition Language (TDL)
Widgets
The advantages of using TDL
Object-orientation
Object-oriented concepts
OO and TDL
OO and web applications
Model-View-Controller
Widget creation with TDL
Overview of the TDL elements
Simple widgets
Building a TDL widget definition
The template, attribute, and resource tags
Templates
The content tag
Templates with JavaScript
Attributes
Positioned yellow notes
Changers and mappers
Resources
The yellow notes example using resources
Named resources
Widget event handling
The handler tag
Updatable yellow notes
Widgets as object...

Table of contents