
מיקרוסופט סגרה את FoxPro ב-2007. פרויקט עצמאי החזיר אותו לחיים
FoxDev Studio, סביבת פיתוח והרצה בקוד פתוח, מריצה יישומי Visual FoxPro 9 במחשבים בני 64 סיביות בלי שלב המרה, ומוסיפה לשפה הישנה למבדות ושרת HTTP. הפרויקט העצמאי אינו דורש כתיבה מחדש.
מיקרוסופט הפסיקה את הפיתוח של Visual FoxPro ב-2007, וגוף גדול של תוכנה עסקית נותר לרוץ על מכונות שרק מזדקנות. הפרויקט העצמאי בקוד פתוח FoxDev Studio בוחר בדרך אחרת מזו של הגירה: הוא מריץ יישומי Visual FoxPro 9 כפי שהם. המחברים מנסחים את המטרה בפשטות: לפתוח את הפרויקטים, הטפסים והטבלאות שכבר קיימים ולהריץ אותם כפי שאתם זוכרים — בלי כתיבה מחדש, בלי המרה ובלי שלב ייצוא.
סביבת פיתוח ומכונה וירטואלית
הפרויקט בנוי משני חלקים. הראשון הוא סביבת פיתוח, יישום Electron עם ממשק React: סייר פרויקטים, מעצבי טפסים ותפריטים, חלון מאפיינים, עורך ומנפה. השני הוא מכונה וירטואלית — מהדר ומפרש בייט-קוד שנכתבו ב-Rust והודרו ל-WebAssembly, וזה מה שמאפשר עבודה במכונות בנות 64 סיביות.
הייבוא ישיר: הסביבה קוראת פרויקט .pjx של Visual FoxPro ואת קבצי ה-.scx, ה-.vcx, ה-.mnx וה-.prg שהוא מציין, וכותבת לצדם מסמכי JSON שהיא עובדת איתם.
FoxScript: למבדות ושרת HTTP
מעל השפה הקיימת מוסיף הפרויקט את FoxScript: בלוק LAMBDA, מרחב השמות FoxScript ושני טיפוסי ערכים חדשים. המטרה היא להישאר עם סביבת הרצה אחת, ולא עם שפה שנייה או שירות שעומד לצד היישום.
תוכנית שרת קצרה ממחישה את הכוונה: SET LIBRARY TO "vfpencryption71.fll" ADDITIVE עדיין טוען ספריית תוספים ישנה בת 32 סיביות, ולמבדה שנרשמת דרך FoxScript.Http.CreateServer() עונה לנתיב כמו /api/v1/customers/:id.
להתאים ל-Visual FoxPro, לא להתקרב אליו
השיטה המוצהרת של הפרויקט היא לקבוע התנהגות על ידי שאילת Visual FoxPro עצמו והתאמה לתשובתו, ולא על ידי קריאת תיעוד ותקווה. זה חשוב מפני שהבדלים קטנים שוברים יישומים ישנים: מספר בעמודה רחבה מדי, אירוע שמגיע רגע מאוחר מדי. הדוגמה Solution של Visual FoxPro עצמו רצה אחרי הייבוא — עם 123 טפסים, 7 תפריטים ו-11 ספריות מחלקות.
מעטפת הסביבה, המעצבים, השפה ומנוע הנתונים גמורים ומשמשים מדי יום; הדוחות הם השלב שבדרך, וטבלאות מעל שני גיגה-בייט כבר עובדות. מה שאי אפשר להעביר מפורט בשמו — overlay של 16 סיביות ומעצב המסך של FoxPro 2.x נדחים עם סיבה ולא בשתיקה. Build App מהדר את הפרויקט לבייט-קוד וכותב חבילת .fxa, וכלי שורת הפקודה foxvm מריץ תוכניות בלי ממשק.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.