
Microsoft припинила FoxPro у 2007 році. Незалежний проєкт його відродив
FoxDev Studio — відкрита IDE та середовище виконання, які запускають застосунки Visual FoxPro 9 на 64-бітних машинах без конвертації й додають до старої мови лямбди та HTTP-сервер.
Microsoft припинила розробку Visual FoxPro у 2007 році, і великий пласт бізнес-програм залишився працювати на машинах, які лише старішають. Незалежний відкритий проєкт FoxDev Studio обирає інший шлях, ніж міграція: він запускає застосунки Visual FoxPro 9 такими, як вони є. Автори описують мету просто: відкрити проєкти, форми й таблиці, які вже є, і запустити їх так, як пам'ятаєте — без переписування, конвертації та експорту.
IDE та віртуальна машина
Проєкт складається з двох частин. Перша — IDE, застосунок на Electron з інтерфейсом React: провідник проєкту, дизайнери форм і меню, вікно властивостей, редактор і зневаджувач. Друга — віртуальна машина: компілятор та інтерпретатор байткоду, написаний на Rust і скомпільований у WebAssembly, що й уможливлює роботу на 64-бітних машинах.
Імпорт прямий: IDE читає проєкт Visual FoxPro .pjx та названі в ньому файли .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 бібліотеками класів.
Оболонка IDE, дизайнери, мова та рушій даних готові й використовуються щодня; звіти — поточний етап, а таблиці понад два гігабайти вже працюють. Те, що перенести неможливо, названо поіменно: 16-бітні overlay і екранний дизайнер FoxPro 2.x відхилено із зазначенням причини, а не мовчки. Build App компілює проєкт у байткод і записує пакет .fxa, а консольний запускач foxvm виконує програми без інтерфейсу.
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.