Trends you need to know about for Visual FoxPro - dFPUG

advertisement
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
•
•
•
•
•
•
Takeover of VFP-features
Advantages of Visual FoxPro
Microsoft Marketing
Advantages of Frameworks
Client/Server-Example
Internet-Example
For a long time VFP inherited features
from other Microsoft products…
Now Microsoft is going to duplicate
features of Visual FoxPro in .NET
And it is not only about features…
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?
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…
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 …
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…
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
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
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)
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
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…
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…
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
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
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>
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
Advantages of Visual FoxPro
There are a lot of reasons to use Visual
Foxpro as an integrated development
environment for datacentric apps
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
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 datacentric applications
• Fast applications on high performance local table
engine
• Long support time till 2014 for current version
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
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
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
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
Visual FoxPro 8.0
•
•
•
•
•
•
•
•
•
Taskpane, Toolbox, Code Reference
Eventbinding
Try-Catch-Errorhandling
Visual Subclassing for page, column, …, …
Collections
CursorAdaptor
Delayed Databinding
AutoIncrement-Fields
Hyperlinks
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
Visual FoxPro in numbers
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)
Microsoft Marketing
How to talk about something that is
not really existing for VFP <eg>
What could be done instead?
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?
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 Windowsenvironment 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
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
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
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
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
Advantages of Frameworks
There are a lot of standard features
needed for rapid application
development, here an example
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
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
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 batchcode
• It is „kind of a re-write“ but not really as you can
reuse your knowledge and rebuild the
application very fast in VFP
Client/Server Example
Cursor Adaptor class really helps in
building two-tiered applications which
are a must nowadays
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
Sample Application
• Venelinas
• Fantastic
• Pizzas
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
Data Access in practise
•
•
•
•
•
VFX Cursor Adaptor Wizard
Create new form with VFX Form wizard
Test
Upsize
Manage Config.vfx
New Features for developers
•
•
•
•
•
•
•
Taskpanes
Project Update Wizard
Application Builder
Cursor Adaptor Wizard
Parent/Child Builder
Audit Trigger Wizard
Project Documenting
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
New application Features: Test
•
•
•
•
•
User groups
Document container
cOnetoManyPageFrame
Business graphics
Menue Extras
Internet Example
Powerfull features that should have
been integrated into Visual FoxPro a
long time ago!
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
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
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
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
Download