xojo for vfp developers

37
Xojo for Microsoft Visual Foxpro Developers Kevin Cully CULLY Technologies, LLC

Upload: duongque

Post on 13-Jan-2017

324 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Xojo for VFP Developers

Xojo for Microsoft Visual Foxpro Developers

Kevin CullyCULLY Technologies, LLC

Page 2: Xojo for VFP Developers

About This Session

●  A Look at Xojo●  Not a sales pitch●  Comparison between VFP and Xojo●  Why Developing In Xojo is 'natural' For VFP Developers●  What It Takes For A VFP Developer To Move To Xojo●  Coding in Xojo

Page 3: Xojo for VFP Developers

About Me●  Professional developer since 1990●  Foxpro developer since 1992●  CULLY Technologies, LLC since 2000●  Consulting small, medium, and large companies●  Desktop and web applications●  Xojo (REALbasic) developer since 2006●  50% Xojo since 2010●  Founder of Atlanta Xojo Users Group●  Couple of articles in xDev Magazine

Page 4: Xojo for VFP Developers

History of Visual Foxpro1984 ­ FoxBase1987 – FoxBase+ for the Mac1992 – Microsoft buys FoxSoftware, Inc.1993 – FoxPro for DOS, Windows, Mac and Unix1995 – Visual Foxpro 3.0 (Windows, Mac)1996 – Visual Foxpro 5.0 (Windows)1998 – Visual Foxpro 6.0 2001 – Visual Foxpro 7.0 2003 – Visual Foxpro 8.02004 – Visual Foxpro 9.02005 – Visual Foxpro 9.0 Service Pack 12007 – Visual Foxpro 9.0 Service Pack 22009 – Visual Foxpro 9.0 Service Pack 2 w hotfixes2015 – Visual Foxpro support ends

Page 5: Xojo for VFP Developers

Where are the VFP Developers Going?

Microsoft .NETPython

Ruby on RailsXojo

Page 6: Xojo for VFP Developers

Looking For A New Development LanguageVisual Development

Singular IDEReport Writer

Cross­platformObject orientedMulti­threaded

High productivityActive community

Third party supportExtensibility

Reasonably PricedNot case sensitive 

language

Page 7: Xojo for VFP Developers

About Visual Foxpro●  Data­centric●  Object­oriented and procedural programming language●  COM­based●  Dynamically typed language●  Has its own relational database engine●  Supports the full SQL query language and data manipulation●  Much of Foxpro written in Foxpro●  "Fat client" applications, but also middleware and web applications.

Page 8: Xojo for VFP Developers

About Xojo● Object­oriented programming language● Strongly typed language● Single inheritance and interfaces● Class methods and class properties● Automatic memory management● Uses SQLite for integrated database engine● "Fat client" applications, but also middleware and now ● Web applications● iOS phone applications

Page 9: Xojo for VFP Developers

About Xojo the Company

Geoff Perlman founded Real Software in 1996Headquarters in Austin TX

Developers around the globe

Bought CrossBasic in 1998Originally Mac and Java VM

Dropped Java VMAdded Windows

Added Linux in 2005Added Web in 2010Added iOS in 2014

Page 10: Xojo for VFP Developers

Comparing VFP and Xojo

Feature Visual Foxpro Xojo

Windows Editor Drag and Drop Drag and Drop

Code Editor Methods, events and properties accessible from the property sheet

Methods, events and properties open in a related tab

Object-oriented Yes Yes

Graphic support Some, GDI+ Some, Sprites, Quicktime, GDI

Built-In Database Yes, DBF, DBC Yes, but single user version of SQLite

Database Connectivity Yes, via ODBC and OLE DB/ADO Yes, via ODBC and plug-ins

Internet Development Features Limited but can be extended with 3rd party products

Yes, Web Edition.

Integrated Help Yes Yes

Royalty-free Deployment Yes Yes

Target Platforms Windows Max, Windows, Linux, Web, iOS

Extensibility Classes, DLLs, FLLs Plug-ins

Application Types Desktop, console Desktop, console, web, phone

Integrated Report Writer Yes Yes, but limited

Error Handling Yes, ON ERROR, TRY...CATCH...ENDTRY, Object Error Method

Yes, exception class, TRY...CATCH...END

Integrated Debugging Yes Yes

Auto-Formats Code No (tabs or spaces fight anyone?) Yes (auto-indents for you)

