530 likes | 719 Vues
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.
E N D
Trends Trends you need to know forVisual 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 data-centric 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
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 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
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 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
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