Change readme to abstract

This commit is contained in:
Marko Korhonen 2020-05-08 09:34:55 +03:00
parent 834ed4b3e8
commit 1e83393ad6
No known key found for this signature in database
GPG key ID: 911B85FBC6003FE5

View file

@ -1,29 +1,21 @@
# Rust web-ohjelmointikielenä
Opinnäytetyön tavoitteena on selvittää Rust-ohjelmointikielen
Tämän insinöörityön tavoitteena oli selvittää Rust-ohjelmointikielen
soveltuvuutta web-ohjelmointiin.
Opinnäytetyön yhteydessä on tehty suhteellisen pieni
projekti, missä frontend ja backend on toteutettu molemmat
Rustilla.
Insinöörityössä käydään läpi web-ohjelmoinnin perusteet, sekä Rustin pääominaisuudet.
Lukijalta oletetaan hyvin vähän tietämystä ja kaikki olennaiset käsitteet
käydään läpi perusteista alkaen.
Rust on Mozillan 2010 julkaisema ohjelmointikieli. Se on hyvin
suorituskykyinen järjestelmätason ohjelmointikieli, muistuttaen
monilta osin C ja C++ kieliä. Rustin tarkoituksena on säilyttää
näiden vanhojen kielien suorituskyky, mutta kuitenkin tarjoten
samalla muun muassa vahvan tyypityksen, ratkaista tyypilliset
C-kielien muistinhallintaongelmat, turvallisen rinnakkaisajon.
Insinöörityön yhteydessä tehtiin projekti, missä palvelin- ja asiakaspuoli
toteutettiin molemmat Rustilla. Tämän pohjalta arvioitiin kielen soveltuvuutta
web-ojelmointiin. Projektin kaikki osa-alueet ja kaikki käytetyt
riippuvaisuudet, sekä syyt niiden valitsemiseen on käyty läpi perusteellisesti.
Myös kehitysympäristön asentaminen ja projektin aloittaminen on käyty läpi
alusta alkaen.
Lisäksi Rust kokoontuu suoraan WebAssemblyksi, mikä on myös
omalta osaltaan kerännyt hyvin paljon kiinnostusta lähivuosina.
Sitä on suunniteltu JavaScriptin seuraajaksi ja sen etuna on
Rustin tavoin huomattavasti parempi tehokkuus ja suorituskyky.
Opinnäytetyön projektissa olen käyttävänyt Yew
frameworkiä, mikä on Rustilla toteutettu asiakaspuolen framework
joka kokoontuu WebAssemblyksi. Lisää tietoa siitä voi lukea
[täältä](https://yew.rs)
Backend puolella käytin Actixia, joka on hyvin JavaScript-
maailmasta tutun Node.js Expressin kaltainen. Siitä voi lukea
lisää tietoa [täältä](https://actix.rs)
Projektista kerätyn käytännön tiedon avulla on arvioitu Rustin soveltuvuutta
web-ohjelmointiin erikseen sekä asiakas- että palvelinpuolella. Lopuksi on
siirretty katsetta hieman tulevaan ja arvioitu, miten soveltuvuus tulee
todennäköisesti muuttumaan tulevaisuudessa. Lopussa on myös suosituksia
Rustin sisällyttämisestä uusiin ja olemassa oleviin web-ohjelmointiprojekteihin.