
A2UI. Ինչպես է գործակալը նկարագրում ինտերֆեյսը առանց կոդ գրելու
A2UI-ի հիմնական գաղափարը պարզ է՝ մոդելը ինտերֆեյս չի գրում, այլ միայն նկարագրում է, թե որ բաղադրիչը ինչ արժեքներով պետք է ցուցադրվի։ dev.to-ում հրապարակված վերլուծությունը հետևում է մեկ հարցում գործակալի որոշումից մինչև էկրան։
A2UI արձանագրությունը թույլ է տալիս լեզվական մոդելին ինտերֆեյսը հավաքել աշխատանքի ընթացքում՝ չարտադրելով կատարվող կոդի ոչ մի տող։ JSX-ի կամ HTML-ի փոխարեն մոդելից պահանջվում է փոքր JSON օբյեկտ, որտեղ նշված է՝ որ բաղադրիչը ցուցադրել և ինչ արժեքներով։ dev.to-ում հրապարակված վերլուծությունը հետևում է մեկ հարցման։
Ինչու չուղարկել պարզապես կոդ
Գայթակղիչ այլընտրանքն այն է, որ մոդելն ինքը գրի ինտերֆեյսը, իսկ վերադարձածը տեղադրենք այնպես, ինչպես կա։ Դեմոյում սա աշխատում է, բայց ունի երեք գին՝ պատասխանը չվստահվող կոդ է, որն աշխատում է էջի նույն իրավունքներով. դիզայնի միասնական համակարգ ոչինչ չի ապահովում. և ոչինչ հնարավոր չէ քեշավորել, քանի որ տեքստը ամեն անգամ նոր է։ A2UI-ն այդ սահմանը տեղափոխում է՝ մոդելը միայն տվյալներ է արտադրում, իսկ ամբողջ կատարվող կոդը հաճախորդինն է։

Երեք դեր, հինգ հաղորդագրություն
Գործակալը սերվերի կոդն է և որոշում է, թե ինչ ցուցադրել՝ որ բաղադրիչները և ինչ արժեքներով։ Արձանագրությունը այն ձևաչափն է, որով այդ որոշումը փոխանցվում է և որը թույլ է տալիս ընդամենը հինգ հաղորդագրություն։ Չորսը գնում են գործակալից հաճախորդ՝ createSurface-ը գրանցում է surface-ը կատալոգի հետ, updateComponents-ը ավելացնում կամ փոխարինում է բաղադրիչի գրառումները, updateDataModel-ը արժեքները գրում է surface-ի JSON ծառի մեջ, deleteSurface-ը հեռացնում է այն։ Հինգերորդը՝ action, միակ հաղորդագրությունն է հաճախորդից գործակալ։ Տրանսպորտը սպեցիֆիկացիայից դուրս է։
Վստահության սահմանը
Անվտանգության երաշխիքը տեղավորվում է մեկ նախադասության մեջ՝ գործակալը կարող է միայն անվանել բաղադրիչ, որն արդեն կա հաճախորդի կատալոգում, իսկ նրա լրացրած ամեն արժեք համարվում է տվյալ, ոչ հրահանգ։ Այն կարող է լուռ խախտվել միայն մեկ տեղում՝ կատալոգի այնպիսի ռեալիզացիա, որը արժեքը նորից վերածում է կատարվող բովանդակության, օրինակ՝ ուղիղ HTML ներարկմամբ կամ չստուգված ուղուց հավաքված href-ով։ Արձանագրությունը բաղադրիչի կոդը չի տեսնում, ուստի կատալոգի ընդլայնումը պետք է ստուգվի այնպես, ինչպես կատարվող կոդը։
Վահանակ և ճանապարհ դեպի v1.0
Վերլուծությունը հղում է a2ui-mutual-fund-dashboard-ին՝ բաց կոդով Next.js հավելված, որտեղ հնդկական փոխադարձ ֆոնդի մասին բնական լեզվով հարցը ստեղծում է վահանակ՝ վիճակագրության քարտ, NAV-ի պատմության գրաֆիկ և պարզ լեզվով ամփոփում։ Կատալոգը հինգ բաղադրիչով է, իսկ մոդելից միայն դասավորություն են պահանջում, ոչ թվեր։ Այս ամենը կապված է v0.9.1-ին, որը a2ui.org-ը նշում է որպես արտադրական ընթացիկ տարբերակ, իսկ v1.0-ը թողարկման թեկնածու է։ Նրա էական հավելումը վեցերորդ հաղորդագրությունն է՝ actionResponse, որը համաժամանակյա պատասխան է տալիս կոնկրետ գործողությանը։
SiTech — AI-ով հզորացված վեբ մշակում
Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։