Videopuhelutoiminnallisuuden toteutus React Native Expo -ympä ristössä WebRTC- ja Firebase-teknologioita hyödyntäen
Äijänen, Jami (2024)
Äijänen, Jami
2024
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202501171480
https://urn.fi/URN:NBN:fi:amk-202501171480
Tiivistelmä
Tässä opinnäytetyössä tarkastellaan mobiilisovelluksen kehittämistä, joka sisältää reaaliaikaiset videopuhelutoiminnot WebRTC-tekniikalla ja Firebase Firestorella toteutetulla signalointiprosessilla. Projekti keskittyy erityisesti sovelluksen videopuhelutoiminnallisuuden toteuttamiseen ja optimointiin, joka mahdollistaa käyttäjien välisen reaaliaikaisen yhteydenpidon. Työn tavoitteena oli kehittää vakaasti toimiva ja käyttäjäystävällinen sovellus, joka hyödyntää modernia teknologiaa videopuheluiden ja viestinnän mahdollistamiseen mobiililaitteilla.
Projektissa hyödynnettiin WebRTC-teknologiaa videon ja äänen siirtoon, joka integroitiin React Native Expo -ympäristöön. Firebase Firestore toimi signalointiprosessissa, halliten puhelujen aloittamista, hyväksymistä ja lopettamista. Lisäksi projektissa käytettiin STUN- ja TURN-palvelimia yhteydenmuodostuksen tukemiseksi. Erityistä huomiota kiinnitettiin sovelluksen tietoturvaan ja yksityisyyteen, erityisesti käyttäjien tiedonsiirrossa ja videopuheluissa.
Työ käsittelee myös kehityksessä kohtattuja haasteita, kuten WebRTC:n toimivuutta Expo-ympäristössä, puhelujen hylkäämisestä johtuvia ongelmia ja käyttöliittymän optimointia, erityisesti modaalien vääristymistä näppäimistön avautuessa. Nämä ongelmat ratkaistiin muun muassa development buildin käytön ja Firebase-sovelluksen optimoinnin avulla.
Projektin lopputuloksena syntyi toimiva sovellus, joka täyttää käyttäjien videopuhelutarpeet ja tarjoaa käyttäjäystävällisen käyttöliittymän. Tämän työn myötä opittiin monia teknisiä taitoja, kuten WebRTC:n ja Firebase Firestoren syvällinen ymmärtäminen sekä projektinhallinnan ja ongelmanratkaisun taidot, jotka ovat keskeisiä tulevissa projekteissa.
Opinnäytetyö dokumentoi koko kehitysprosessin vaiheittain ja esittelee ratkaisut kohtaamiimme haasteisiin, sekä pohdinnan projektin onnistumisista, kehityskohteista ja jatkokehitysmahdollisuuksista.
Projektissa hyödynnettiin WebRTC-teknologiaa videon ja äänen siirtoon, joka integroitiin React Native Expo -ympäristöön. Firebase Firestore toimi signalointiprosessissa, halliten puhelujen aloittamista, hyväksymistä ja lopettamista. Lisäksi projektissa käytettiin STUN- ja TURN-palvelimia yhteydenmuodostuksen tukemiseksi. Erityistä huomiota kiinnitettiin sovelluksen tietoturvaan ja yksityisyyteen, erityisesti käyttäjien tiedonsiirrossa ja videopuheluissa.
Työ käsittelee myös kehityksessä kohtattuja haasteita, kuten WebRTC:n toimivuutta Expo-ympäristössä, puhelujen hylkäämisestä johtuvia ongelmia ja käyttöliittymän optimointia, erityisesti modaalien vääristymistä näppäimistön avautuessa. Nämä ongelmat ratkaistiin muun muassa development buildin käytön ja Firebase-sovelluksen optimoinnin avulla.
Projektin lopputuloksena syntyi toimiva sovellus, joka täyttää käyttäjien videopuhelutarpeet ja tarjoaa käyttäjäystävällisen käyttöliittymän. Tämän työn myötä opittiin monia teknisiä taitoja, kuten WebRTC:n ja Firebase Firestoren syvällinen ymmärtäminen sekä projektinhallinnan ja ongelmanratkaisun taidot, jotka ovat keskeisiä tulevissa projekteissa.
Opinnäytetyö dokumentoi koko kehitysprosessin vaiheittain ja esittelee ratkaisut kohtaamiimme haasteisiin, sekä pohdinnan projektin onnistumisista, kehityskohteista ja jatkokehitysmahdollisuuksista.