WebGL a co k tomu?

WebGL a co k tomu?
« kdy: 04. 12. 2019, 19:32:00 »
Zdravím, chci udělat web hru (strategii) a dnes a do budoucna připadá v úvahu asi jen WebGL. Koukal jsem na příklady i hotová řešení a dřív se k němu používalo jquery, teď často react. No ale nestačil by i jednoduchý javascript? V podstatě jde jen o příjem a odesílání dat na server (c++) a ovládání tree.js nebo jiného webgl frameworku. Nenapadá mě tedy výhoda použití např. reactu, kde to při nějakém problému se závislostmi už nikdo nedá dohromady.


gill

  • ****
  • 270
    • Zobrazit profil
    • E-mail
Re:WebGL a co k tomu?
« Odpověď #1 kdy: 04. 12. 2019, 20:05:46 »
Jquery bych chápal, na příjem a odesílání dat (i když existuje fetch API). Ale k čemu ten React? Vykreslujete HTML UI nad canvas? Hry nedělám, jen mě to zajímá. Dělal jsem nějaké 2d animace v canvasu s konva JS s react-konva nadstavbou, ale React je tam zbytečný, protože se v každém kroku překresluje vše.

Re:WebGL a co k tomu?
« Odpověď #2 kdy: 04. 12. 2019, 20:17:13 »
Nedoporučoval bych ani čistý JavaScript ani jQuery. Pokaždé, když jsem si říkal „to je malé, na to stačí čistý JS / jQuery“, jsem si velmi brzy nadával, že jsem měl použít něco pořádného. Nemusí to být hned React, klidně něco menšího, Vue, nebo jen dojo, ale hlavně něco, co nepovede na špagetový kód.

gill

  • ****
  • 270
    • Zobrazit profil
    • E-mail
Re:WebGL a co k tomu?
« Odpověď #3 kdy: 04. 12. 2019, 20:20:09 »
Nedoporučoval bych ani čistý JavaScript ani jQuery. Pokaždé, když jsem si říkal „to je malé, na to stačí čistý JS / jQuery“, jsem si velmi brzy nadával, že jsem měl použít něco pořádného. Nemusí to být hned React, klidně něco menšího, Vue, nebo jen dojo, ale hlavně něco, co nepovede na špagetový kód.

pro aplikace vykreslující jen do canvas React ani Vue moc nevyužijete.

Re:WebGL a co k tomu?
« Odpověď #4 kdy: 04. 12. 2019, 20:42:08 »
Pokud chcete dělat WebGL simulaci/animaci/hru, pak React ani Vue s ničím nepomůžou (pokud to není komplexní aplikace, kde canvas je jen jedna z komponent) jak píšete. Komunikaci si nějak uděláte přes websokety a UI si udělejte přímo v Canvasu přes něco jako imgui.
« Poslední změna: 04. 12. 2019, 20:44:32 od uetoyo »


Re:WebGL a co k tomu?
« Odpověď #5 kdy: 04. 12. 2019, 20:51:52 »
Nemusí to být ani v js, je možné transpilovat třeba z typescriptu a tím se špagetám vyhnout. Jak je na tom webassembly nevím.

Re:WebGL a co k tomu?
« Odpověď #6 kdy: 04. 12. 2019, 21:07:39 »
Webassembly mě nenapadlo, to by se programovalo i normálně narozdíl od js. Určitě zkusím.

Re:WebGL a co k tomu?
« Odpověď #7 kdy: 04. 12. 2019, 21:33:25 »
To je náklep, tak je to jasný  :D Navíc se dá použít unity3d.

gill

  • ****
  • 270
    • Zobrazit profil
    • E-mail
Re:WebGL a co k tomu?
« Odpověď #8 kdy: 04. 12. 2019, 21:35:25 »
Nemusí to být ani v js, je možné transpilovat třeba z typescriptu a tím se špagetám vyhnout. Jak je na tom webassembly nevím.

jak definujete špagety? Typescript je jen javascript s typovými anotacemi.

gill

  • ****
  • 270
    • Zobrazit profil
    • E-mail
Re:WebGL a co k tomu?
« Odpověď #9 kdy: 04. 12. 2019, 21:38:30 »
Pokud chcete dělat WebGL simulaci/animaci/hru, pak React ani Vue s ničím nepomůžou (pokud to není komplexní aplikace, kde canvas je jen jedna z komponent) jak píšete. Komunikaci si nějak uděláte přes websokety a UI si udělejte přímo v Canvasu přes něco jako imgui.

může být canvas přes celou stránku a vykreslovat html gui přes canvas.

Re:WebGL a co k tomu?
« Odpověď #10 kdy: 05. 12. 2019, 02:09:32 »
Nemusí to být ani v js, je možné transpilovat třeba z typescriptu a tím se špagetám vyhnout. Jak je na tom webassembly nevím.

jak definujete špagety? Typescript je jen javascript s typovými anotacemi.

Nedefinuju je nijak, byl to jen příklad transpilace, možná blbý. Podstatou sdělení je možnost transpilace a její potenciální přínos pro organizaci kódu.

tecka

  • ***
  • 138
    • Zobrazit profil
    • E-mail
Re:WebGL a co k tomu?
« Odpověď #11 kdy: 05. 12. 2019, 03:31:35 »
Webassembly mě nenapadlo, to by se programovalo i normálně narozdíl od js. Určitě zkusím.
WebAssembly ti s WebGL pomůže asi tak jako jQuery a React. Vůbec.

Re:WebGL a co k tomu?
« Odpověď #12 kdy: 05. 12. 2019, 11:24:22 »
Já se chci nějakým způsobem vyhnout javascriptu, takže na to je wasm ideální a můžu to psát C++, které je mi bližší než javascript. Někdo už dokonce přepsal tree.js do c++, takže by to mohlo bejt v pohodě.

robin martinez

  • *****
  • 1 138
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
Re:WebGL a co k tomu?
« Odpověď #13 kdy: 05. 12. 2019, 13:35:18 »
Já se chci nějakým způsobem vyhnout javascriptu, takže na to je wasm ideální a můžu to psát C++, které je mi bližší než javascript. Někdo už dokonce přepsal tree.js do c++, takže by to mohlo bejt v pohodě.



To si myslite, ze budete psat webovou aplikaci v c++ jen proto, ze nekdo portoval Three.js do c++? Trochu blbost, ne? :) Na webu se pouziva prevazne javascript. Ostatni jsou jen frameworky nebo knihovny zjednodusujici prace. WA zatim neznam, respektive nevim, jestli se to uz jako teda pouziva nebo tak
« Poslední změna: 05. 12. 2019, 13:36:49 od robin martinez »
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

Re:WebGL a co k tomu?
« Odpověď #14 kdy: 05. 12. 2019, 13:51:48 »
Já se chci nějakým způsobem vyhnout javascriptu, takže na to je wasm ideální a můžu to psát C++, které je mi bližší než javascript. Někdo už dokonce přepsal tree.js do c++, takže by to mohlo bejt v pohodě.
To si myslite, ze budete psat webovou aplikaci v c++ jen proto, ze nekdo portoval Three.js do c++? Trochu blbost, ne? :) Na webu se pouziva prevazne javascript. Ostatni jsou jen frameworky nebo knihovny zjednodusujici prace. WA zatim neznam, respektive nevim, jestli se to uz jako teda pouziva nebo tak

Hlavně to nemusí fungovat. Pokud by to ovšem fungovalo, pak to taková blbost není.

Stejně bych ale doporučil jít nějakou konvenční cestou. Pokud nemá tazatel dost zkušeností s danou oblastí.