Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Mozilla Web API appreciation thread

mavavilj [31.12.2024 15:27:03]

#

Tänne omat kokemukset yms.

https://developer.mozilla.org/en-US/docs/Web/API :n kanssa.

Olen jo jonkin aikaa selaillut näitä erilaisia frameworkeja Python:isista React:iin yms.

Vaikka React ja vastaavat tarjoavat joissain tapauksissa tällä hetkellä suorimman polun johonkin sovellukseen, erityisesti sellaiseen, joka tarvitsee jotain hyperkaupallisia API:ja, niin mielestäni Mozilla Web API on kuitenkin web-ohjelmoinnin "uusi vanilla JS".

Sen saa näkymään Android:illa GeckoView-komponentilla.

Aloin opettelemaan React:ia cross-platform ja proto -tarkoituksiin, mutta oikeasti haluan käyttää Mozilla Web API:a.

Tämä vaatii tietysti muiden selainten tuen pudottamista, mutta kuka oikeasti tarvitsee muita selaimia kuin Firefox?

Mutta katsokaa nyt vaikka:

https://googlechromelabs.github.io/multi-window-platformer-game/

Kuka tarvitsee jotain Flutter:ia tms.?

Metabolix [31.12.2024 16:17:08]

#

mavavilj kirjoitti:

Tämä vaatii tietysti muiden selainten tuen pudottamista, mutta kuka oikeasti tarvitsee muita selaimia kuin Firefox?

Kyseessä ei ole Mozillan keksimä tai Firefoxiin sidottu API. Hieman koomisesti kävikin niin, että ensimmäinen alasivu, jonka tuolta avasin, kertoi ominaisuudesta, joka on kaikissa muissa listatuissa selaimissa paitsi Firefoxissa.

Mutta joo kyllä näin on, että nämä selaimen rajapinnat pystyvät aika monenlaiseen ja niillä voi tehdä monia hyviä sovelluksia helposti ja kätevästi ja porttautuvasti.

mavavilj [31.12.2024 18:15:21]

#

Niin oikealta nimeltään nuo ovat kai "Web Component" API:eja, jollainen omansa jokaisella selaimella on. Lisäksi osa niiden sisällöstä on standardinomaisesti kaikissa.

Olen kuitenkin olettanut, että GeckoView:n käyttäminen tarkoittaa, että koodi rajoitetaan Firefox:in API:iin tai muuten pitää käyttää muita WebView:ejä. Lisäksi, koska esim. Flutter:in tavoite on monta target:ia samasta koodista, niin tämä etu nimenomaan menetetään Web Component:eilla. Jos target:eja on vain yksi tai kaikki targetit ovat samalta provider:ilta (Mozilla), niin ongelmaa ei ole. Siksi on validia puhua "Mozilla Web API:sta".

Chrome:ssa on jopa "app"-moodi, mutta sen käyttäminen, kuten myös Android:ille portattavuus vaatii Google WebView:in käyttöä, jossa voi olla kaikkea telemetriaa yms. kivaa.

Itseasiassa,

Web Components vs React on aika yleinen hakutulos. Esimerkiksi,

https://blog.logrocket.com/web-components-vs-react/

jossa huomataankin, että niillä on hieman erilaiset vahvuudet.

Itseäni ärsytti lähinnä se, että React on Facebook:ilta ja React app:in deployaamiseen tarvittava koodimäärä on aika iso jopa simppeleille appeille. Lisäksi React piilottaa ohjelmoijalta aika paljon asioita.

Kuten voi olettaa, niin React on hyödyllinen Facebookin kaltaisille sovelluksille, vaikka sitä on nähnyt käytettävän moneen muuhunkin asiaan nykyään. En ole varma, että onko se oikea työkalu moneen muuhun asiaan.

Web Component -koodi kääntyy kuitenkin muihin rajapintoihin. Tietty ohjelmointikehys ei välttämättä käänny toiseen eli Vue-koodi on Vue-koodia jne.

mavavilj [31.12.2024 18:45:07]

#

Esimerkiksi kuitenkin Web Component:illa saa suoraan siististi vaikkapa:

https://developer.mozilla.org/en-US/docs/Web/API/DOMParser

eikä tarvitse kikkailla jotain

https://www.npmjs.com/package/react-xml-parser

Lisäksi ei tarvitse kikkailla jotain 60 fps -kikkailuja (https://medium.com/hackernoon/react-at-60fps-4e36b8189a4c), kun voi käyttää suoraan nopeinta mahdollista eli:

https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API

Esimerkki:

https://webglsamples.org/imagesphere/imagesphere.html

Eiköhän tuo suorituskyky riitä mihin vain käyttöliittymään.

Kuten:

https://www.webglstudio.org/demo/

tai

https://victhorlopez.github.io/editor/

---

Tuolta se koko yhteensopivuustaulukkokin taitaa löytyä:

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs

mavavilj [02.01.2025 13:57:17]

#

Joo, en tosiaan ymmärrä, miksi haluaisin käyttää React tai React Native. Sen sijaan, että käytän GeckoView + WebGL:

https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Tutorial/Getting_started_with_WebGL

Pitäisi vaan päättää, mikä web server olisi hyödyllinen ko. kontekstissa.

Node on aika helppo, mutta se perustuu Googlen koodiin.

Ehkä https://freenginx.org/en/

Vastaus

Muista lukea kirjoitusohjeet.
Tietoa sivustosta