Forgot to add ProtectedComponent
This commit is contained in:
parent
09c2cf0074
commit
1ba0395634
5 changed files with 23 additions and 13 deletions
|
@ -150,7 +150,7 @@ Yksi todella mielenkiintoinen ominaisuus Rustissa on makrot. Se on toiminnallisu
|
|||
\label{code:rust:macro}
|
||||
\end{code}
|
||||
|
||||
Makron sisällä suluissa olevat lauseet ovat verrattavissa Rustin ''match''-lauseeseen. Kun makron syöte vastaa jotakin näistä lauseista, hakasulkujen sisällä oleva koodi generoidaan. Makrossa käytetty ''println!()'' on myös itsessään makro, joka tulee Rustin ''std'' -kirjaston mukana.
|
||||
Makron sisällä suluissa olevat lauseet ovat verrattavissa Rustin ''match''-lauseeseen. Kun makron syöte vastaa jotakin näistä lauseista, hakasulkujen sisällä oleva koodi generoidaan. Koodiesimerkin \ref{code:rust:macro} makrossa käytetty ''println!()'' on myös itsessään makro, joka tulee Rustin ''std'' -kirjaston mukana.
|
||||
|
||||
\bigskip
|
||||
|
||||
|
@ -182,13 +182,13 @@ Rustin paketinhallinta on toteutettu Cargo-nimisellä ohjelmalla. Sitä voi käy
|
|||
Cargoon on saatavilla myös useita liitännäisiä, esimerkiksi cargo-watch, joka suorittaa halutun toiminnon aina, kun projektin sisällä tapahtuu muutoksia sekä tässäkin insinöörityössä käytetty cargo-web, joka helpottaa WebAssembly-ohjelmien kehittämistä.
|
||||
|
||||
\section{WebAssembly}
|
||||
WebAssembly \cite{webassembly:home} on kehitteillä oleva asiakaspuolen ohjelmointikieli. Sitä on suunniteltu JavaScriptin seuraajaksi ja sen suurimpana etuna JavaScriptiin verrattuna on huomattavasti matalamman tason esitysmuoto, minkä ansiosta se on suorituskykyisempi.
|
||||
WebAssembly \cite{webassembly:home} on kehitteillä oleva asiakaspuolen ohjelmointikieli. Sitä on suunniteltu JavaScriptin seuraajaksi ja sen suurimpana etuna verrattuna JavaScriptiin on huomattavasti matalamman tason esitysmuoto, minkä ansiosta se on suorituskykyisempi.
|
||||
|
||||
Kehittäjän ei ole tarkoitus kirjoittaa WebAssemblya itse, vaan käyttää työkaluja, joilla olemassa olevia ohjelmointikieliä voi kääntää WebAssemblyksi. Rust on tästä hyvä esimerkki, sillä WebAssembly on yksi sen kääntäjän natiiveista ''targeteista'', samalla tavalla kuin vaikka x86-prosessorit.
|
||||
|
||||
\clearpage
|
||||
|
||||
WebAssembly on siis ensisijaisesti binääriformaatti, mutta sen voi muuntaa myös tekstiformaatiksi, jonka nimi on WebAssembly text \cite{webassembly:text}. WebAssembly text käyttää syntaksissaan S-lausekkeita \cite{s-expression}. Se on notaatio puurakenteiselle datalle, joka on kehitetty Lisp-ohjelmointikieltä varten, joten WebAssembly text muistuttaa syntaksiltaan hyvin paljon Lispiä. WebAssembly textiä käytetään tilanteissa, joissa ihmisen täytyy ymmärtää, mitä koodissa tapahtuu. Tätä hyödynnetään esimerkiksi WebAssemblyn sisäisessä kehityksessä ja web-ohjelmistojen debuggereissa.
|
||||
WebAssembly on ensisijaisesti binääriformaatti, mutta sen voi muuntaa myös tekstiformaatiksi, jonka nimi on WebAssembly text \cite{webassembly:text}. WebAssembly text käyttää syntaksissaan S-lausekkeita \cite{s-expression}. Se on notaatio puurakenteiselle datalle, joka on kehitetty Lisp-ohjelmointikieltä varten, joten WebAssembly text muistuttaa syntaksiltaan hyvin paljon Lispiä. WebAssembly textiä käytetään tilanteissa, joissa ihmisen täytyy ymmärtää, mitä koodissa tapahtuu. Tätä hyödynnetään esimerkiksi WebAssemblyn sisäisessä kehityksessä ja web-ohjelmistojen debuggereissa.
|
||||
|
||||
\bigskip
|
||||
|
||||
|
@ -206,4 +206,4 @@ WebAssembly on siis ensisijaisesti binääriformaatti, mutta sen voi muuntaa my
|
|||
\label{code:rust:plus}
|
||||
\end{code}
|
||||
|
||||
Koodiesimerkeistä \ref{code:webassembly:plus} ja \ref{code:rust:plus} voi nähdä saman koodin sekä Rustilla että WebAssembly text -formaatissa. Esimerkeistä huomaa hyvin WebAssemblyn matalemman esitysmuodon käytännössä.
|
||||
Koodiesimerkeistä \ref{code:webassembly:plus} ja \ref{code:rust:plus} voi nähdä saman koodin sekä Rustilla toteutettuna että WebAssembly text -formaatissa. Esimerkeistä huomaa hyvin WebAssemblyn matalemman esitysmuodon käytännössä.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue