We have caused the industry to stand up and take notice of Alpha Anywhere, which was released slightly more than 60 days ago and which is getting rave reviews from our customers.
We are not standing still however - we are committed to making Alpha Anywhere the most complete and approachable platform for rapidly building HTML5 and wrapped HTML5 business applications for mobile devices and the desktop web.
We are also very focused on building product that can materially impact the skills shortage when it comes to meeting the demand for modern application development (mobile and desktop web apps.)
To deliver on this commitment, we are dedicated to constant innovation and improvement to give you the best possible product
To illustrate this, here is a partial list of videos highlighting Alpha Anywhere innovations and improvements made since its release at the end of June 2013.
UX Component | Preventing a Panel from Losing Focus | A common design pattern in a mobile application is to have multiple Panel Cards inside a Panel Navigator. If one of the Panel Cards contains a form, you might want to prevent the user from navigating to another Panel Card if the form has been edited, but not yet been saved.In this video we show how this is easily done using the Panel Navigator's onBeforePanelActivate event. The same techniques can be used in a PanelLayout. |
UX Component | Responsive Design - Dynamically Resizing Controls on Orientation or Window Size Change - Understanding the FlexLayout Container | A common requirement when designing a UX component is to have a control dynamically resize when the orientation of a mobile device changes or when the window size (in a desktop browser) changes. This is easily accomplished using the FlexLayout container on a UX.Any of the controls in a FlexLayout container can have their width specified as a 'relative' size (relative to the size of the other controls in the FlexLayout container). This video shows how to use the FlexLayout container type. |
UX Component | Storing and Restoring the 'state' of a UX Component with multiple Panels | UX Components can use complex layouts that involve multiple Panel Cards inside Panel Navigators and Panel Layouts. You might want to persist the state of the Panel (i.e. remember which Panel Card in a particular Panel Navigator is active and which Panels in a Panel Navigator have been docked) so that you can later restore this state. This video shows how this can be done. |
UX Component | Chart Control - Dynamically Changing the Chart Appearance by Changing the Stylesheet | In the previous video we showed how aspects of the chart appearance could be changed at run-time. In this video we show how a dynamic stylesheet can be applied to the chart to control even more aspects of the chart appearance. |
UX Component | User-defined Sub-themes to Style UX Component Controls | Many of the controls on a UX component allow you to specify a sub-theme. The sub-theme controls various aspects of a control's appearance and also behavior. For most of the controls there are several built-in sub-themes to chose from. For example, buttons have sub-themes that can make the button look like a 'back' or 'next' button. A powerful aspect of sub-themes is the fact that it is very easy for developers to create their own sub-themes to create highly customized appearances for controls on a UX.In this video we show how a custom sub-theme for a window can be created and used. |
UX Component | Getting a Pointer to a Parent or Child Component So You Can Call Methods of the Parent or Child Component | The ability to re-use components and open a child component in a window, div, TabbedUI pane, Panel, or embed into a parent component is one of the most powerful aspects of the Alpha Anywhere architecture.When you open a component from a parent component, you will often want to get a pointer to the child component so you can manipulate it in your Javascript code in some way. For example, you might want some code in the parent component to read a control in the child, or set a value in the child. Similarly, you might want some code in the child component to read or set a control in its parent.The .getParentObject() and .getChildObject() methods are used to get pointer to an object's parent or child objects.In this video, we show how this is done. |
Grid Component | Putting the Search Part in a Pop-up Window | In this video we show how the Search part of a Grid component can be shown in a window. By default, the Search part is shown on the page directly above the Grid part, but by showing the Search Part on in a window, you can save space on the page. (requires a connection string called 'Northwind' that points to the sample Northwind.mdb files database in the MDBFiles folder). |
UX Component | Example App Showing How to Synchronize an Embedded UX Component when a Value in a Parent UX Component Changes | A common pattern when building mobile applications is to break the application into multiple sub-components and then embed child components into the parent component. Using this pattern, you break your application into manageable pieces. However, when you follow this pattern, it is often necessary to synchronize the embedded child component when a value in the parent component changes.In this video we show a sample application that shows customers in the sample Northwind database. An embedded UX component shows the orders for the selected customer. When the user selects a different customer, the embedded 'Orders' UX component is synchronized. (requires a connection string called 'Northwind' that points to the sample Northwind.mdb files database in the MDBFiles folder). |
UX and Grid Component | Handling Missing Images | When a UX or Grid component displays images, there is a possibility that an image referenced in an image tag is missing. A new onImageError client side event allows a developer to programmatically handle this situation and decide what image to display in place of the missing image. |
UX Component - List Control | Custom Layout - Setting a List Item Size to Fill the Screen - Understanding the 'Fill' Option for List item size and Custom Scrolling Options. | When you are working with a List control that uses a free-form layout for the List, you can set the height (and width in the case where the List is set to scroll horizontally) of each 'row' (i.e. 'item') in the List. In addition to setting an explicit size (say 200px) for an item height or width, you can also use the special 'fill' keyword to indicate that the item should fill the viewport.When you use the 'fill' option, it is often desirable to customize the way in which the List scrolls, so that it scrolls in discrete amounts (for example the size of the viewport) rather than scrolling continuously.By setting the item size to use the 'fill' keyword, and by customizing the List scrolling, it is possible to make a List behave much like a Panel Card in a Panel Navigator.In this video we show how these options are used. |
UX Component | Signature Capture Control | A common requirement in mobile applications is the ability to capture a signature and store the signature in a database. In this video we show how this is easily achieved by placing a Signature Capture control on a UX component. |
Reports | Printing QR Codes | Video shows how to print a QR Code on a report. |
Using a UX Component to Create a Login Component for a Mobile Application | A common requirement for any application, Mobile included, is to authenticate users before they can interact with the application. There are several ways in which authentication can be performed in Alpha Anywhere. These include using the standard Login component, or using the AppLauncher. In addition to the above two techniques, you can also build a UX component for performing the authentication.The advantage of building the Login screens using a UX component is that you can make a much richer UI for the login and it can include standard mobile elements like Panel Headers, etc.In this video we show how an authentication layer has been added to a mobile application. - Note: To use the project, create a new, empty Web Project, then click the 'Open Project Folder in Windows Explorer' button and paste these files into the folder. The passwords for the sample accounts are: a@a.com - aalpha, s@a.com - salpha m@a.com - malpha |
|
Comment