trends you need to know for visual foxpro 9.0 and above

53
Trends you need to know for Visual FoxPro 9.0 and above German FoxPro User Group Rainer Becker Frankfurt/Germany Trends

Upload: basil-huffman

Post on 02-Jan-2016

32 views

Category:

Documents


3 download

DESCRIPTION

Trends. Trends you need to know for Visual FoxPro 9.0 and above. German FoxPro User Group Rainer Becker Frankfurt/Germany. Rainer Becker. dFPUG Online offers Loose Leaf magazine VFP-DevCon Localisation Framework Visual Extend MVP, MCP Wizards & Builders GmbH. Session Topics. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Trends you need to know for Visual FoxPro 9.0 and above

Trends you need to know forVisual FoxPro 9.0 and above

German FoxPro User GroupRainer Becker

Frankfurt/Germany

Trends

Page 2: Trends you need to know for Visual FoxPro 9.0 and above

Rainer Becker• dFPUG

– Online offers– Loose Leaf magazine

• VFP-DevCon• Localisation• Framework Visual Extend• MVP, MCP• Wizards & Builders GmbH

Page 3: Trends you need to know for Visual FoxPro 9.0 and above

Session Topics

• Takeover of VFP-features• Advantages of Visual FoxPro• Microsoft Marketing• Advantages of Frameworks• Client/Server-Example• Internet-Example

Page 4: Trends you need to know for Visual FoxPro 9.0 and above

For a long time VFP inherited features from other Microsoft

products…

Now Microsoft is going to duplicate features of Visual FoxPro

in .NETAnd it is not only about features…

Page 5: Trends you need to know for Visual FoxPro 9.0 and above

Do not lots of things in .NET sound familiar?

• „You are not a true compiling language!“– common language runtime– now garbage collection is „cool“– obfuscation equals Refox-problem

• „Your are not three-tiered by nature!“– dataenvironment (kind of) in .NET

• all in one tool for programming tasks– upcoming except for reportwriter (see VFP9)

• migration problem to OOP / new concept– we lost half the community, why repeat that?

Page 6: Trends you need to know for Visual FoxPro 9.0 and above

Familiar Features in .NET• WinForms:

– Grid with various features– Drag & Drop Fields onto a Form (Grid)

• Data:– Local database engine with index– Asynchronous data access– Switching the underlying database– Adding validations to views (DBC-like)

• Debugging– debugout and so on…

Page 7: Trends you need to know for Visual FoxPro 9.0 and above

Familiar Features of frameworks• sorting in grids• login dialog• user and rights-management• saving position and so on per user• application update• localization features• data access for multiple backends• wizards and builders of various types• … incomplete list …

Page 8: Trends you need to know for Visual FoxPro 9.0 and above

After all these times…• Looking like a true survivor

– Nothing really new for VFP-developers– Been there, done that

• Feeling like a little kid– And, Yes!, They are excited about it!– Like we were once upon the time

• PS: We made a big mistake at the name contest– we should have renamed VFP to Whidbey!– they would have bought that stuff years ago…

Page 9: Trends you need to know for Visual FoxPro 9.0 and above

Anyhow, its a kind of a miracle• I do not know how YAG made it happen

– But they plan to do RAD now– And thats what we came from– And thats where they came from– Having lots of buddies in mgmt. has drawbacks

• Microsoft normally eats up addons of any kind– the VFP team was to kind to do so– instead they now eat up VFP itself!– with the advantage that there are no so many

framework vendors to really care about at .NET

Page 10: Trends you need to know for Visual FoxPro 9.0 and above

But its getting even worse!• Microsoft found out about community!

– they integrate community support into product– INETA, CodeZone, CLIP and other marketing

progs– they even adopt FoxWishList

• Microsoft found out about even more things– same language for database as for other tiers!– extending reporting features of SQL-Server– Team programming revisited

Page 11: Trends you need to know for Visual FoxPro 9.0 and above

If you are not part of the solution• you are part of the problem

– BTW: I wonder why the „Microsoft Nimbus“ never worked for VFP - its like King Midas of Criti…

• race for new features after takeover– none of competitor understood what 4GL was

meant for and who the customers are

• Lots of bad ideas that did not work e.g.:– VFP as middle-tier in VStudio

• Reason: It has to fit to current Microsoft overall strategy (one face to the customer)

Page 12: Trends you need to know for Visual FoxPro 9.0 and above

We tried to sell a lot of things…• Createobjectx (Remoting)• Transaction Server

