Notes
Slide Show
Outline
1
The Atlanta FoxPro Users Group

Developing With AJAX, VFP-Style
  • Dave Bernard
  • The Intellection Group, Inc.
  • http://www.IntellectionGroup.com
  • DBernard@IntellectionGroup.com
2
Purpose
  • Define and demonstrate AJAX development.


  • Discuss the past, present and future of AJAX development.


  • Discuss what AJAX means to VFP developers.
3
Agenda
  • Introduction
  • What, exactly is AJAX?
  • A History of AJAX
  • Why is AJAX suddenly popular?
  • Benefits and Cautions
  • AJAX + VFP?
  • Demos
4
Introduction
  • Who am I?
  • Over 27 years as developer, manager, executive.
  • Developing in FoxPro since 1990.
  • Vice President, Atlanta FoxPro Users Group.
  • MCSD (VFP), MCDBA (SQL 2000).
  • Co-founded The Intellection Group 2 years ago.
  • Develop custom extranet, EDI, PDA, TabletPC applications.
  • VFP 9, COM+, SQL Server, ASP/DHTML/CSS/JS, IIS/Apache, PHP/MySQL.
  • (Almost) No VFP GUI work.
  • SR, TTS, NLU, RFID specialists.
  • Conference speaker (FoxCon 2005, FoxCon 2006).
  • Author (FoxTalk 2.0 March 2005, TechLinks April 2005).
  • Reporter (UT coverage of SW Fox 2005, DevTeach 2005, SQL Pass 2005)


  • Mantras:
  • There are no technical problems, only business problems.
  • Try not to sell to IT people; sell to business owners.
5
What, exactly is AJAX?
  • Asynchronous Javascript with XML (AJAX); Google engineers refer to their coding technique simply as JavaScript.
  • Consists primarily of DHTML, JavaScript and XMLHTTP.
  • Create Web apps with mature, freely available technologies.
  • Browser client code calls server side code directly without reposting the entire page back to the Server.
  • Client side code pulls incremental UI updates in response to user action, enhancing the illusion of speed.
  • Contrast this with standard Web applications where typically all business logic and UI creation is managed on the server, with the client browser merely rendering the content.
  • AJAX makes the client an active part of the application.
  • Incidentally, despite the X in the AJAX name, XML is actually not used by most AJAX implementations. XML use is optional.


6
A History of AJAX
  • The pieces of AJAX have been available since 1998 (IE 5).
  • Recently, these pieces, especially XMLHTTP, have become broadly available in a standardized way in all browsers.
  • Start-ups and industry giants such as Microsoft continue to create complex developer tools (e.g., .NET) for delivering desktop-like applications over the Web.
  • That's prompted developers to take a second look at “legacy” technologies such as JavaScript and DTML.


7
Why is AJAX suddenly popular?
  • The interest isn't driven by some dot-com nostalgia.
  • Google Maps, Google Suggest and GMail convinced a mass audience that rich Internet applications deliver great benefits to the end user.
  • Proponents argue these older technologies, already embedded in common Web browsers, are good enough for the job.
  • Someone's given a name to what we've been working on for years, to the idea of using JavaScript and moving it to the next level.
8
Benefits and Cautions
  • Addresses the growing demand for richer Web user experiences.
  • Allows you to deliver applications that users actually enjoy more.
  • The simple "no wait time“ factor.
  • Reduced network traffic.
  • Offloads computation work onto the client.
  • Relies on JavaScript; could be disabled by the user.
  • The XMLHTTP object is an ActiveX object which is probably more serious because many IT departments lock out ActiveX usage on browsers completely.
  • Developing and debugging AJAX-style web applications can be difficult.
9
AJAX + VFP?
  • VFP COM+ DLLs can be used to serve up web pages.
  • Use AFP, West Wind Web Connection, custom framework.
  • Methods in VFP DLLs are easily accessible via XMLHTTP.
  • http://www.intellectiongroup.com/Resources/SmallFramework.zip


10
Demos
11
Thanks

  • This presentation is available at


  • http://www.IntellectionGroup.com/AFUGPresentationAJAX.htm
  • http://www.intellectiongroup.com/Presentations.asp



  • DBernard@IntellectionGroup.com