blob: 11966a80c586145ed9a952e29b151040f5336e3c [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta name="DC.Type" content="topic"/>
<meta name="DC.Title" content="Introduction to Apache Flex"/>
<meta name="DC.Format" content="XHTML"/>
<meta name="DC.Identifier" content="WS6aa5ec234ff3f2851d96da0f125b7687eb5-8000_verapache"/>
<title>Introduction to Apache Flex</title>
</head>
<body id="WS6aa5ec234ff3f2851d96da0f125b7687eb5-8000_verapache"><a name="WS6aa5ec234ff3f2851d96da0f125b7687eb5-8000_verapache"><!-- --></a>
<div>
<p>Flex is a powerful, open source, front-end application framework that
allows developers to easily create apps for both desktop and mobile
using the same programming model, tools, and codebase. Developers may
use Flex to build natively installed apps targeting iOS™, Android™, and
BlackBerry® Tablet OS devices on mobile, or they can deploy traditional
desktop applications on Windows®, macOS®, and Linux.</p>
<p>In the past, Flex applications were also deployed to web browsers using
Adobe Flash Player. While browser deployment is no longer possible with
Flex because Adobe discontinued its browser plugin in 2020, developers
may continue to package Flex applications as native apps using the AIR
SDK. Adobe has officially licensed the AIR SDK to HARMAN for continued
development, and it is frequently updated to remain compatible with the
latest operating system changes.</p>
<p>Developers build Flex applications using ActionScript and MXML.
ActionScript is an object-oriented programming language that was
created as superset of the ECMAScript standard (more widely known as
JavaScript), with a stronger focus on classes, interfaces, and strong
typing. MXML is a declarative markup language for laying out
custom user interface components with powerful built-in features like
state management and data binding. Together, ActionScript and MXML
provide developers with increased productivity and reduced cognitive
load by separating concerns and eliminating redundant boilerplate.</p>
<p>Dozens of built-in user interface components (buttons, sliders,
lists, grids, drop-downs, and a variety of layout containers) make it
easy to create many types of forms, dashboards, and visualizations.
Developers can create high-level components with MXML to set properties
and styles, listen for events, configure layouts, bind to data sources
to automatically update views when the data changes, and use states to
dynamically hide and show content. Flex also provides hooks into its
lower-level component lifecycle that may be accessed from ActionScript
to build completely new components that go beyond what Flex's built-in
libraries provide out of the box, allowing developers to take full
advantage of every graphical capability provided by Flash Player and
AIR.</p>
<p>Flex offers a variety of visual customization options for its UI
components, including styling with CSS or replacing their default
appearance with custom skins created by a designer. Styles
include fonts (both those installed on the user's device and by
embedding custom fonts), colors, borders, paddings, gaps, and other
spacing. Skins may be created from both bitmap and vector graphics
imported from a variety of design tools. Similarly, developers may use
built-in animations and transitions to delight users and guide them
through complex navigations within the app. All motion is fully
configurable, to allow it to be as flashy or understated as
desired.</p>
<p>Usability features include data validation (to display helpful errors
for users and prevent forms from being submitted until the issues are
fixed); formatting numbers, currency, and other data strings;
localization to display different strings in the application based on
the user's language and region; displaying pop-up floating dialogs and
modals that prevent mouse, touch, and keyboard access until the dialog is
dismissed; drag-and-drop to move items within and between data-based
controls; and accessibility hooks for screen readers and other
assistive tooling.</p>
<p>Flex supports a variety of build, testing, and deployment tools. The
Flex SDK includes powerful command line compilers, and a variety of
editors and integrated development environments (IDEs) either include
built-in Flex projects or well-supported third-party plugins for
Flex that can build Flex applications directly in the editor. FlexUnit
provides unit and integration testing, and Flex also supports powerful
enterprise automation tools for functional testing of user
interactions. For deployment, Flex apps can be distributed as native
apps in platform-specific app stores, or using downloadable installers.</p>
<p>This manual brings together all of the features mentioned above into a
single guide, to teach you how to develop applications with
Flex. Start by learning the ActionScript and MXML languages. Then gain
an understanding how to of compose the built-in UI components with
layouts, states, and data binding to create powerful forms, dashboards,
and data visualizations. Style and skin your Flex app to customize its
appearance to match your brand's guidelines, integrating your workflow
with a designer. Enhance usability with powerful features like
validation, formatting, and drag-and-drop. Finally, create a release
build, run tests, and deploy your app to your users.</p>
</div>
<div>
<p><a href="index.html" class="btn">&laquo; Return to Using Flex</a></p>
</div>
<div>
<p>Adobe and Adobe Flash are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries and are used by permission from Adobe. No other license to the Adobe trademarks are granted.</p>
</div>
</body>
</html>