– even questions in MCP-test for distributed applications

• UML-modelling / Rational Rose interface• Design Patterns (really sorry to say that)• Offline Views• Active Desktop• Integration with Visual Studio• no updates for reportwriter and other basic

tools

Page 13: Trends you need to know for Visual FoxPro 9.0 and above

But did it help to fulfill needs?• Running „as fast as the FOX“?

– Where is the performance advantage?

• Rapid Application Development– but how without a framework as there are

pitfalls all over the place for raw box apps– but how three-tiered if there is no natural

support for multi-layered architecture– but how at all if there are so many properties,

events, methods, commands, functions which are all great but you need to know so much…

Page 14: Trends you need to know for Visual FoxPro 9.0 and above

Customer Profile lost• GPF: General Profiling failure

– MVP group is kind of labor union that protects workers and members but not the jobless

• GPF+: Great Promises to false audience

• … profile description to be inserted here…

Page 15: Trends you need to know for Visual FoxPro 9.0 and above

The doc that can‘t heal himself…• We are proud that we

do not deliver what the client asked for but what the client needs

• But for ourself we asked for a lot of high-tech features neither we nor our colleagues needed, because– they were trendy in theory– we wanted to be part of the larger group– it was really interesting to play around with

them

Page 16: Trends you need to know for Visual FoxPro 9.0 and above

But where are the protagonists?• Steve, Whil and others blame the market

and Microsoft and are on Linux• Markus, Rick, Kevin, Rod ao move on to

where the Microsoft .NET „innovation“ is• Alf Borrmann, Markus Alt ao move on to

Rational Rose, UML and Modelling• Nathalie Mengel ao moved to Java• Still we are a lot of skilled VFP-developers!

– but there are not so many theorists any more

Page 17: Trends you need to know for Visual FoxPro 9.0 and above

Where does MS want to go?• As Steve Ballmer said regarding

competitors– they are going to „love them to death“

• As Yair Alan Griver said last year– it will take 3-5 years to have all important

features of VFP duplicated in .NET

• Till then at least I am pretty happy with the new version of Visual FoxPro!– and still do FPW-conversions <eg>

Page 18: Trends you need to know for Visual FoxPro 9.0 and above

But obviously we can learn…• as we are still standing• we know maintenance over years• we know conversion / transition of old

apps• we do real world work

Page 19: Trends you need to know for Visual FoxPro 9.0 and above

Advantages of Visual FoxPro

There are a lot of reasons to use Visual Foxpro as an integrated development environment for

datacentric apps

Page 20: Trends you need to know for Visual FoxPro 9.0 and above

Low Cost DE• No runtime fees for application

– Desktop, Network and Internet incl. Webservices

• No runtime fees for database engine– Desktop, Multi-user, Internet-applications

• No runtime fees for report designer / reports• Low cost for development environment• Various integrated tools included for all areas

– Plus various builders and wizards

• Install Shield Express for Rollout included

Page 21: Trends you need to know for Visual FoxPro 9.0 and above

Powerfull DE• Powerfull development language (Script)• Powerfull relational database

– alternative: Client/Server-Backend-Access

• Record- and SQL-data access integrated• Calculatable projects for development of

data-centric applications• Fast applications on high performance local

table engine• Long support time till 2014 for current

version

Page 22: Trends you need to know for Visual FoxPro 9.0 and above

Visual FoxPro Language• Hybrid programming language

– Procedural (great for batch jobs)• Self-modifying code or code generation• As scripting language for IIS (Active FoxPro Pages)

– Data-aware commands• Compiled commands for local database engine• Even very helpful in Client/Server scenario

– Object-based (like Visual Basic)• But Using real Containers instead of SimpleFrame

– Object-oriented (with Business Objects)• Subclassing even of ActiveX-controls• But Ignoring theory of total encapsulation

Page 23: Trends you need to know for Visual FoxPro 9.0 and above

Visual FoxPro Database• Hybrid database commands

– Fast Xbase table commands (records)– SQL (groups, CURrent Set of recORds)– Mixed use (xbase on cursor), my favorite

• Replace all a.val with b.val for seek( a.key, „b“)

• „Compiled“ database access– Critic: no strict type checking in language– Vice versa: always database comand strings…

• Top tool for ETL-processing– Extraction, transformation, loading for

datawarehouse

Page 24: Trends you need to know for Visual FoxPro 9.0 and above

Visual FoxPro Specialties• OOP Special:

