Overview

. Prologue . Use Cases . Introduction . Features/Samples . Roadmap . Call for Action

() Alaska Software Inc. Preface:Introduction

One Tool Visual FoxPro One Vendor Language Inheritance

Different Devices RIA UI War is and Over Form Factors

(c) Alaska Software Inc. Preface:Introduction

One Tool Visual FoxPro One Vendor Language Inheritance

Different Devices RIA UI War is and Over Form Factors

(c) Alaska Software Inc. Context: Context

Xbase++ 2.0 . Scheduled Release: Q1/Q2Q12011 2012 (Arctica) . Unified-SQL and Universal-SQL CTP . PostgreSQL Isam Access . for Web and Mobile Application Development . VFP Language Extensions

Visual Xbase++ 3.0 . Planned Preview: Q4 2012 (PolarFox) . Visual Design Tools . VFP Modernization (Runtime and Transpiler)

(c) Alaska Software Inc. Use Cases

Mobile Application Dynamic Web Page (like uservoice.com): • 6 files • One page per view • 8 views (), 2 controllers (prg), 7 models • Each around 40 lines of code • Contains HTML mixed with code (prg) • <1000 lines of code

(Add here your or your customer‘s Forms, Image Creation demands…)

(c) Alaska Software Inc. Intro (What‘s the idea behind it!) : – can create dynamic and interactive web pages/content – is a powerful alternative to ASP.NET and PHP – „speaks“ the language Visual FoxPro, FoxPro and Xbase++ developers know – executes native code, whereas ASP/PHP is interpreted Hello.cxp:

Intermediate Code:

(c) Alaska Software Inc. Intro

(c) Alaska Software Inc. Features (1/2)

Easy to Use

• Edit and run • Compiler error messages with great detail

Very Fast

• Executes compiled native code versus interpreted code • Uses random distribution on multi-core servers • Dynamic I/O chunking for large data upload/download • Developer can use threads to offload work or even defer results

Secure

• Code injection doesn‘t work as it executes compiled code • AES encryption comes with Xbase++ • Ready-to-use authentication and user account management (RBAC) included

(c) Alaska Software Inc. Features (2/2) Feature-Rich and Innovative

• Application configuration management • Interceptors for flow control • Caching to avoid repeated data gathering • WebSockets for peer-to-peer connects • Ajax with XML and JSON right out of the box

Most Web Servers are Supported

• Native IIS and Apache • FastCGI for interfacing with literally any web server

Full Xbase++ 2.0 Language

• No limits • Open, full access to any language extension • Customizable, you can create your own commands • No runtime fees, no per-site or per-CPU fees

(c) Alaska Software Inc. Some Features in Detail

. Error Management . Builder, compiler and linker all generate well- documentederror.cxp error messages . Code Locality sample.cxp . Allows you to implement page-global functionality, add classes or just to structure your code . Session/Page/Application/Site Data . Persistence engine for any runtime data type . Content Types . By default, pages return HTML content . But can return anything you want . Images, PDF files Dynamic Image . Binary data . XML / JSON

(c) Alaska Software Inc. jQuery UI

. There are many HTML/UI Javascript frameworks out there! . We decided to go with jQuery: . Best architecture Index . Easy to hide (we don‘t like Javascript) Grid

. Good datasource binding Suppliers

(c) Alaska Software Inc. MobileApp

. Different form factors require specific UI . Don‘t try to re-create a desktop form on a smartphone . Sample uses Dojo as the UI . Implementation consists of: Project . 6 pages . Each has around 40 lines of code . Data is from dbf tables . Image data from table needs to be transformed for mobile device

(c) Alaska Software Inc. Feature Roadmap

Predefined Application Packages CTP • Authentication • Account Management

MVC2 CTP

• Model/Controllers Demo

Future Releases

• Declarative namespaces for the view engine (like JSF) • Automated Master/Slave, Master/Master replication for any datasource

(c) Alaska Software Inc. Summary

. With , you can develop Connected Mobile or Web applications . Use pages for dynamic Web pages or small Mobile apps. . Use MVC2 (controller/model)-based Web applications together with views for larger projects with complex business logic and data model . Any FoxPro, Visual FoxPro or Xbase++ developer can leverage existing knowledge to create Web or Mobile applications

(c) Alaska Software Inc. Call For Action . Join the CTP, influence the future of your tool chain . Start developing Web or Connected Mobile applications, just think about the added value for your existing VFP solution . Actively promote to any other Visual FoxPro, FoxPro developer out there . With the forthcoming CTP and the release of Xbase++ 2.0, you can proove to any manager that . your skills . your experience . your language . Your existing source code All have a future beyond MS. The FoxPro language is not dead!

. Think about that: . MS dumped Visual FoxPro as a tool . But the language moves forward! . Differentiate between the tool and the language!

(c) Alaska Software Inc. (c) Alaska Software Inc. This is a preliminary document and may be changed substantially prior to final commercial release of the software described herein. The information contained in US Headquarter: this document represents the current view of Alaska Alaska Software, Inc. 1133 Broadway Suite 706 Software on the issues discussed as of the date of New York, NY 10010, USA publication. As Alaska Software is required to respond to Voice: +1 (646) 218-1280 changing market conditions, this information provided Fax: +1 (646) 218-1281 should not be interpreted to be a commitment on the part of Alaska Software. Alaska Software cannot guarantee the accuracy of any information presented after the date of publication. This material is for informational purposes only. European Headquarter: Alaska Software Inc., Germany Revision 1.0, October 2011 Hauptstrasse 223 65760 Eschborn-Niederhoechst Copyright 2011 Alaska Software Inc. All rights reserved Germany Xbase++, Visual Xbase++, Universal-SQL and Tel.: +49/6196/779 999-51 are trademarks or registered trademarks of Alaska Software. Fax: +49/6196/779 999-23 All other trademarks are property of their respective owners.