
Microsoft-მა FoxPro 2007 წელს დახურა — დამოუკიდებელმა პროექტმა ის აღადგინა
FoxDev Studio ღია კოდის IDE და runtime-ია, რომელიც Visual FoxPro 9-ის აპლიკაციებს 64-ბიტიან მანქანებზე კონვერტაციის გარეშე უშვებს და ძველ ენას lambda-ებსა და HTTP სერვერს უმატებს.
Microsoft-მა Visual FoxPro-ს განვითარება 2007 წელს შეწყვიტა, და ბიზნეს-პროგრამების დიდი ნაწილი ძველ მანქანებზე დარჩა. დამოუკიდებელი ღია პროექტი FoxDev Studio სხვა გზას ირჩევს: Visual FoxPro 9-ის აპლიკაციებს ისე უშვებს, როგორც არიან. ავტორები მიზანს მარტივად აღწერენ: გახსენი უკვე არსებული პროექტები, ფორმები და ცხრილები და გაუშვი ისე, როგორც გახსოვს — გადაწერისა და კონვერტაციის გარეშე.
IDE და ვირტუალური მანქანა
პროექტი ორი ნაწილისგან შედგება. პირველია IDE — Electron აპლიკაცია React-ის ინტერფეისით: პროექტის ბრაუზერი, ფორმებისა და მენიუების დიზაინერები, თვისებების ფანჯარა, რედაქტორი და დებაგერი. მეორეა ვირტუალური მანქანა — Rust-ზე დაწერილი კომპილატორი და ბაიტკოდის ინტერპრეტატორი, WebAssembly-ში კომპილირებული, რაც 64-ბიტიან მანქანებზე მუშაობას შესაძლებელს ხდის.
იმპორტი პირდაპირია: IDE კითხულობს .pjx პროექტს და მის .scx, .vcx, .mnx, .prg ფაილებს და მათ გვერდით JSON დოკუმენტებს წერს. ფორმები Visual FoxPro-ს თვისებების სახელებს ინარჩუნებენ და მხოლოდ ნაგულისხმევისგან განსხვავებულ მნიშვნელობებს ინახავენ.
FoxScript: lambda-ები და HTTP სერვერი
არსებულ ენას პროექტი FoxScript-ს უმატებს: LAMBDA ბლოკს, FoxScript-ის namespace-ს და ორ ახალ მნიშვნელობის ტიპს. მიზანია ერთი runtime შენარჩუნდეს და აპლიკაციის გვერდით მეორე ენა არ გაჩნდეს.
მოკლე სერვერის პროგრამა აჩვენებს განზრახვას: SET LIBRARY TO "vfpencryption71.fll" ADDITIVE კვლავ ტვირთავს ძველ 32-ბიტიან ბიბლიოთეკას, ხოლო FoxScript.Http.CreateServer()-ით რეგისტრირებული lambda პასუხობს მარშრუტს, მაგალითად /api/v1/customers/:id. მოთხოვნები, cursor და ბიბლიოთეკის გამოძახება ჩვეულებრივი FoxPro-ა.
Visual FoxPro-ს ზუსტი დამთხვევა, არა მიახლოება
პროექტის მეთოდია ქცევის დადგენა Visual FoxPro-ს თავად შეკითხვით და მისი პასუხის დამთხვევით, და არა საცნობარო გვერდის წაკითხვით. ეს მნიშვნელოვანია, რადგან პატარა განსხვავება ძველ აპლიკაციას ამტვრევს: განსხვავებული სიგანის სვეტი, დაგვიანებული მოვლენა, არასწორი ნომრის შეცდომა. Visual FoxPro-ს საკუთარი Solution-ის ნიმუში იმპორტის შემდეგ მუშაობს — 123 ფორმით, 7 მენიუთი და 11 კლასის ბიბლიოთეკით.
IDE-ის გარსი, დიზაინერები, ენა და მონაცემთა ძრავა მზადაა და ყოველდღიურად გამოიყენება; რეპორტები მიმდინარე ეტაპია, ორ გიგაბაიტზე დიდი ცხრილები კი უკვე მუშაობს. 16-ბიტიანი overlay-ები და FoxPro 2.x-ის ეკრანის დიზაინერი სახელით არის ჩამოთვლილი, როგორც მიზეზით უარყოფილი. Build App პროექტს ბაიტკოდში კომპილირებს და .fxa პაკეტს წერს, ბრძანებითი foxvm კი ინტერფეისის გარეშე მუშაობს.
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.