– Awareness of parent and all other objects – Container subclassing incl. ActiveX-Controls– Ease of Redirection of subclassing– Not Collection-oriented only

• PROG Special:– Evaluate, Macro, Excescript, Compile– Definition files are tables– Command window for direct execution

Page 25: Trends you need to know for Visual FoxPro 9.0 and above

Tools built in VFP by VFP-developers

• FFC -  Lisa Slater Nicholls and Ken Levy • Class Browser - Ken Levy• Component Gallery - Ken Levy• Object Browser - Markus Egger• Rational Rose Wizard - Markus Egger• TaskPane in VFP 8.0 - Ryan Katri and Beth Massi• CursorAdapter/DataEnvironment Builders- Doug

Hennig• SuperClass - Ken Levy - toolbar, then in Class

Browser• IntelliSense – Calvin Hsia

Page 26: Trends you need to know for Visual FoxPro 9.0 and above

Visual FoxPro 8.0• Taskpane, Toolbox, Code Reference• Eventbinding• Try-Catch-Errorhandling• Visual Subclassing for page, column, …, …• Collections• CursorAdaptor• Delayed Databinding• AutoIncrement-Fields• Hyperlinks

Page 27: Trends you need to know for Visual FoxPro 9.0 and above

Visual FoxPro 9.0• Extended reportwriter with protected mode• No limits in SQL-statements and other areas• Extended SQL-syntax• New data types and data functions• Docking and resizing for own forms• Graphic functions• Enhanced property sheet with builder support• Background compilation

Page 28: Trends you need to know for Visual FoxPro 9.0 and above

Visual FoxPro in numbers

Page 29: Trends you need to know for Visual FoxPro 9.0 and above

The VFP-community in numbers• Questionnaire from Microsoft Corp.,

Redmond

• More than 100.000 active developers• About 15.000 active in online communities• 125 Usergroups and 8 conferences

• 54% use SQL-Server and/or MSDE• 18% use .NET (compact framework, ASP)

Page 30: Trends you need to know for Visual FoxPro 9.0 and above

Microsoft Marketing

How to talk about something that is not really existing for VFP <eg>

What could be done instead?

Page 31: Trends you need to know for Visual FoxPro 9.0 and above

3 times moving is like 1 time burned town

• Recommendation 1: Use Access instead as the main desktop database tool from Microsoft

• Recommendation 2: Integration with Visual Studio 97, use Visual Studio instead

• Recommendation Internet: Use ASP– Do you remember Visual InterDev?– Where are Dashboards & WebParts nowadays?

• Recommendation 3: Use Visual Studio.NET– Maybe they should migrate Office first?

Page 32: Trends you need to know for Visual FoxPro 9.0 and above

Why this confusion?• No dedicated product managers on country

level• But: Allowance to attack other own products• Main marketing line „One face to the customer“ • Development tools only to support Windows-

environment and not as a real business unit– No need/allowance to support older versions– No need to earn money with existing customers

• Main focus on selling updates / new versions– Role switching every two years, short term numbers

are very important

Page 33: Trends you need to know for Visual FoxPro 9.0 and above

Technical advantages• Take-over of new idea and code from

other Microsoft products and departments• Development of the product • Support of current versions of Windows• Life cycle support garantue• Support program for communities

– Not really for VFP-communities

• Still largest supplier in former XBASE-markte

Page 34: Trends you need to know for Visual FoxPro 9.0 and above

Marketing disadvantages• Never ending „FoxPro is dead“

– Low visibility outside of VFP-community

• Never ending „We still sell this?“– Low visibility within Microsoft company

• No press work• Non-successfull strategic decisions to fit

into most current Microsoft marketing masterplan

Page 35: Trends you need to know for Visual FoxPro 9.0 and above

Now we have a look how it could be!

• Online website of a competitor– Visual FoxPro is a superior tool compared to offer– But marketingwise they are looking much better– And address a „completly different market“

HAVE A LOOK NOW

• Marketing outside of the VFP-community needed– Real market is not the update-market MS prefers– Market has to be accessed by Third-Party

Page 36: Trends you need to know for Visual FoxPro 9.0 and above

Recommendation• Visual FoxPro 9.0 is a

powerfull version each and every VFP-developer should get right away

• Short term best results could be achieved with powerfull frameworks

• Long term MS will still try to move VFP-community to .NET – even if it is „impossible“ to make all features available

Page 37: Trends you need to know for Visual FoxPro 9.0 and above

Advantages of Frameworks

