Ero sivun ”Web-ohjelmointi” versioiden välillä

Wikipediasta
Siirry navigaatioon Siirry hakuun
[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
Ketterät menetelmät web-kehityksessä
Rivi 23: Rivi 23:


* [[WebRTC]]: ohjelmointirajapinta, joka on tarkoitettu reaaliaikaisten yhteyksien mahdollistamiseen
* [[WebRTC]]: ohjelmointirajapinta, joka on tarkoitettu reaaliaikaisten yhteyksien mahdollistamiseen

== Ketterät menetelmät web-kehityksessä ==
=== Joustava manifesti ja periaatteet ===
Ketterä ohjelmistokehitys on joukko ohjelmistokehitysperiaatteita ja -arvoja, joissa asetetaan etusijalle joustavuus, yhteistyö ja asiakastyytyväisyys.<ref>{{Verkkoviite|nimeke=Agile Software Development Handbook – Scrum, Kanban, and Other Methodologies Explained|osoite=https://www.freecodecamp.org/news/agile-software-development-handbook/|viitattu=2024-07-15|julkaisija=www.freecodecamp.org}}</ref><ref>{{Verkkoviite|nimeke=What is Agile?|osoite=https://jdmeier.com/what-is-agile/|viitattu=2024-07-15|julkaisija=jdmeier.com}}</ref> Neljä perusarvoa ovat:<ref>{{Verkkoviite|nimeke=The 4 Agile values your team should embrace|osoite=https://monday.com/blog/rnd/agile-values/|viitattu=2024-07-15|julkaisija=monday.com}}</ref>
*Yksilöt ja vuorovaikutus prosesseista ja välineistä.
*Työskentely ohjelmistojen kanssa kattavan dokumentaation pohjalta.
*Yhteistyö asiakkaiden kanssa sopimuksen tekemisessä.
*Muutoksiin vastaaminen suunnitellusti.

=== Joustavat käsitteet web-kehityksessä ===
#Iteratiivinen ja inkrementaalinen kehitys: Rakennetaan ja hiotaan verkkosovellusta pienillä, toistuvilla silmukoilla, jolloin ominaisuuksia laajennetaan asteittain jokaisen iteraation myötä.
#Kanban. Siinä keskitytään tehtävien visualisointiin laudoilla ja työnkulun optimointiin.<ref>{{Verkkoviite|nimeke=Kanban in Project Management: a step-by-step guide|osoite=https://www.officetimeline.com/blog/kanban-in-project-management-a-step-by-step-guide|viitattu=2024-07-15|julkaisija=www.officetimeline.com}}</ref> Kanban-tiimit pyrkivät lyhentämään projektiaikaa ja lisäämään tehokkuutta.
#Monialaiset tiimit: Yhteistyöryhmien muodostaminen, joissa on erilaisia taitoja, jotta varmistetaan, että kaikki tarvittava asiantuntemus on käytettävissä monimutkaista verkkokehitystä varten.
#Scrum. Tämän menetelmän mukainen työ on organisoitu iteraatioina. Kaikki tuotteen valmistumiseen tarvittavat tehtävät muodostetaan erityiseksi listaksi - backlogiksi, ja päärooli annetaan asiakkaalle, joka määrittelee tuotteen tyypin ja toiminnallisuuden.<ref>{{Verkkoviite|nimeke=Scrum Methodology: Everything You Need to Know|osoite=https://www.goretro.ai/post/scrum-methodology|viitattu=2024-07-15|julkaisija=www.goretro.ai}}</ref><ref>{{Verkkoviite|nimeke=Anwendung der agilen Methode in der Webentwicklung|osoite=https://dartera.ch/blog/agile-methodik-in-der-webentwicklung/|viitattu=2024-07-15|julkaisija=dartera.ch}}</ref>
#Asiakasyhteistyö: asiakkaiden osallistuminen koko kehitysprosessin ajan palautteen keräämiseksi, vaatimusten validoimiseksi ja sen varmistamiseksi, että toimitettu tuote vastaa odotuksia.<ref>{{Verkkoviite|nimeke=Understanding the Agile development process|osoite=https://moldstud.com/articles/p-understanding-the-agile-development-process|viitattu=2024-07-15|julkaisija=moldstud.com}}</ref><ref>{{Verkkoviite|nimeke=Agile Product Management: Best Practices and Tools|osoite=https://www.invensislearning.com/blog/what-is-agile-product-management/|viitattu=2024-07-15|julkaisija=www.invensislearning.com}}</ref>
#Sopeutumiskyky muutoksiin: vaatimusten tai prioriteettien muutosten hyväksyminen myös myöhäisessä kehitysvaiheessa, jotta tuote vastaisi paremmin muuttuviin tarpeisiin.
#Käyttäjätarinat ja backlog: toiminnallisten vaatimusten kerääminen käyttäjätarinoiden avulla ja priorisoitujen tehtävien backlogin ylläpitäminen kehitystyön ohjaamiseksi.


== Lähteet ==
== Lähteet ==

Versio 15. heinäkuuta 2024 kello 20.56

Web-ohjelmointi eli verkko-ohjelmointi on web-sovellusten, sekä muiden internetin kautta käytettävien sovellusten kehittämistä. Tähän kuuluu esimerkiksi nettisivujen, verkkosovellusten ja muiden verkkoselaimesta käytettävän sisällön kehittämistä. Verkkoselaimen kautta halutaan käyttää paljon erilaisia sisällön muotoja, kuten kommunikaatio, tiedonjako, verkkokaupat, koulutus, viihde ja monia muita. Näille kaikille näille sisällönmuodoille on monia eri toteutustapoja ja siten web-ohjelmoinnissa käytetään myös monia eri koodikieliä ja työkaluja. Web-ohjelmoinnissa käytettäviin koodikieliin lukeutuu esimerkiksi HTML, CSS, JavaScript, PHP, Python, Ruby, sekä Java.[1]

Web-ohjelmoinnin työkalut

Työkaluja web-ohjelmoinnissa taas on lukuisia, sillä jokaiselle web-ohjelmoinnissa käytettävälle kielelle on lukuisia juuri web-ohjelmointiin tarkoitettuja työkaluja, sekä työkaluja, jotka ovat hyödyllisiä myös web-ohjelmoinnissa.

Lista muutamista työkaluista kielen perusteella:

HTML

  • Phaser: HTML5  ohjelmistokehys, joka on suunniteltu videopelien kehittämiseen.
  • Axios: HTTP-asiakasohjelma selaimelle[2]

JavaScript

  • JSON(JavaScript Object Notation):  tiedon välitykseen ja tallennukseen tarkoitettu kevyt tiedostomuoto
  • GeoJSON: maantieteellisen tiedon välitykseen ja tallennukseen tarkoitettu tiedostomuoto[3]
  • Leaflet: kirjasto, joka mahdollistaa interaktiivisten karttojen tekemisen[4]

CSS

  • Bootstrap: CSS-kehys, joka on kehitetty nopeasti rakennettavien Front-endien tekemiseen.[5]

Muita:

  • WebRTC: ohjelmointirajapinta, joka on tarkoitettu reaaliaikaisten yhteyksien mahdollistamiseen

Ketterät menetelmät web-kehityksessä

Joustava manifesti ja periaatteet

Ketterä ohjelmistokehitys on joukko ohjelmistokehitysperiaatteita ja -arvoja, joissa asetetaan etusijalle joustavuus, yhteistyö ja asiakastyytyväisyys.[6][7] Neljä perusarvoa ovat:[8]

  • Yksilöt ja vuorovaikutus prosesseista ja välineistä.
  • Työskentely ohjelmistojen kanssa kattavan dokumentaation pohjalta.
  • Yhteistyö asiakkaiden kanssa sopimuksen tekemisessä.
  • Muutoksiin vastaaminen suunnitellusti.

Joustavat käsitteet web-kehityksessä

  1. Iteratiivinen ja inkrementaalinen kehitys: Rakennetaan ja hiotaan verkkosovellusta pienillä, toistuvilla silmukoilla, jolloin ominaisuuksia laajennetaan asteittain jokaisen iteraation myötä.
  2. Kanban. Siinä keskitytään tehtävien visualisointiin laudoilla ja työnkulun optimointiin.[9] Kanban-tiimit pyrkivät lyhentämään projektiaikaa ja lisäämään tehokkuutta.
  3. Monialaiset tiimit: Yhteistyöryhmien muodostaminen, joissa on erilaisia taitoja, jotta varmistetaan, että kaikki tarvittava asiantuntemus on käytettävissä monimutkaista verkkokehitystä varten.
  4. Scrum. Tämän menetelmän mukainen työ on organisoitu iteraatioina. Kaikki tuotteen valmistumiseen tarvittavat tehtävät muodostetaan erityiseksi listaksi - backlogiksi, ja päärooli annetaan asiakkaalle, joka määrittelee tuotteen tyypin ja toiminnallisuuden.[10][11]
  5. Asiakasyhteistyö: asiakkaiden osallistuminen koko kehitysprosessin ajan palautteen keräämiseksi, vaatimusten validoimiseksi ja sen varmistamiseksi, että toimitettu tuote vastaa odotuksia.[12][13]
  6. Sopeutumiskyky muutoksiin: vaatimusten tai prioriteettien muutosten hyväksyminen myös myöhäisessä kehitysvaiheessa, jotta tuote vastaisi paremmin muuttuviin tarpeisiin.
  7. Käyttäjätarinat ja backlog: toiminnallisten vaatimusten kerääminen käyttäjätarinoiden avulla ja priorisoitujen tehtävien backlogin ylläpitäminen kehitystyön ohjaamiseksi.

Lähteet

  1. Internet and Web programming GeeksforGeeks. 5.12.2018. Viitattu 22.10.2023. (englanniksi)
  2. axios/axios github.com. 22.10.2023. Viitattu 22.10.2023.
  3. GeoJSON geojson.org. Viitattu 22.10.2023.
  4. Leaflet — an open-source JavaScript library for interactive maps leafletjs.com. Viitattu 22.10.2023. (englanniksi)
  5. Mark Otto, Jacob Thornton, and Bootstrap contributors: Get started with Bootstrap getbootstrap.com. Viitattu 22.10.2023. (englanniksi)
  6. Agile Software Development Handbook – Scrum, Kanban, and Other Methodologies Explained www.freecodecamp.org. Viitattu 15.7.2024.
  7. What is Agile? jdmeier.com. Viitattu 15.7.2024.
  8. The 4 Agile values your team should embrace monday.com. Viitattu 15.7.2024.
  9. Kanban in Project Management: a step-by-step guide www.officetimeline.com. Viitattu 15.7.2024.
  10. Scrum Methodology: Everything You Need to Know www.goretro.ai. Viitattu 15.7.2024.
  11. Anwendung der agilen Methode in der Webentwicklung dartera.ch. Viitattu 15.7.2024.
  12. Understanding the Agile development process moldstud.com. Viitattu 15.7.2024.
  13. Agile Product Management: Best Practices and Tools www.invensislearning.com. Viitattu 15.7.2024.