Benutzer-Werkzeuge

Webseiten-Werkzeuge


warum_visual_foxpro

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
warum_visual_foxpro [15.03.2013 12:58]
Joachim Hilgers [FoxPro wurde eingestellt]
warum_visual_foxpro [05.08.2015 10:50]
Joachim Hilgers div. Tippfehler
Zeile 1: Zeile 1:
 ====== Allgemeines ====== ====== Allgemeines ======
-Auf dieser Seite finden sie Infos rund um Visual FoxPro, die ihnen eine realistische Bewertung dieses Werkzeuges ermöglichen sollen.+Auf dieser Seite finden sie Infos rund um Visual FoxPro, die ihnen eine - hoffentlich ​realistische ​Bewertung dieses Werkzeuges ermöglichen sollen.
  
 ====== Historie ====== ====== Historie ======
  
-Visual Foxpro ist aus einem xBase-Produkt (FoxBase, FoxPro) entstanden, dessen Wurzeln zum Anfang der 80er Jahre zurückreichen ​und unterstützt auch noch immer dessen Sprachsyntax. FoxPro ​ist dabei seit Jahren ​die annerkannt ​schnellste auf PC-Hardware verfügbare Datenbank, was wohl Anfang der 90er Jahre auch für Microsoft ausreichender Grund war, die komplette Firma Fox Software einzukaufen. Spekulationen darüber, daß Microsoft ​FoxPro nur aufgekauft ​hat, um an die Rushmore-Technologie heranzukommen,​ die maßgeblich für die enorme Performance ist, waren seitdem praktisch an der Tagesordnung. Zudem brachte Microsoft kurz nach dem Aufkauf sein (ebenfalls eingekauftes) ACCESS 1.0 auf den Markt und vermarktete anschließend praktisch nur dieses Produkt als "​Datenbank Entwickler Werkzeug"​. Dies alles führte mit schöner Regelmäßigkeit zu aufkommenden Gerüchten bezüglich der Einstellung des Produktes FoxPro, die zudem auch durch absolut miserables FoxPro-Marketing (eigentlich nicht vorhandenes Marketing) verstärkt wurden. Datenbankentwicklern wurde bei allen möglichen Gelegenheiten mit schöner Regelmäßigkeit VB,  ACCESS und sogar C++ als Entwicklungswerkzeug empfohlen. All diese widrigen Umstände haben dem Produkt selbst jedoch nicht geschadet, lediglich seinem Bekanntheitsgrad. In der Folgezeit hat sich jedoch selbst bei Microsoft die Erkenntnis durchgesetzt, ​daß im eigenen Hause VFP das leistungsfähigste ​Datenbankentwicklungstoinol ​ist. +Visual Foxpro ist aus einem xBase-Produkt (FoxBase, FoxPro) entstanden, dessen Wurzeln zum Anfang der 80er Jahre zurückreichen. Es unterstützt auch noch immer dessen Sprachsyntax. FoxPro ​war über Jahre die anerkannt ​schnellste auf PC-Hardware verfügbare Datenbank, was wohl Anfang der 90er Jahre auch für Microsoft ausreichender Grund war, die komplette Firma Fox Software einzukaufen. ​Es gab Spekulationen darüber, daß FoxPro nur aufgekauft ​wurde, um an die Rushmore-Technologie heranzukommen,​ die maßgeblich für die enorme Performance ist. Zudem brachte Microsoft kurz nach dem Aufkauf sein (ebenfalls eingekauftes) ACCESS ​(Version ​1.0auf den Markt und vermarktete anschließend praktisch nur dieses Produkt als "​Datenbank-Entwickler Werkzeug"​. Dies alles führte mit schöner Regelmäßigkeit zu aufkommenden Gerüchten bezüglich der baldigen ​Einstellung des Produktes FoxPro, die zudem auch durch absolut miserables FoxPro-Marketing (eigentlich nicht vorhandenes Marketing) verstärkt wurden. Datenbankentwicklern wurde bei allen möglichen Gelegenheiten ​und mit schöner Regelmäßigkeit VB,  ACCESS und sogar C++ als Entwicklungswerkzeug ​für Datenbank-orientierte Anwendungen ​empfohlen. All diese widrigen Umstände haben dem Produkt selbst jedoch nicht geschadet, lediglich seinem Bekanntheitsgrad. In der Folgezeit hat sich jedoch selbst bei Microsoft ​- oder zumindest in Teilen der Firma - die Erkenntnis durchgesetzt, ​dass im eigenen Hause VFP das leistungsfähigste ​Datenbankentwicklungstool ​ist.
- +
  
 Der Aufhänger "​xBase"​ wurde seitdem von Microsoft nicht mehr benutzt, was eigentlich auch richtig ist.  Der Aufhänger "​xBase"​ wurde seitdem von Microsoft nicht mehr benutzt, was eigentlich auch richtig ist. 
  
-VFP ist zwar immer noch xBase kompatibel (was z.B. die unterstützten ​Sprachkonstrukte ​betrifft), hat aber im Kern nichts mehr mit dieser Welt zu tun. Die flexiblen und mächtigen auf Datenhandling hin optimierten xBase-Befehle sind im Jahr 95 in ein neu entwickeltes System (VFP 3.0) eingeflossen,​ das jedoch zum objektorientierten System mit stark erweiterter Datenbank- Engine mutiert ist. Die Erweiterungen waren so gravierend, daß selbst langjährige FoxPro-Experten längere Zeit an diesem "​Brocken"​ zu knabbern hatten. ​+VFP ist heute zwar immer noch "xBase kompatibel" ​(was z.B. die unterstützten ​Sprach Konstrukte ​betrifft), hat aber im Kern nichts mehr mit dieser Welt zu tun. Die flexiblen und mächtigen auf Datenhandling hin optimierten xBase-Befehle sind im Jahr 95 in ein neu entwickeltes System (VFP 3.0) eingeflossen,​ das jedoch zum objektorientierten System mit stark erweiterter Datenbank-Engine mutiert ist. Die Erweiterungen waren so gravierend, daß selbst langjährige FoxPro-Experten längere Zeit an diesem "​Brocken"​ zu knabbern hatten. ​
  
 +Ab der Version 5.0 war VFP seinen Kinderschuhen entwachsen (die da "​Unterstützung für 16-Bit-Windows"​ heißen) und kann lediglich unter 32/64-Bit Windows (Win95, NT, W2000, Vista, 7) ausgeführt werden. Es tritt in direkte Konkurrenz zu den Client- Entwicklungsumgebungen der diversen Hersteller von SQL-Servern (Oracle, Sybase), ist ein sehr guter Client für den MS-SQL Server und als Fileserver-basiertes DBMS wohl immer noch so ziemlich konkurrenzlos. ​
  
- +Im Jahr 2007 hat Microsoft dann bekannt gegeben, dass die zu dem Zeitpunkt aktuelle Version 9 die [[#​foxpro_wurde_eingestellt|letzte ​Version]] sein wird und dass im Rahmen der Produktpflege lediglich Service Packs veröffentlicht werden. Momentan ist VFP 9 SP 2 die aktuellste ​Version.
-Ab der Version 5.0 war VFP seinen Kinderschuhen entwachsen (die da "​Unterstützung für 16-Bit-Windows"​ heißen) und kann lediglich unter 32/64-Bit Windows (Win95, NT, W2000, Vista, 7) ausgeführt werden. Es tritt in direkte Kokurrenz zu den Client- Entwicklungsumgebungen der diversen Hersteller von SQL-Servern (Oracle, Sybase), ist der Client für den MS-SQL Server und als Fileserver-basiertes DBMS wohl immer noch so ziemlich konkurrenzlos.  +
- +
-Im Jahr 2007 hat Microsoft dann bekannt gegeben, dass die zu dem Zeitpunkt aktuelle Version 9 die letze Version sein wird und dass im Rahmen der Produktpflege lediglich Service Packs veröffentlicht werden. Momentan ist VFP 9 SP 2 die aktuelleste ​Version.+
  
 s.a.: [[#​foxpro_wurde_eingestellt| FoxPro wurde eingestellt]] s.a.: [[#​foxpro_wurde_eingestellt| FoxPro wurde eingestellt]]
  
-Eine durch internationale Zusammenarbeit entstandene ​Web Site über die Fox-Geschichte finden Sie auf www.foxprohistory.org (in englisch) ​+Eine durch internationale Zusammenarbeit entstandene ​Website ​über die Fox-Geschichte finden Sie auf www.foxprohistory.org (in englisch) ​
  
 ====== FoxPro wurde eingestellt ====== ====== FoxPro wurde eingestellt ======
Zeile 26: Zeile 22:
 Im Sommer 2007 war es "​endlich"​ so weit: Microsoft hat die Weiterentwicklung von Visual FoxPro bei Version 9 eingestellt. Der Standard-Support von Microsoft läuft bis einschließlich Dezember 2009, der erweiterte Support bis einschließlich Dezember 2014 über den Lebenszyklus-Support-Plan für Entwicklertools. ​ Im Sommer 2007 war es "​endlich"​ so weit: Microsoft hat die Weiterentwicklung von Visual FoxPro bei Version 9 eingestellt. Der Standard-Support von Microsoft läuft bis einschließlich Dezember 2009, der erweiterte Support bis einschließlich Dezember 2014 über den Lebenszyklus-Support-Plan für Entwicklertools. ​
  
-Die Teile von Visual FoxPro, die selbst in VFP geschrieben sind (sehr viele Werkzeuge der Entwicklungsumgebung sowie umfangreiche Klassenbibliotheken),​ wurden zum Zeitpunkt der Bekanntgabe von Microsoft als Open Source freigegeben und werden seitdem von der sehr aktiven Entwicklergemeinde selbständig auf **[[http://​vfpx.codeplex.com/​|VFPX]]** weiterentwickelt. ​+Die Teile von Visual FoxPro, die selbst in VFP geschrieben sind (sehr viele Werkzeuge der Entwicklungsumgebung sowie umfangreiche Klassenbibliotheken),​ wurden zum Zeitpunkt der Bekanntgabe von Microsoft als Open Source freigegeben und werden seitdem von der sehr aktiven Entwicklergemeinde selbständig auf **[[http://​vfpx.codeplex.com/​|VFPX]]** weiterentwickelt. \\  
 +Auf [[http://​vfpx.codeplex.com/​|VFPX]] sind u.a. Projekte zu den folgenden Themen zu finden: 
 +  * Unterstützung für xlsx (Excel >= 2007) 
 +  * diverse "​aktuelle"​ Oberflächenelemente 
 +  * FoxUnit für Unit Tests 
 +  * Erweiterungen der Entwicklungsumgebung 
 +  * Grafikunterstützung 
 +  * ...
  
-Für Entwickler und Kunden bedeutet das "​Aus"​ jedoch keineswegs, dass jetzt möglichst bald alle FoxPro-Aktivitäten eingestellt werden müssen, denn Anwendungen,​ die unter FoxPro entwickelt wurden, sind oft enorm langlebig +Für Entwickler und Kunden bedeutet das "​Aus"​ jedoch keineswegs, dass jetzt möglichst bald alle FoxPro-Aktivitäten eingestellt werden müssen, denn Anwendungen,​ die unter FoxPro entwickelt wurden, sind oft enorm langlebig: 
-  * Visual FoxPro ​lauft auf allen Windows Versionen ab Windows 95 bis zur aktuellen Version Windows 8+  * Visual FoxPro ​Anwendungen laufen ​auf allen Windows Versionen ab Windows 95 bis zur aktuellen Version Windows 8
   * Unter Linux ist VFP mittels [[http://​appdb.winehq.org/​|WINE]] lauffähig ​   * Unter Linux ist VFP mittels [[http://​appdb.winehq.org/​|WINE]] lauffähig ​
   * Die Teilnehmer der FoxPro Entwicklerkonferenz in Frankfurt, konnten sich im nicht gerade kleinen gastgebenden Hotel regelmäßig davon überzeugen,​ dass dort der Empfang mit einer Software arbeitete, die unter FoxPro DOS 2.6 läuft, einer FoxPro-Version,​ die **1992** auf den Markt kam und somit anscheinend immer noch problemlos lauffähig ist.   * Die Teilnehmer der FoxPro Entwicklerkonferenz in Frankfurt, konnten sich im nicht gerade kleinen gastgebenden Hotel regelmäßig davon überzeugen,​ dass dort der Empfang mit einer Software arbeitete, die unter FoxPro DOS 2.6 läuft, einer FoxPro-Version,​ die **1992** auf den Markt kam und somit anscheinend immer noch problemlos lauffähig ist.
 +  * Es gibt sehr viele noch laufende FoxPro-Anwendungen,​ die über viele Jahre gewachsen sind und in denen Teilbereiche zusammenarbeiten,​ die mit unterschiedlichen FoxPro-Versionen aus 3 Jahrzehnten realisiert wurden.
  
-====== Was kommt nach FoxPro ? ====== +====== Was kommt nach FoxPro? ====== 
- +Viele FoxPro-Entwickler sind nach der Einstellung des Produkts (die wie oben beschrieben keine kurzfristigen ​Auswirkungen auf die Lauffähigkeit existierender Software hat!) auf der Suche nach einer anderen ​Entwicklungsplattform für **zukünftige** Projekte.
-Viele FoxPro-Entwickler sind nach der Einstellung des Produkts (die wie oben beschrieben keine kurzfrisigen ​Auswirkungen auf die Lauffähigkeit existierender Software hat!) auf der Suche nach einer anderen ​Entwicklungsplatform+
  
 Die deutschsprachige FoxPro User Group favorisiert dabei das auf .net basierende Silverlight aus dem Hause Microsoft. Die dFPUG bietet hierfür auch einen Konverter für existierende FoxPro Anwendungen an. Die deutschsprachige FoxPro User Group favorisiert dabei das auf .net basierende Silverlight aus dem Hause Microsoft. Die dFPUG bietet hierfür auch einen Konverter für existierende FoxPro Anwendungen an.
  
-Viele andere Entwickler, wie auch wir, halten [[Servoy]] für den vielversprechenderen ​"Kanditaten". Die Gründe hierfür sind zum einen die bei Microsoft erfolgenden sehr kurzen Release-Zyklen im .net-Umfeld. Diese machen es für Entwickler sehr schwer, das teuer erarbeitetet "Wie geht das" und vor allem "wie mache ich es am besten **nicht**"​-Know How sinnvoll in Projekten anwenden zu können. Zum anderen ist [[Servoy]] von den zugrundeliegenden ​Konzepten der Entwicklungsumgebung zumindest "​gefühlt"​ näher an denen, die FoxPro Entwickler kennen.+Viele Entwickler möchten bei Microsoft bleiben und versuchen sich in "​purem"​ .net (c# oder VB.net) und haben hier zumeist mit erheblichen Produktivitätsverlusten zu kämpfen. Oder sie benutzen LightSwitch und sind so an relativ enge Vorgaben gebunden, wie Anwendungen aussehen und funktionieren müssen. 
 + 
 +Viele andere Entwickler, wie auch wir, halten [[Servoy]] für einen vielversprechenden ​"Kandidaten". Die Gründe hierfür sind zum einen die bei Microsoft erfolgenden sehr kurzen Release-Zyklen im .net-Umfeld. Diese machen es für Entwickler sehr schwer, das teuer erarbeitetet "Wie geht das" und vor allem "wie mache ich es am besten **nicht**"​-Know How sinnvoll in Projekten anwenden zu können. Zum anderen ist [[Servoy]] von den zu Grunde liegenden ​Konzepten der Entwicklungsumgebung zumindest "​gefühlt"​ näher an denen, die FoxPro Entwickler kennen. Und letztlich glänzt die Servoy Entwicklungsumgebung durch enorme Produktivität beim Entwickeln von Datenbank-orientierten Geschäftsanwendungen.
  
 ====== FoxPro und .NET ====== ====== FoxPro und .NET ======
  
-FoxPro ist nie Bestandteil des .NET-Frameworks geworden. Es dort hinein zu integrieren hätte auch ziemlich wenig Sinn gemacht, da dann ein Grossteil ​der vorhandenen (Datenbank-) Funktionalität und vor allem der hochspezialisierten Entwicklungsumgebung wegfallen wären. ​+FoxPro ist nie Bestandteil des .NET-Frameworks geworden. Es dort hinein zu integrieren hätte auch ziemlich wenig Sinn gemacht, da dann ein Großteil ​der vorhandenen (Datenbank-) Funktionalität und vor allem der hochspezialisierten Entwicklungsumgebung wegfallen wären. ​
  
 Einer engen Zusammenarbeit im .NET-Konzert steht von FoxPro-Seite jedoch nichts entgegen, da durch die integrierte XML-Unterstützung Webservices sowohl auf der Serverseite "​befeuert"​ als auch als Client genutzt werden können. Ansonsten kann per COM-Interop direkt auf Objekte der jeweils anderen Seite zugegriffen werden Einer engen Zusammenarbeit im .NET-Konzert steht von FoxPro-Seite jedoch nichts entgegen, da durch die integrierte XML-Unterstützung Webservices sowohl auf der Serverseite "​befeuert"​ als auch als Client genutzt werden können. Ansonsten kann per COM-Interop direkt auf Objekte der jeweils anderen Seite zugegriffen werden
  
 Aus den Reihen der FoxPro-Gemeinde gibt es zudem noch mehrere bemerkenswerte Projekte. Aus den Reihen der FoxPro-Gemeinde gibt es zudem noch mehrere bemerkenswerte Projekte.
-  * Das Projekt [[http://​guineu.foxpert.com/​ Guineu]], das von Christof Wollenhaupt betreut wird. Guineu ermöglicht es, FoxPro-Code in einem in .NET implementierten Interpreter,​ bis hinunter zu PDAs laufen zu lassen. +  * Das Projekt [[http://​guineu.foxpert.com/​ Guineu]], das von Christof Wollenhaupt betreut wird. Guineu ermöglicht es, FoxPro-Code in einem in .NET implementierten Interpreter,​ bis hinunter zu Windows Mobile ​laufen zu lassen. 
-  * Der [[http://www.etecnologia.net|NET Extender for VFP]] ermöglicht es, innerhalb von FoxPro auf die gesamte .NET Klassenbibliothek zuzugreifen. Der selbe Hersteller bietet zudem den [[http://​www.etecnologia.net|VFPCompiler for .NET.]] an, der VFP-Code in .NET Assemblies übersetzt. +  * [[http://west-wind.com/​wwDotnetBridge.aspx|wwDotnetBridge]] von Rick Strahl ​ermöglicht es, recht problemlos aus FoxPro-Codes heraus ​auf die gesamte .NET Klassenbibliothek zuzugreifen ​und somit deren Möglichkeiten zu nutzen
-  * Bei der [[http:​www.dfpug.de|dFPUG]] wird an einem Konverter gearbeitet, der VFP-Programme so aufbereitet,​ dass sie unter Silverlight lauffähig sind.+
  
 ====== Offizielle Positionierung durch Microsoft ====== ====== Offizielle Positionierung durch Microsoft ======
Zeile 56: Zeile 60:
 Grundsätzlich hatte Microsoft wohl tatsächlich immer ein "​Problem"​ mit Visual FoxPro, denn der Fuchs steht eigentlich in direkter Konkurrenz zum SQL-Server. Da Microsoft naturgemäß keine Interesse daran hat, im eigenen Lager zu "​wildern",​ war die Positionierung lange Zeit ziemlich unklar, es wurde teilweise sogar vom Einsatz abgeraten. ​ Grundsätzlich hatte Microsoft wohl tatsächlich immer ein "​Problem"​ mit Visual FoxPro, denn der Fuchs steht eigentlich in direkter Konkurrenz zum SQL-Server. Da Microsoft naturgemäß keine Interesse daran hat, im eigenen Lager zu "​wildern",​ war die Positionierung lange Zeit ziemlich unklar, es wurde teilweise sogar vom Einsatz abgeraten. ​
  
-Ein unbestätigtes aber realistisches Zitat: //"​Jede Schachtel FoxPro, die wir verkaufen, kostet uns 10.000 Dollar SQL-Server-Lizengebühren"//​. ​+Ein unbestätigtes aber realistisches Zitat: //"​Jede Schachtel FoxPro, die wir verkaufen, kostet uns 10.000 Dollar SQL-Server-Lizenzgebühren"//​. ​
  
 Nun ja - überlegen Sie, was das aus Kostensicht für **Ihre eigene** Investition in eine zu entwickelnde oder pflegende Software bedeuten kann... Nun ja - überlegen Sie, was das aus Kostensicht für **Ihre eigene** Investition in eine zu entwickelnde oder pflegende Software bedeuten kann...
Zeile 63: Zeile 67:
  
 ===== DotNet/​VB.NET/​C#​.NET ===== ===== DotNet/​VB.NET/​C#​.NET =====
 +.net wurde Anfang der 2000er Jahre von Microsoft auf den Markt gebracht und war eine von Grund auf neu entwickelte Plattform in die viele Konzepte aus der Java-Plattform eingeflossen sind. Die beiden Haupt-Programmiersprachen sind c# und VB.net, die einen recht ähnlichen Funktionsumfang haben.
  
-Hinweisdiese Infos werden ​momentan überarbeitet... +Da .net momentan mehr oder weniger die einzige reine Entwicklungsplattform ist, die von Microsoft vermarktet wird (abgesehen von den Programmiermöglichkeiten innerhalb diversen Anwendungen wie VBA in Office oder innerhalb von SharePoint) ist es der "​natürliche Kandidat"​ für viele Microsoft-nahen Entwicklungsprojekte.  
 + 
 +.Net ist eine unglaublich tolle Umgebung um alle möglichen Arten von Anwendungen zu entwickeln. \\  
 +Aus unserer Sicht hat sie aber die folgenden Nachteile: 
 +  * Microsoft hat seit langem Entwicklungszyklen von 18-24 Monaten, was leider oft bedeutet, dass die im Rahmen eines Entwicklungsprojektes gemachten Erfahrungen oft nur bedingt oder teilweise auf das nächste Projekt übertragen ​werden ​könnenLeider ist gerade das Thema "​Erfahrung mit dem gewählten Werkzeug"​ ein zentraler Baustein für verlässliche Planung und Qualität (=Termine + Kosten) 
 +  * .net zeichnet sich im Bereich Datenbank-orientierter Anwendungen im Vergleich zu darauf spezialisierten Entwicklungsumgebungen wie FoxPro oder Servoy nicht gerade durch überbordende Produktivität aus: viele "​coole"​ Features sind schnell und einfach zu lösen. Aber zentrale und immer wiederkehrende Aufgabenstellungen wie "Daten in Masken anzeigen"​ oder "​Berichte"​ sind recht aufwändig oder - wie schon beschrieben - ändern sich alle zwei Jahre grundlegend... 
 +  * .net Anwendungen tendieren dazu, aus einer großen Anzahl komplementärer,​ aber jeweils recht anspruchsvoller Techniken (Stichworte:​ OR-Mapper, Dependency Injection Container, Build Server, Reporting Services, WPF/​XAML...) zusammengesetzt zu werden, was die interne Gesamtkomplexität der Anwendungen erheblich steigern kann.
  
 ===== ACCESS ===== ===== ACCESS =====
  
-Mit ACCESS lassen sich recht einfach und schnell Datenbankanwendungen entwickeln. Deshalb wurde ACCESS von Microsoft in der Anfangseit ​als "DAS Datenbank-Entwicklungswerzeug" gepriesen. Inzwischen wird es jedoch nicht mehr unter diesem Label plaziert. Stattdessen hat es seinen Platz im Office Paket gefunden. Dies ist u.a. eine Folge daraus, dass ACCESS relativ schnell an seine Performancegrenzen stößt. Genaue Zahlen für diese Grenzen sind sehr schwer zu nennen, da diese stark von der Art der Anwendung abhängen. Generell kann man allerdings sagen, dass man auf der sicheren Seite bleibt, wenn man +Mit ACCESS lassen sich recht einfach und schnell Datenbankanwendungen entwickeln. Deshalb wurde ACCESS von Microsoft in der Anfangszeit ​als "DAS Datenbank-Entwicklungswerkzeug" gepriesen. Inzwischen wird es jedoch nicht mehr unter diesem Label plaziert. Stattdessen hat es seinen Platz im Office Paket gefunden. Dies ist u.a. eine Folge daraus, dass ACCESS relativ schnell an seine Performancegrenzen stößt. Genaue Zahlen für diese Grenzen sind sehr schwer zu nennen, da diese stark von der Art der Anwendung abhängen. Generell kann man allerdings sagen, dass man auf der sicheren Seite bleibt, wenn man 
   * einstellige Benutzerzahlen hat    * einstellige Benutzerzahlen hat 
-  * Daten bis max 20-50-MB verwaltet ​+  * Daten bis max20-50-MB verwaltet ​
  
-Die Möglichkeit "​einfach und schnell"​ zu entwickeln bedingt allerdings auch, daß für den Entwickler relativ wenig Spielraum besteht, zu bestimmen, wie etwas (intern) geschehen soll. Gößere ​Projekte sind durch diese Einschränkung sowie die fehlenden OO-Möglichkeiten mit einem deutlich erhöhten Programmierungs- und Wartungsaufwand verbunden. ​+Die Möglichkeit "​einfach und schnell"​ zu entwickeln bedingt allerdings auch, dass für den Entwickler relativ wenig Spielraum besteht, zu bestimmen, wie etwas (intern) geschehen soll. Größere ​Projekte sind durch diese Einschränkung sowie die fehlenden OO-Möglichkeiten mit einem deutlich erhöhten Programmierungs- und Wartungsaufwand verbunden. ​
  
 ===== Visual Basic (VB6) ===== ===== Visual Basic (VB6) =====
Zeile 88: Zeile 99:
 ===== Delphi ===== ===== Delphi =====
  
-Anmerkung:​inzwischen hat die Firma Borland Delphi verkauft. ​ +Anmerkung: inzwischen hat die Firma Borland Delphi verkauft.  
- +Viele Delphi Entwickler suchen sich deshalb inzwischen ​ebenfalls ​eine "neue Heimat"​... ​
-Viele Delphi Entwickler suchen sich deshalb inzwischen eine "neue Heimat"​... ​ +
- +
-Im wesentlichen kann Delphi ähnlich wie VB plaziert werden, hat jedoch deutlich bessere Möglichkeiten im Bereich größerer Projekte. Delphi hat zudem Vorteile bei der Erstellung kleiner EXE-Programme (Keine Abhängigkeit von Runtimes wie bei VB+VFP) ​+
  
 +Im wesentlichen kann Delphi ähnlich wie VB platziert werden, hat jedoch deutlich bessere Möglichkeiten im Bereich größerer Projekte. Delphi hat zudem Vorteile bei der Erstellung kleiner EXE-Programme (Keine Abhängigkeit von Runtimes wie bei VB+VFP) ​
  
 ===== SQL Server ===== ===== SQL Server =====
Zeile 101: Zeile 110:
 Sie sind dann sinnvoll oder notwendig wenn Sie sind dann sinnvoll oder notwendig wenn
   * mehrere hundert oder tausend Benutzer zu "​bedienen"​ sind   * mehrere hundert oder tausend Benutzer zu "​bedienen"​ sind
-  * erhöhte Anforderungen an den Zugriffsschutz gestellt werden+  * erhöhte Anforderungen an den Zugriffsschutz gestellt werden ​(z.B. personenbezogene Daten)
   * erhöhte Anforderungen an die Transaktionssicherheit gestellt werden ​   * erhöhte Anforderungen an die Transaktionssicherheit gestellt werden ​
   * nur eine relativ instabile Verbindung zwischen Client und Server besteht   * nur eine relativ instabile Verbindung zwischen Client und Server besteht
Zeile 111: Zeile 120:
 VFP ist nach rund 20-jähriger Weiterentwicklung immer noch besonders für datenintensive Anwendungen geeignet. Dabei werden die Bereiche sicher abgedeckt, für die ACCESS nicht mehr ausreichend oder ein SQL Server überdimensioniert ist.  ​ VFP ist nach rund 20-jähriger Weiterentwicklung immer noch besonders für datenintensive Anwendungen geeignet. Dabei werden die Bereiche sicher abgedeckt, für die ACCESS nicht mehr ausreichend oder ein SQL Server überdimensioniert ist.  ​
  
-Es lassen sich Anwendungen ​entwicklen, die zunächst für 2 Benutzer und 2 MB Daten gedacht sind, ohne befürchten zu müssen, dass bei 50 Benutzern und 1GB Daten bereits das unvermeidbare Ende für die Applikation gekommen ist. +Es lassen sich Anwendungen ​entwickeln, die zunächst für 2 Benutzer und 2 MB Daten gedacht sind, ohne befürchten zu müssen, dass bei 50 Benutzern und 1GB Daten bereits das unvermeidbare Ende für die Applikation gekommen ist. 
  
 Falls bereits bei der Planung und Realisierung einer VFP-Software eine Trennung in die Schichten Oberfläche,​ Geschäftslogik und Datenzugriff beachtet wird (VFP ist übrigens eines der wenigen Werkzeuge, in dem alle drei Schichten realisiert werden können!), dann können diese bei Bedarf später einzeln ausgetauscht werden. z.B.: Oberfläche in HTML und SQL-Server als Backend. ​ Falls bereits bei der Planung und Realisierung einer VFP-Software eine Trennung in die Schichten Oberfläche,​ Geschäftslogik und Datenzugriff beachtet wird (VFP ist übrigens eines der wenigen Werkzeuge, in dem alle drei Schichten realisiert werden können!), dann können diese bei Bedarf später einzeln ausgetauscht werden. z.B.: Oberfläche in HTML und SQL-Server als Backend. ​
Zeile 125: Zeile 134:
   * [[http://​activevfp.codeplex.com/​|ActiveVFP]]   * [[http://​activevfp.codeplex.com/​|ActiveVFP]]
   * [[http://​www.foxweb.com/​|FoxWeb]]   * [[http://​www.foxweb.com/​|FoxWeb]]
 +  * [[http://​www.foxincloud.com|FoxInCloud]]
 ====== Die Verbreitung von VFP ====== ====== Die Verbreitung von VFP ======
  
 Grob geschätzt gibt es bundesweit ca. 40.000 FoxPro Entwickler, weltweit ca. 200.000. ​ Grob geschätzt gibt es bundesweit ca. 40.000 FoxPro Entwickler, weltweit ca. 200.000. ​
- 
 Rund 1.500 Einzel-Entwickler und Firmen sind in der deutschsprachigen FoxPro User Group (dFPUG) organisiert. Rund 1.500 Einzel-Entwickler und Firmen sind in der deutschsprachigen FoxPro User Group (dFPUG) organisiert.
 +Über die dFPUG werden Regionaltreffen,​ Workshops sowie die jährliche [[http://​www.devcon.dfpug.de|dFPUG Entwicklerkonferenz]] organisiert. ​
  
-Über die dFPUG werden Regionaltreffen,​ Workshops sowie die jährliche [[www.devcon.dfpug.de|Entwicklerkonferenz]] organisiert.  +Der weltweite sehr rege Informationsaustausch unter den Entwicklern erfolgt hauptsächlich über diverse Websites und Newsgroups. Wer dort alle Nachrichten mitlesen möchte, der kommt wahrscheinlich nicht mehr dazu, zu programmieren... Insgesamt gibt es allerdings ​wesentlich weniger VFP-Entwickler als z.B. für ACCESS, VB oder .NET.  
- +VFP-Entwickler sind jedoch ​in den allermeisten Fällen hochqualifiziert und wissen genau, warum sie ausgerechnet dieses Werkzeug einsetzen und nicht das, was gerade angesagt oder in der nächsten Softwareschachtel enthalten ist.
-Der weltweite sehr rege Informationsaustausch unter den Entwicklern erfolgt hauptsächlich über diverse Websites und Newsgroups. Wer dort alle Nachrichten mitlesen möchte, der kommt wahrscheinlich nicht mehr dazu, zu programmieren... ​ +
- +
-Insgesamt gibt es wesentlich weniger VFP-Entwickler als z.B. für ACCESS, VB oder .NET.  +
- +
-VFP-Entwickler sind allerdings ​in den allermeisten Fällen hochqualifiziert und wissen genau, warum sie ausgerechnet dieses Werkzeug einsetzen und nicht das, was gerade angesagt oder in der nächsten Softwareschachtel enthalten ist.+
 ====== Highlights ====== ====== Highlights ======
 VFP bietet für die Entwicklung von Datenbankanwendungen eine ganze Reihe von Features, die nur in diesem Werkzeug verfügbar oder nur hier in dieser Kombination vorhanden sind.  VFP bietet für die Entwicklung von Datenbankanwendungen eine ganze Reihe von Features, die nur in diesem Werkzeug verfügbar oder nur hier in dieser Kombination vorhanden sind. 
Zeile 146: Zeile 150:
  
  
-Diesen Umstand werden alle die zu schätzen wissen, die größere Installationen zu warten haben (Netzwerkadministratoren),​ oder die schon einmal erlebt haben, ​daß auf einem Kundenrechner nach der Installation der eigenen Software "​nichts mehr geht"​... ​+Diesen Umstand werden alle die zu schätzen wissen, die größere Installationen zu warten haben (Netzwerkadministratoren),​ oder die schon einmal erlebt haben, ​dass auf einem Kundenrechner nach der Installation der eigenen Software "​nichts mehr geht"​... ​
  
  
Zeile 160: Zeile 164:
 Die Datenbankfunktionalitäten ermöglichen die effiziente Kommunikation mit dem Datenbank-Back End (z.B. SQL Server, aber auch VFP)  Die Datenbankfunktionalitäten ermöglichen die effiziente Kommunikation mit dem Datenbank-Back End (z.B. SQL Server, aber auch VFP) 
  
-In Kombination mit den OO-Fähigkeiten ​läßt ​sich dann eine sehr flexible, wartungsfreundliche und performante Abbildung der Geschäftsregeln erreichen. ​+In Kombination mit den OO-Fähigkeiten ​lässt ​sich dann eine sehr flexible, wartungsfreundliche und performante Abbildung der Geschäftsregeln erreichen. ​
  
 Die integrierte Datenbankengine ermöglicht die Kombination von SQL-Befehlen mit xBase-Konstrukten. Hier kann z.B. eine per SQL Select erzeugte Ergebnismenge mittels einer SCAN-Schleife durchlaufen werden, um auf den einzelnen Datensätzen komplexe Logiken ablaufen zu lassen. Dies ermöglicht zum einen das Entwickeln von hoch performantem Code, der zugleich durch die Anwendung von OOP-Konzepten wartungsfreundlich gestaltet werden kann.  Die integrierte Datenbankengine ermöglicht die Kombination von SQL-Befehlen mit xBase-Konstrukten. Hier kann z.B. eine per SQL Select erzeugte Ergebnismenge mittels einer SCAN-Schleife durchlaufen werden, um auf den einzelnen Datensätzen komplexe Logiken ablaufen zu lassen. Dies ermöglicht zum einen das Entwickeln von hoch performantem Code, der zugleich durch die Anwendung von OOP-Konzepten wartungsfreundlich gestaltet werden kann. 
Zeile 189: Zeile 193:
   * Anwendungen mit großen Datenmengen ​   * Anwendungen mit großen Datenmengen ​
     * Verarbeitung von mehreren Millionen Datensätzen ​     * Verarbeitung von mehreren Millionen Datensätzen ​
-    * Verarbeitung von Daten im GigaByte-Bereich ​+    * Verarbeitung von Daten im Gigabyte-Bereich ​
     * Anwendungen bei denen es auf schnellsten Zugriff auf große Datenmengen ankommt ​     * Anwendungen bei denen es auf schnellsten Zugriff auf große Datenmengen ankommt ​
     * Komplexe Datenbankanwendungen mit vielen Tabellen und datenbezogenen Ein- und Ausgaben (Masken, Listen)     * Komplexe Datenbankanwendungen mit vielen Tabellen und datenbezogenen Ein- und Ausgaben (Masken, Listen)
Zeile 207: Zeile 211:
   * Die Bundeszentrale des Arbeiter Samariter Bundes in Köln verwaltet rund eine Million Mitglieder komplett mit VFP.    * Die Bundeszentrale des Arbeiter Samariter Bundes in Köln verwaltet rund eine Million Mitglieder komplett mit VFP. 
   * [[http://​fox.wikis.com/​wc.dll?​Wiki~VFPSuccessStories|Hier finden Sie eine Liste]] von - hauptsächlich - US-amerikanischen Projekten, die ständig aktualisiert wird.\\ Einige Beispiele daraus: ​   * [[http://​fox.wikis.com/​wc.dll?​Wiki~VFPSuccessStories|Hier finden Sie eine Liste]] von - hauptsächlich - US-amerikanischen Projekten, die ständig aktualisiert wird.\\ Einige Beispiele daraus: ​
-    * HO Sports, der weltgrößte Herstelle von WasserSki ​und WaveBorads...  +    * HO Sports, der weltgrößte Herstelle von Wasserski ​und WaveBorads...  
-    * 1-800-Contacts. Die größte Mailorder-Kontakte Firma der USA... ​+    * 1-800-Contacts. Die ehemals ​größte Mailorder-Kontakte Firma der USA... ​
     * March of Dimes - California Birth Defects Monitoring Program ​     * March of Dimes - California Birth Defects Monitoring Program ​
   * Die Betriebsdaten des Eurotunnels werden/​wurden mit einer FoxPro-Applikation verwaltet. Hierbei sind ständig rund 128 GB Daten im Zugriff. ​   * Die Betriebsdaten des Eurotunnels werden/​wurden mit einer FoxPro-Applikation verwaltet. Hierbei sind ständig rund 128 GB Daten im Zugriff. ​
-  * Teile der Transport-Logistik der US-Streitkräfte und Teile der Einsatzplanung erfolgen ​ mit VFP. Mit Hilfe dieser Applikation werden u.a. verschiedene Szenarios durchgespielt um Truppen und Ausrüstung möglichst effizient und im Zeitrahmen zu einem Einsatzort zu bringen. Die Anwendung ist hauptsächlich in VFP entwickelt unter Zuhilfenahme einiger ActiveX-Kompinenten, die in C++ entwickelt wurden. \\ "​Military Deployment for the United States Transportation Command"​. \\ Mit den beiden Teil-Applikationen \\ JFAST (Joint Flow and Analysis System for Transportation) \\ SCAS (Small Contingency Airlift Simulation). \\ Das diesbezügliche Buch: "​Modeling with FoxPro",​ Pinnacle Publishing, ISBN 1-880935-26-0 ​+  * Teile der Transport-Logistik der US-Streitkräfte und Teile der Einsatzplanung erfolgen ​ mit VFP. Mit Hilfe dieser Applikation werden u.a. verschiedene Szenarios durchgespielt um Truppen und Ausrüstung möglichst effizient und im Zeitrahmen zu einem Einsatzort zu bringen. Die Anwendung ist hauptsächlich in VFP entwickelt unter Zuhilfenahme einiger ActiveX-Komponenten, die in C++ entwickelt wurden. \\ "​Military Deployment for the United States Transportation Command"​. \\ Mit den beiden Teil-Applikationen \\ JFAST (Joint Flow and Analysis System for Transportation) \\ SCAS (Small Contingency Airlift Simulation). \\ Das diesbezügliche Buch: "​Modeling with FoxPro",​ Pinnacle Publishing, ISBN 1-880935-26-0 ​
  
 ====== wofür sich VFP nicht besonders gut eignet ====== ====== wofür sich VFP nicht besonders gut eignet ======
  
 ^Anwendung ^besser geeignete Werkzeuge ^ ^Anwendung ^besser geeignete Werkzeuge ^
- 
 |"​Hello World"​-Programme |Assembler, C, Delphi| |"​Hello World"​-Programme |Assembler, C, Delphi|
 |Gelegenheitsprogrammierer |Delphi, Visual Basic, ACCESS \\ (VFP ist recht komplex und läßt sich nicht "so nebenbei"​ beherrschen,​ was allerdings durch die Assistenten z.T. ausgeglichen wird) | |Gelegenheitsprogrammierer |Delphi, Visual Basic, ACCESS \\ (VFP ist recht komplex und läßt sich nicht "so nebenbei"​ beherrschen,​ was allerdings durch die Assistenten z.T. ausgeglichen wird) |
warum_visual_foxpro.txt · Zuletzt geändert: 05.08.2015 10:50 von Joachim Hilgers