Angular specifiska TypeScript pirmkoda ģenerēšana ar Roslyn .NET kompilatora platformu
Author
Zīmecs, Kristers
Co-author
Latvijas Universitāte. Datorikas fakultāte
Advisor
Kozlovičs, Sergejs
Date
2017Metadata
Show full item recordAbstract
Modernos tīmekļa risinājumos datu modelis tiek dublēts starp servera un klienta lietotnēm. Šo informāciju vajag uzturēt atbilstošu abos galos - mainoties datu modelim, izmaiņas vajag atspoguļot gan servera, gan klienta pusē (kas atbilst dažādām izpildes vidēm un dažādām programmēšanas valodām). Lai izvairītos no manuālās izmaiņu sinhronizācijas, darbā tiek aplūkota pirmkoda ģenerēšanas pieeja, kas ļauj šo procesu automatizēt. Darbā identificēti dublētie informācijas vienumi tieši ASP.NET (servera pusē) un Angular (klienta pusē) tīmekļa risinājumos, izpētīti esošie problēmas risinājumi, kas veic pirmkoda ģenerēšanu, kā arī izpētītas .NET pirmkoda analīzes un TypeScript pirmkoda ģenerēšanas iespējas. Darba praktiskajā daļā izstrādāts risinājums, kas spēj analizēt .NET servera puses lietotnes ar Roslyn un ģenerēt no servera lietotnes atkarīgās TypeScript komponentes Angular klienta puses risinājumiem. Izveidotais risinājums ļauj automatizēt datu modeļa sinhronizāciju starp servera un klienta puses lietotnēm, tādējādi ietaupot izstrādātāju laiku un paaugstinot produktivitāti. In modern web solutions, data models are being duplicated in the server and client side applications. This information must be kept in sync between both parties – when data models change, that change must be reflected in both server and client side applications (which run in different execution environments and are implemented in different programming languages). To avoid manual synchronization of said changes, source code generation approaches are examined, which allow the automatization of this process. In this paper the author identifies duplicated pieces of information in ASP.NET (server side) and Angular (client side) web solutions, analyzes existing solutions that do source code generation and examines .NET source code analysis and TypeScript source code generation options. As a result, author presents a solution for analyzing .NET server side applications with Roslyn and generating server-dependent TypeScript components for Angular client side applications. The solution allows developers to automate the synchronization of data models between server and client side applications, thus saving time and increasing productivity.