Extindeți TMS WEB Core cu bibliotecile JS cu Andrew: Epic JSON Primer (partea 1)
Pentru restul acestui document, vom lucra de trei ori – arătând versiunea JavaScript (JS), versiunea Wrapper TMS WEB Core (WC) și versiunea Delphi (PAS) a fiecărui scenariu, prezentată ca un bloc de cod potrivit pentru includerea (și testat!) într-un proiect TMS WEB Core, care le acceptă pe toate cele trei fără probleme. Dacă lucrați la o parte a unui proiect care a folosit doar codul Delphi VCL, ați putea folosi doar codul PAS la fel de bine acolo. Sau dacă lucrați la o parte a unui proiect care folosea JavaScript pur, atunci codul JS din blocurile asm… end ar funcționa la fel de bine în acel mediu. Vom discuta chiar și puțin despre trecerea între aceste trei medii. Pentru început, va trebui să știm cum să definim variabile pentru a face referire la obiecte JSON. De asemenea, va trebui să știm cum să le furnizăm JSON (uneori denumit serializare) și cum să vedem ce conțin (de serializare). De dragul simplității, ne vom arăta munca folosind console.log () care funcționează atât în Delphi, cât și în JavaScript în mediul nostru TMS WEB Core. Pur și simplu înlocuiți cu ShowMessage sau cu o altă ieșire de depanare echivalentă dacă lucrați în orice alt mediu. Dar de ce trebuie să definim variabile? Ei bine, una dintre diferențele cheie dintre JavaScript și Delphi este modul în care sunt gestionate tipurile de date. Delphi este un limbaj puternic tipizat, ceea ce înseamnă că, la aproape fiecare pas, tipul de date atribuit unei variabile este cunoscut, de obicei înainte de a fi utilizată. Și aceste tipuri de date tind să fie destul de specifice în natură. Un obiect JSON nu este neapărat interschimbabil cu o matrice JSON, de exemplu. JavaScript, pe de altă parte, este un limbaj slab tipizat (unii ar putea spune chiar netipizat). Tipurile de date sunt un fel de gândire ulterioară și puteți scrie tot felul de coduri fără a fi nevoie să vă gândiți la ce fel de date circulă prin ele. Există compromisuri semnificative pentru ambele abordări. JSON este, de asemenea, foarte strâns legat de limbajul JavaScript în sine, iar unele aspecte ale limbajului JavaScript care au evoluat de-a lungul anilor au condus la îmbunătățiri semnificative în utilizarea JSON în acel mediu. Rezultatul general este că codul JS pe care îl vom arăta tinde să fie foarte scurt, uneori puțin criptic, dar adesea foarte eficient. Echivalentele Delphi trebuie adesea să lucreze mai mult pentru a realiza același lucru, dar nu întotdeauna mai puțin eficient, așa cum vom vedea. Folosirea codului JS în TMS WEB Core implică doar împachetarea lui într-un bloc asm…. Nu folosim alte biblioteci sau cod de suport pentru a ne face munca aici. Variațiile WC în mod similar vor funcționa fără nimic special în ceea ce privește mediul TMS WEB Core. Clasele pe care le vom folosi sunt prezente implicit, denumite colectiv clase TJS* . Pentru Delphi, totuși, avem nevoie de un pas suplimentar mic de a adăuga WEBlib.JSON la clauza de utilizare a proiectului nostru (sau Formular etc.). Aceasta aduce clasele TJSON* pe care le vom folosi. Iată, atunci, exemplul nostru de procedură WebButtonClick pe care o vom folosi în aproape fiecare exemplu care urmează. Va începe cu orice variabile JS, WC sau PAS de care avem nevoie și apoi va conține blocuri de cod aferente fiecăreia. […]