There are a lot of standard features needed for rapid

application development, here an example

Page 38: Trends you need to know for Visual FoxPro 9.0 and above

Visual Extend Capabilities• Proven framework with standard functions• Rich set to enhance enduser application• Builders for Rapid App. Development• Standardized Design & Layout

– Standard forms for various tasks– Grid-Page for search, Edit-Pages for details

• Sourcecode included except Builders• No Business Objects, just 2-Tier-Apps

Page 39: Trends you need to know for Visual FoxPro 9.0 and above

Rapid Application Development• 2 tiers are most often enough for a good

and fast application of small to medium size

• Customers often are not willing to pay much higher price for maybe lower maintenance cost in the future

• Business functions can still be encapsulated in classes which are to be used by the GUI, but these do not have to be clean BOs

Page 40: Trends you need to know for Visual FoxPro 9.0 and above

Rapid Application Conversion• If you do not try to re-invent the wheel

conversion of FoxPro/Windows applications with the help of a framework is pretty fast-forward as you can take over tables, reports and batch-code

• It is „kind of a re-write“ but not really as you can reuse your knowledge and rebuild the application very fast in VFP

Page 41: Trends you need to know for Visual FoxPro 9.0 and above

Client/Server Example

Cursor Adaptor class really helps in building two-tiered applications

which are a must nowadays

Page 42: Trends you need to know for Visual FoxPro 9.0 and above

Data Access Theory• Cursor Adaptor

– Class: Properties, Methods– VFX Connection Manager

• Advantages– Data source can be switched at runtime– Access information encrypted– Support for DBC– Support for SQL-Server

• Special: Fat Client data access via Internet– Used by us for e.g. webshop update and

registration

Page 43: Trends you need to know for Visual FoxPro 9.0 and above

Sample Application• Venelinas• Fantastic• Pizzas

Page 44: Trends you need to know for Visual FoxPro 9.0 and above

VFPizza• Completly based on Cursor Adaptor

– Optimized data access with where-clauses

• Runs on DBC and SQL-Server• Uses linked child forms

– See VFX parent/child-builder

• OnetoMany-Forms with picklist• Treeviewform• Localization at runtime

Page 45: Trends you need to know for Visual FoxPro 9.0 and above

Data Access in practise• VFX Cursor Adaptor Wizard• Create new form with VFX Form wizard• Test• Upsize• Manage Config.vfx

Page 46: Trends you need to know for Visual FoxPro 9.0 and above

New Features for developers• Taskpanes• Project Update Wizard• Application Builder• Cursor Adaptor Wizard• Parent/Child Builder• Audit Trigger Wizard• Project Documenting

Page 47: Trends you need to know for Visual FoxPro 9.0 and above

New application Features: Traders• Based on tastrade.dbc• Office compatible• Print to eMail and fax• 1:n-forms with picklists• Product activation• Product internet update

– Customer management– Version management

• Remote administration

Page 48: Trends you need to know for Visual FoxPro 9.0 and above

New application Features: Test• User groups• Document container• cOnetoManyPageFrame• Business graphics• Menue Extras

Page 49: Trends you need to know for Visual FoxPro 9.0 and above

Internet Example

Powerfull features that should have been integrated into Visual

FoxPro a long time ago!

Page 50: Trends you need to know for Visual FoxPro 9.0 and above

Pre-requisites• Create Internet forms with one mouse click

• Visual FoxPro 9.0• Visual Extend 9.0• Internet Information Server• Active FoxPro Pages

– Or Active Extend Server

Page 51: Trends you need to know for Visual FoxPro 9.0 and above

Current results• Transformation of layout including pages• Validations have to be moved manually• Support for VFX-forms only• Support for DBC / DBF only• User-Login• XPOpen-Dialog• Various standard features• Small compatible framework to manage

code

Page 52: Trends you need to know for Visual FoxPro 9.0 and above

VFX 9.0: Test now• 30 days free trial version• Example VFPizza• Example VFXTraders• Example VFXTest• VFX-Internet-Wizard included• Manual in German/English• Newsgroup / forum support• Portal with lots of documents

Page 53: Trends you need to know for Visual FoxPro 9.0 and above

Thank You!

Visit our websites at http://www.dfpug.de, http://portal.dfpug.de, http://forum.dfpug.de,

http://newsletter.dfpug.de, http://devcon.dfpug.de, http://roadshow.dfpug.de, http

://www.visualextend.com, http://www.linuxtransfer.de, http://www.visualfoxpro.de