Build Semi interpreted Compiled

Unicode No Yes

Architechture 32bit 32bit; 64bit in 2015

Page 11: Xojo for VFP Developers

Cousin LanguagesVisual Foxpro:       MessageBox(“Hello World”)Xojo:      MsgBox(“Hello World”)

Visual Foxpro:    LOCAL oMyClass    oMyClass = CREATEOBJECT(“MyClass”)

Xojo:    DIM oMyClass AS NEW MyClass

Page 12: Xojo for VFP Developers

What about costs? 

Xojo IDE Free!Xojo Single Desktop $99/eachXojo Desktop $299Xojo Web $299Xojo iOS $299Xojo Professional Edition $699Xojo Enterprise Edition $1,999

On occasions there will be sale pricing.

Page 13: Xojo for VFP Developers

Xojo ControlsThere is a good bit of overlap between Visual Foxpro controls, however Xojo has a wide variety of controls that we didn't natively have access to.

Page 14: Xojo for VFP Developers

Screen Building

Page 15: Xojo for VFP Developers

Database Access  For our database example, lets look at a class I use to store and retrieve generic settings; Window height, width, listbox column widths, etc.

Page 16: Xojo for VFP Developers

Data Binding – Xojo

Page 17: Xojo for VFP Developers

Report Building

Page 18: Xojo for VFP Developers

Easing The TransitionBuilding a class with the missing VFP commands

Page 19: Xojo for VFP Developers

Native Controls for Desktop Applications●  Windows●  Mac●  Linux

Page 20: Xojo for VFP Developers

Cross Platform Issues

#IF TargetWin32 THEN  ' Windows only code#ELSEIF TargetMacOX THEN  ' Mac only code#ELSEIF TargetLinux THEN  ' Linux only code#ELSEIF TargetWeb THEN  ' Web only code#ELSEIF NOT TargetHasGUI THEN  ' Console application code#ENDIF

Page 21: Xojo for VFP Developers

Building Apps For Alt. PlatformsIf you are careful with your development, and creating dependancies, building applications for alternate platforms is a checkbox away.

Page 22: Xojo for VFP Developers

Remote Debugger

Page 23: Xojo for VFP Developers

Xojo Plugin Creators

Monkeybread Software

Bkeeney Software

Einhugur Plugins

Van Hoek Software

… and many others ...

Page 24: Xojo for VFP Developers

Bumps in the Road Moving to Xojo

● Recordsets● Controls are global to the Window● Cannot programmatically control Z­Order of controls● Visual Inheritance● Code Inheritance Parent Classes● Data Binding

Page 25: Xojo for VFP Developers

Xojo Plans

● LLVM● 64bit● Android● RaspberryPi & others

Page 26: Xojo for VFP Developers

Xojo is Web 3.0!

●  (Web 3.0 is one better than Web 2.0)

Page 27: Xojo for VFP Developers

Current Web Development

● HTML● PHP ● CSS● ASP.NET● JavaScript● Jquery● ExtJS● KnockoutJS● AngularJS● … any others ...

Page 28: Xojo for VFP Developers

Xojo Web Edition

●  Web Site <> Web Application

Page 29: Xojo for VFP Developers

Xojo Web Edition

● Develop as you would desktop application●  Persistent connection between browser & server●  Web sockets & similar technology per platform handles communication

●  { demo }

Page 30: Xojo for VFP Developers

Xojo Web Edition

●  First Application

Page 31: Xojo for VFP Developers

Xojo Web Edition

● Single Page Application

Page 32: Xojo for VFP Developers

Xojo Web Edition

Page 33: Xojo for VFP Developers

Xojo Web ­ Platform Specific

● 

Page 34: Xojo for VFP Developers

Xojo Web Edition ­ Deploy

●  Xojo Cloud – Xojo's own cloud hosting●  1701 Software – Xojo Web Edition Specialists●  Digital Ocean – Hourly and Monthly Hosting●  Vultr – Hourly and Monthly Hosting●  … others ...

Page 35: Xojo for VFP Developers

Xojo Web Edition

● 

Page 36: Xojo for VFP Developers

Q & A

Kevin [email protected]

Page 37: Xojo for VFP Developers

Thank You!

Kevin CullyCULLY Technologies, LLC

Http://cullytechnologies.comHttp://cully.biz

Http://twitter.com/kevincully