Validátor regulárních výrazů realizovaný jako Webassembly
Regular expression validator using Webassembly technology
Typ dokumentu
bakalářská prácebachelor thesis
Autor
Filip Figuli
Vedoucí práce
Štěpán Pavel
Oponent práce
Bařinka Lukáš
Studijní obor
Webové a softwarové inženýrstvíStudijní program
Informatika 2009Instituce přidělující hodnost
katedra softwarového inženýrstvíPráva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Informačné systémy narástli na popularite a je po nich všeobecne dnes najväčší dopyt. Ich vývoj však nieje jednoduchý a často obnáša celý tým programátorov, ktorý sa špecifikújú na časti takéhoto systému od vizuálneho rozhrania klienta pre jednotlivé platformy, až po server s databázou na správu informácií. Mojim primárnym cieľom je vytvoriť kompletný základ pre vývoj informačného systému a následne demonštrovať jednoduchou aplikáciou na validáciu regulárnych výrazov výhody, ktoré priniesol prelom vo svete webových technológií nazývaný WebAssembly. WebAssembly poskytuje elegantné riešenie, ktoré umožní pomocou jedného jazyka vývoj softvéru vrátane užívateľského rozhrania a zároveň multifunkčného serveru pre uchovávanie a spracovanie dát. Tento technologický pokrok výrazne uľahčuje vývoj tým, že nevyžaduje veľkú škálu rôznych technológií ako súčasný mainstream a je dnes plnohodnotne podporovaný každým bežným webovým prehliadačom. Pre implementáciu som si zvolil .NET framework v jazyku C\#. .NET poskytuje novú technológiu nazývanú Blazor, vďaka ktorej môžeme vytvárať standalone WebAssembly aplikácie. Napriek tomu, že takáto aplikácia je distribuovaná formou webstránky, kód je kompilovaný priamo u klienta, čo nás odbremení od potreby byť neustále v spojení so serverom a teda získame schopnosť práce v offline režime a to skoro natívnou rýchlosťou. Aby sme zachovali jednotnosť jazykov pri vývoji serveru využijeme framework ASP.NET Core. Výsledný softvér je schopný pracovať v dvoch režimoch. Offline režim demonštruje diskrétne spracovanie regulárnych výrazov bez strachu o to, že sa naše citlivé informácie dostanú do nesprávnych rúk a online režim umožnuje jednoduchú prácu s dátami za pomoci REST API z ASP.NET Core serveru. Vďaka built in CSS knižniciam je táto aplikácia responzízvna a vie sa prispôsobiť prakticky každému zariadeniu. Prínosom je kvalitný základ pre veľkú škálu rôznych informačných systémov. Implementácia bola pomerne rýchla a jednoduchá vďaka dobrej dokumentácií. Nevyžadovala expertízu v obore okrem znalosti jazyka a základných programovacích konceptov. Vďaka veľkej modularite sa dá softvér ľahko rozšíriť podľa potreby. Information systems grew in popularity and there is a great demand for them. However their development is complicated and usually takes several skilled developers to perform. Each of them focus on their own expertise ranging from platform specific user interfaces to development of server with database to store data. My primary goal is to create a foundation for development of such information system. By creating a simple application for validation of regular expressions I want to demonstrate the advantages that WebAssembly brought with it by providing a briliant solution to create with a single programming language software that could create user interface as well as necessary server side to calculate and persist data. Such software would not only run with nearly native speed at client side but also would work on suitable platform of any choice. This technological progress singinficantly improves the development by not requiring a big scale of technologies as the current mainstream. It is already completely supported by majority of common web browsers. I chose .NET framework with language C\# for the implementation. .NET provides new technology called Blazor which has the ability to create standalone WebAssembly application. Nevertheless this application is being distributed in a form of a website, the code is compiled directly in the client device. Such feature allows us to enter offline mode without direct connection with a server. Its import to mention that the efficiency can compete with a native application. To keep unification in programming langauges we will also use a part of .NET called ASP.NET Core to implement server. Our final product is able to work in two modes. Offline mode provides discrete calculations of regular expressions without the fear of our sensitive data falling in to the wrong hands. Online mod on the other hand demonstrate easy processing of data with the help of a REST API provided by ASP.NET Core server. Included CSS libraries allow our application to be responsive, out of the box adjusting to any desired device. The main benefit of our application is solid foundation for virtually any information system. The implementation it self was very fluent and simple thanks to good documentation. It does not require any in depth expertise except for the basic knowledge of C\# language and programming concepts. Thanks to its high modularity it can be easily extended according to ones needs.
Kolekce
- Bakalářské práce - 18102 [1729]