Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: registrovany123 25. 05. 2021, 10:05:42

Název: Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 25. 05. 2021, 10:05:42
Zdravím,
mám takový nekonkrétní dotaz, spíše námět na diskuzi.

Jsem backenďák javista a čas od času si i já potřebuju udělat nějaký web. Může to být nějaký kontrolní panel k backendové aplikaci, nebo si chci udělat nějakou kalkulačku. A potřebuju mít nějaký stack jak na to.

Zkoušel jsem React i Angular, ale obojí mi přijde jako takový kanon na vrabce a vyžaduje to NPM, a složitostí už to přesahuje moji kapacitu backend vývojáře.

A tak jsem hledal alternativu. Osvědčilo se mi používat kombinaci Mustache a jQuery. S tím můžu udělat třeba jen index.html, sripty k jQuery si naimportuju přes Internet.

Pak jsem ale narazil na Vue.js, a zjistil jsem, že s tím můžu s menším množstvím kódu a lépe dělat to, k čemu jsem používal Mustache a jQuery, a přešel jsem tedy na Vue.js, s kterým rovněž nepoužívám NPM a rovněž mi stačí mít jen index.html

Nicméně co se tyče škálovatelnosti, i toto výše uvedené řešení naráží na klasický problém HTML webových stránek, že totiž:

1. Jak mít Komponenty (Vue components) v samostatných souborech?
2. Jak mít v tom samostatném souboru Vue template definován nikoliv jako String, ale jako tag?
3. Jak potom tyhle jednotlivé komponenty aplikace načíst do index.html?
4. Jak potom tohle veškeré načítání dám do page.html, page2.html, page3.html, abych neměl na začátku v hlavičce každého HTML souboru 30 řádků načítání různých skriptů?

Výše uvedené se dá všechno nějak vyřešit pomocí Javascriptu, ale co mě vcelku mrzí je, že Vue, kterýžto má být jednoduchý framework (tedy pracovní rámec zahrnující rovněž metodologii vývoje) nevyžadující nutně NPM, nezahrnuje nějakou metodiku práce která výše uvedené problémy vyřeší.

Vcelku mě zamrzelo, že Vue.js nutí psát Templaty do Stringu v Javascriptu, což není zrovna moc čitelné. Samozřejmě můžete použít NPM a používat .vue soubory, ale to už musíte mít to NPM a to já nechci.

Takže konkrétní otázka závěrem. Jak mít dobrou, škálovatelnou client side rendering meodologii práce, která nevyžaduje NPM?
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Ink 25. 05. 2021, 10:40:10
Takže konkrétní otázka závěrem. Jak mít dobrou, škálovatelnou client side rendering meodologii práce, která nevyžaduje NPM?

Jdeš proti proudu, podle mě je lepší se to prostě naučit a nedělat weby 20 let starým způsobem.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Filip Jirsák 25. 05. 2021, 11:36:09
Javovské aplikace také buildujete, takže je trochu zvláštní vyhýbat se buildu JavaScriptových aplikací. Ale pokud se tomu mermomocí chcete vyhnout, potřebujete technologii, která je zabudovaná už v prohlížečích. Tou technologií jsou WebComponents (https://developer.mozilla.org/en-US/docs/Web/Web_Components). Ale HTML importy z té technologie byly odstraněny, takže pokud pokud chcete HTML šablony psát nějak rozumně, stejně budete potřebovat nějakou knihovnu, třeba alespoň Lit (https://lit.dev).
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: oss 25. 05. 2021, 13:04:05
Ak to chces robit rozumne, tak sa npm a Webpacku nevyhnes zial. Ako backendista je to pre mna utrpenie.

Ale ked ti smrdi javascript, tak skus Blazor WebAssembly a Blazor Server - pri oboch odpada nutnost pisat javascript (obcas nejaky treba ale zvycajne je to extremne minimum), pri Blazor Server odpada nutnost maj aj nejake REST-ove endpointy a proste zbytocnu medzivrtvu. Dalsia vyhoda je normalny, rozumny a vykonny jazyk.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: PanVP 25. 05. 2021, 13:17:51
Jdeš proti proudu, podle mě je lepší se to prostě naučit a nedělat weby 20 let starým způsobem.

PROČ?
Když chce dělat něco pořádně, může to udělat v Java.
Proč by si nemohl napráskat jednoduchou webovku jen tak bez hromady zbytečného balastu?
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Ink 25. 05. 2021, 13:41:11
Jdeš proti proudu, podle mě je lepší se to prostě naučit a nedělat weby 20 let starým způsobem.

PROČ?
Když chce dělat něco pořádně, může to udělat v Java.
Proč by si nemohl napráskat jednoduchou webovku jen tak bez hromady zbytečného balastu?

Nepsal jsem, že nemůže, pro mě za mě ať se vrátí k jQuery nebo čemukoli dalšímu. Jen mi přijde, že to není moc užitečné rozhodnutí. Můžeš používat Linux bez distribuce, Python bez Pipu, Rust bez Carga, programovat bez VCS, ale je to dobrá cesta? Obyčejně ne.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Ondrej Nemecek 25. 05. 2021, 13:54:59
Ptá se po odlehčenému řešení pro webovky, které bude dostatečně moderní a které zvládne backendista aniž by musel přibrat celý stack běžný pro frontend vývoj. To je otázka která dává smysl.

Vue.js neznám, ale divil bych se kdyby uvedené problémy neřešil? Oprvadu musí být vše v jednom souboru a nelze používat oddělené templaty?
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Filip Jirsák 25. 05. 2021, 14:01:43
Ak to chces robit rozumne, tak sa npm a Webpacku nevyhnes zial.
Webpacku se dá vyhnout docela dobře. Je dost modernějších bundlerů, třeba Snowpack (https://www.snowpack.dev) nebo esbuild (https://esbuild.github.io). Je dost nástrojů, které na Webpacku závisí, ale to asi nebude směr, kam registrovany123 míří.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: L.. 25. 05. 2021, 14:56:20
Pokud to jsou jednoduché weby na takové to domácí žvýkání, tak se můžeš zkusit mrknout na Wicket. Javový framework, docela dobře komponentový. Má dobře integrovaný AJAX, když chceš ještě víc interaktivity, můžeš tam psát i kusy v Javascriptu. HTML je v extra souborech.

Je to lehce oldschool, ale IMO pokud bys chtěl používat React / Angular / Vue / ... tak se nikdy nevyhneš tomu naučit se Javascriptový (= úplně jiný než Javový) devstack.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Pixe 25. 05. 2021, 15:54:54
Případně taky Vaadin

...můžeš zkusit mrknout na Wicket....
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Pajaha 25. 05. 2021, 16:04:25
Zdravím,
mám takový nekonkrétní dotaz, spíše námět na diskuzi.
...


To je přesně ten moderní trend co se mi vůbec nelíbí, pro jednoduchou webovku tahat bůchvíodkud megabajty balastu a výsledek je odpudivá rádobyprezentace dlouhá několik obrazovek, s pár fullHD obrázky na pozadí, olbřímým písmem a s informační hodnotou 0.

Viz třeba apple.com, anebo hloupá úvodní stránka googlu s logem a vkládacím vokýnkem pro hledání - má 1.2 megabajtu a dobu nahrávání v sekundách.

Kde jsou ty časy kdy se jednoduché webovky psaly v html, neco složitějšího, přístup do databáze a tak, v php, javascriptu.  Pár kilobajtů, největší nálož obrázky. V podstatě celý firemní web se vešel na disketu. :-( Na většinu freecoolin současných webů by to naprosto stačilo.

Ale sorry za OT :-/

Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Pajaha 25. 05. 2021, 16:14:10
Pro pobavení: https://www.jakdelatweby.cz/ (https://www.jakdelatweby.cz/)
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: A.P.Hacker 25. 05. 2021, 16:18:58
Zdravím,
mám takový nekonkrétní dotaz, spíše námět na diskuzi.
...


To je přesně ten moderní trend co se mi vůbec nelíbí, pro jednoduchou webovku tahat bůchvíodkud megabajty balastu a výsledek je odpudivá rádobyprezentace dlouhá několik obrazovek, s pár fullHD obrázky na pozadí, olbřímým písmem a s informační hodnotou 0.

Viz třeba apple.com, anebo hloupá úvodní stránka googlu s logem a vkládacím vokýnkem pro hledání - má 1.2 megabajtu a dobu nahrávání v sekundách.

Kde jsou ty časy kdy se jednoduché webovky psaly v html, neco složitějšího, přístup do databáze a tak, v php, javascriptu.  Pár kilobajtů, největší nálož obrázky. V podstatě celý firemní web se vešel na disketu. :-( Na většinu freecoolin současných webů by to naprosto stačilo.

Ale sorry za OT :-/

psat v cistem JS prave driv moc neslo, kvuli nekompatibilitam browseru.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 25. 05. 2021, 16:25:30
Případně taky Vaadin

...můžeš zkusit mrknout na Wicket....

No tak to uz radeji to NPM...
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Pixe 25. 05. 2021, 16:48:38
To nerozporuji - od obou dvou se většinou zdrhá právě ke všem těm věcem, které OP nechce :) Na druhou stranu když je člověk VE vývojář, a nechce (nemá čas) se plnohodnotně učit javascript (https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f), tak na ty jednoduché ptákoviny to poslouží
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany_ava 25. 05. 2021, 17:05:36

Já byl předloni ve stejné situaci, nakonec jsem si napsal dvě jednoduché aplikace v Elmu. Sice ten jazyk asi velkou budoucnost nemá, ale utekl jsem všem těm Javascriptům, npmkům, bylo to docela zábavné, něco jsem se naučil, a šlo to vcelku hladce.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Mlocik97 25. 05. 2021, 17:12:34
Jdeš proti proudu, podle mě je lepší se to prostě naučit a nedělat weby 20 let starým způsobem.

PROČ?
Když chce dělat něco pořádně, může to udělat v Java.
Proč by si nemohl napráskat jednoduchou webovku jen tak bez hromady zbytečného balastu?

Není náhodou jQuery práve tým zbytočným balastom, a nie je práve WebPack, RollUP, a pod. to čo zabezpečuje že do aplikácie nejde zbytočný balast?
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Mlocik97 25. 05. 2021, 17:13:35
Ak to chces robit rozumne, tak sa npm a Webpacku nevyhnes zial.
Webpacku se dá vyhnout docela dobře. Je dost modernějších bundlerů, třeba Snowpack (https://www.snowpack.dev) nebo esbuild (https://esbuild.github.io). Je dost nástrojů, které na Webpacku závisí, ale to asi nebude směr, kam registrovany123 míří.

Snowpack a Webpack je bundler a bundler... keď povedal WebPack tým myslel aj jeho alternatívy...
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Mlocik97 25. 05. 2021, 17:20:23
To je přesně ten moderní trend co se mi vůbec nelíbí, pro jednoduchou webovku tahat bůchvíodkud megabajty balastu a výsledek je odpudivá rádobyprezentace dlouhá několik obrazovek, s pár fullHD obrázky na pozadí, olbřímým písmem a s informační hodnotou 0.

Viz třeba apple.com, anebo hloupá úvodní stránka googlu s logem a vkládacím vokýnkem pro hledání - má 1.2 megabajtu a dobu nahrávání v sekundách.

Kde jsou ty časy kdy se jednoduché webovky psaly v html, neco složitějšího, přístup do databáze a tak, v php, javascriptu.  Pár kilobajtů, největší nálož obrázky. V podstatě celý firemní web se vešel na disketu. :-( Na většinu freecoolin současných webů by to naprosto stačilo.

Ale sorry za OT :-/

A to pri tom dnes sú nástroje ktoré umožňujú robiť weby omnoho optimalizovanejšie než v Internetovej dobe kamennej (Code-spliting, lazy-loading, tree-shaking, bundlery, transpiléry, a omnoho lepší JavaScript, etc).
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Mlocik97 25. 05. 2021, 17:27:20
Já byl předloni ve stejné situaci, nakonec jsem si napsal dvě jednoduché aplikace v Elmu. Sice ten jazyk asi velkou budoucnost nemá, ale utekl jsem všem těm Javascriptům, npmkům, bylo to docela zábavné, něco jsem se naučil, a šlo to vcelku hladce.

Hmm, a to pri tom mne osobne príde JavaScript ako najelegantnejší najjednoduchší a najrozumnejší programovací jazyk. Zaraždite ma.

Btw. tie keci typu "vyhnúť sa NPM, a ostatným stack bazmekom" od Java programátora, čo používa Maven, Gradle, JDK, JVM, a neviem čo, je ako teda o čom debata? To mi príde ako keby niekto povedal "v tomto musím 'zbytočne' vedieť X, a pri tom to viem v inom jazyku urobiť bez toho aby som vedel 'X'" (pri čom potajme zamlčíte, že v tom inom jazyku potrebuješ vedieť 'A', 'C', 'Z', 'Y', a 'K') Aneb tak mi príde kec "nechem používať NPM v JavaScripte, ale rád používam Maven a Gradle v Jave"
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: SB 25. 05. 2021, 17:55:43
Případně taky Vaadin

...můžeš zkusit mrknout na Wicket....

Něco jako tyhle 2 jsem hledal - už jsem myslel, že nic takového neexistuje.
Ještě jsem našel
https://en.wikipedia.org/wiki/Apache_Struts_2 (https://en.wikipedia.org/wiki/Apache_Struts_2) a https://en.wikipedia.org/wiki/ZK_(framework) (https://en.wikipedia.org/wiki/ZK_(framework)).

Mohl by mi prosím tyto 4 frameworky někdo, kdo v nich dělal, srovnat dle aktuálnosti a použitelnosti? Potřebuju to na přepracování těžkého klienta obchodní aplikace s GUI v Javě na webovou aplikaci.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 25. 05. 2021, 18:36:57
Případně taky Vaadin

...můžeš zkusit mrknout na Wicket....

Něco jako tyhle 2 jsem hledal - už jsem myslel, že nic takového neexistuje.
Ještě jsem našel
https://en.wikipedia.org/wiki/Apache_Struts_2 (https://en.wikipedia.org/wiki/Apache_Struts_2) a https://en.wikipedia.org/wiki/ZK_(framework) (https://en.wikipedia.org/wiki/ZK_(framework)).

Mohl by mi prosím tyto 4 frameworky někdo, kdo v nich dělal, srovnat dle aktuálnosti a použitelnosti? Potřebuju to na přepracování těžkého klienta obchodní aplikace s GUI v Javě na webovou aplikaci.

Proboha... To nepouzivej. Na to je React a Angular.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Ondrej Nemecek 25. 05. 2021, 19:25:36
Případně taky Vaadin

...můžeš zkusit mrknout na Wicket....

Něco jako tyhle 2 jsem hledal - už jsem myslel, že nic takového neexistuje.
Ještě jsem našel
https://en.wikipedia.org/wiki/Apache_Struts_2 (https://en.wikipedia.org/wiki/Apache_Struts_2) a https://en.wikipedia.org/wiki/ZK_(framework) (https://en.wikipedia.org/wiki/ZK_(framework)).

Mohl by mi prosím tyto 4 frameworky někdo, kdo v nich dělal, srovnat dle aktuálnosti a použitelnosti? Potřebuju to na přepracování těžkého klienta obchodní aplikace s GUI v Javě na webovou aplikaci.

OMG - Struts, to už je dech historie. Ale koukám že se pořád vyvíjí.

Tak samozřejmě webových frameworků pro javu jsou tuny. Pro malý web nebo administrační rozhraní apod. nevidím problém použít třeba Sparkjava https://sparkjava.com/ jako templatovací engine třeba Velocity https://velocity.apache.org/ (nebo jiný co umí Sparkjava) a jako responsibilní framework vzít Bootstrap https://getbootstrap.com/ nebo srovnatelnou lehčí alternativu (https://bulma.io/documentation/). Nebude to frontendová single page app v javascriptu ale fungovat to bude hned. IMHO by k tomu šlo přilepit i to Vue.js a tazatel by IMHO byl tam kde chtěl být. Akorát si to pak bude must napojit na svůj backendový stack (databáze atd.) po vlastní ose. Proč ale nejít touto cestou?

Je to ostatně asi i důvod, proč takové framworky existují. Z dalších třeba https://quarkus.io/ https://javalite.io/ https://micronaut.io/ https://vertx.io/ https://javalite.io/ nebo třeba i ten i Spring Boot https://spring.io/ či obecně  „Java Web Microframeworks“.

Jiný přístup je aby si tazatel backendista udělal REST backend jak je zvyklý a k tomu připojit javascriptový framework pro single page app, ale tam se pak musí „zašpinit“ s javascriptem a těma js věcma kolem současného fronendového vývoje.

Ohledně připomínky co by mělo javistovi vadit na tom npm když používá mvn - asi tolik, že už tak má javista dost starostí se svým stackem a tak nemá chuť nabalovat další komplexitu v podobě frontendovýho js stacku, který se navíc stále mění pod rukama (= moje zkušenost pár let zpět).
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Pixe 25. 05. 2021, 19:52:57
Obchodní aplikace znamená...? Spousta dynamicky se měnících čísílek a tak? Na to nejspíš žádný z těch zmiňovaných javovských frameworků vhodný není - tohle musí do prohlížeče

Potřebuju to na přepracování těžkého klienta obchodní aplikace s GUI v Javě na webovou aplikaci.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: L.. 25. 05. 2021, 20:01:52
...můžeš zkusit mrknout na Wicket....
Případně taky Vaadin

Něco jako tyhle 2 jsem hledal - už jsem myslel, že nic takového neexistuje.
Ještě jsem našel
https://en.wikipedia.org/wiki/Apache_Struts_2 (https://en.wikipedia.org/wiki/Apache_Struts_2) a https://en.wikipedia.org/wiki/ZK_(framework) (https://en.wikipedia.org/wiki/ZK_(framework)).

Mohl by mi prosím tyto 4 frameworky někdo, kdo v nich dělal, srovnat dle aktuálnosti a použitelnosti? Potřebuju to na přepracování těžkého klienta obchodní aplikace s GUI v Javě na webovou aplikaci.

Struts ne, to je hodně těžká prehistorie.

ZK neznám, to je něco nového / malého.

Obávám se, že lidi co by měli větší zkušenosti ve více frameworcích aby mohli regulérně porovnávat asi moc nenajdeš, natož v těchhle konkrétních. O Vaadinu jsem slyšel, ale reálné zkušenosti nemám. Ve Wicketu jsem programoval pět let, programuje se v něm dobře, používá ho dost velkých firem, z bank třeba Air Bank nebo Fio.

Pokud chceš zůstat v Javě a HTML renderované na serveru vyhovuje, tak je to dobrá volba. Client-side frameworky jako React nebo Angular mají nějaké výhody, ale zas také nevýhody (nad to, že je to jiný jazyk a ekosystém). Pokud je to administrativní aplikace, tak server-side docela stačí. Kdybys tam ale měl řešit nějaké real-time aktualizace, tak je to spíš na ten client-side.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Ondrej Nemecek 25. 05. 2021, 22:42:49
Struts ne, to je hodně těžká prehistorie.

Obávám se, že lidi co by měli větší zkušenosti ve více frameworcích aby mohli regulérně porovnávat asi moc nenajdeš, natož v těchhle konkrétních. O Vaadinu jsem slyšel, ale reálné zkušenosti nemám. Ve Wicketu jsem programoval pět let, programuje se v něm dobře, používá ho dost velkých firem, z bank třeba Air Bank nebo Fio.

Pokud chceš zůstat v Javě a HTML renderované na serveru vyhovuje, tak je to dobrá volba. Client-side frameworky jako React nebo Angular mají nějaké výhody, ale zas také nevýhody (nad to, že je to jiný jazyk a ekosystém). Pokud je to administrativní aplikace, tak server-side docela stačí. Kdybys tam ale měl řešit nějaké real-time aktualizace, tak je to spíš na ten client-side.

Souhlas. Pro komplexnější úkoly porovnat Wicket vs. Vaadin a pro malé věci použít cokoli z těch mikro frameworků (mě vyhovuje ten sparkjava + velocity, na db používám jdbi3). Pokud to má být v prohlížeči hodně živé, je potřeba aby se to renderovalo client-side.

Pro business aplikace typu správa objednávek atd. je ještě možnost Sencha Ext JS https://www.sencha.com/products/extjs/ kde se dá pracovat jako při vývoji desktop aplikace (ale neplacená community verze je bez podpory).

A ještě je zajímavý Apache Isis https://isis.apache.org/ který má domain driver development (administrace se generuje z doménových objektů, má to automatickou podporu REST Swagger, na pozadí ORM persistence) a vypadá to hodně dobře (Apache Isis™ provides your apps with a standard, automatically generated UI. Apache Isis™ is open source, built on industry/de-facto standards, there's no vendor lock-in.), ale zatím jsem se nedostal k tomu to vyzkoušet.

Podobně funguje Brightspot Headless CMS https://www.brightspot.com/ ale na vlastní architektuře a vlastním řešení persistence. Ačkoli jsou některé verze na githubu, tak je tam nulová podpora neplacené verze a neřešené bugy. Jsou to oboje komplexnější řešení.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: mareolan 26. 05. 2021, 00:30:06
Můžeš si zkusit, zda by ti pro rozčlenění vyhovovaly tzv. JavaScript modules (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#introducing_an_example). K těm npm nepotřebuješ, ale web server ano (otevření z file systému pomocí file:// protokolu nefunguje).

Použití s Vue.js by pak vypadalo nějak takhle:

index.html
Kód: [Vybrat]
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>

<div id="app">
  <grocery-list v-bind:list="foodList"></grocery-list>
</div>

<script type="module">
  import "./components/grocery-list.js";

  let app = new Vue({
    el: "#app",
    data: {
      foodList: [{ id: 0, text: "Vegetables" }, { id: 1, text: "Cheese" }]
    }
  });
</script>

components/grocery-list.js
Kód: [Vybrat]
import "./grocery-item.js";

Vue.component("grocery-list", {
  props: ["list"],
  template: `
    <ol>
      <grocery-item v-for="item in list" v-bind:item="item" v-bind:key="item.id" />
    </ol>
  `
});

components/grocery-item.js (s ukázkou templaty oddělené do samostatného souboru)
Kód: [Vybrat]
Vue.component("grocery-item", async () => {
  let templateResponse = await fetch(import.meta.url.replace(/\.js$/, ".html"));
  let template = await templateResponse.text();

  return {
    props: ["item"],
    template
  };
});

components/grocery-item.html
Kód: [Vybrat]
<li>{{ item.text }}</li>
V html si naimportuješ pouze ty komponenty, které v něm přímo použiješ, tranzitivní komponenty (grocery-item) se dotáhnou z těch přímých (viz import v grocery-list.js). A jestli chceš mít ty HTML šablony někde bokem, tak si je můžeš dotahovat tak, jak to dělá grocery-item.js. Pokud bys ty šablony chtěl mít přímo v .js souboru jako ne-string, např. JSX (nevím, jestli jsou Vue.js šablony kompatibilní s JSX), tak to by sis do stránky musel načíst něco jako babel, co by ti v podstatě provádělo transpilaci modulů (bývá to pořádný kusisko JS kódu).
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: czu 26. 05. 2021, 07:03:21
Ahoj, řešil jsem podobný problém - dělám spíš backend a čas od času jsem to chtěl i nějak odprezentovat na frontendu, ale zase jsem s tím nechtěl trávit moc času.

Kloním se k názoru, že "nenachčiješ proti větru" - frontend je hodně segmentovaný, projekty rychle vznikají a zanikají. Nemám čas ani chuť s tím držet krok, takže jsem chtěl něco de facto standardního a zároveň jednoduchého - to splňuje vue.js

Nad vue.js jsou dále postavené frameworky vuetify/quasar, které integrují celou řadu ready-to-use komponent. Ty dodržují Material design od Googlu. Není to žádná designová hitparáda a někdo může být Material designem oprávněně otrávený, ale fakt je, že se s tím dobře pracuje a hlavně uživatelé jsou na to zvyklí ze všech těch Google služeb.

Takže jsem tak nějak vysublimoval k použití quasar frameworku všude tam, kde potřebuju něco hodit na frontend. Jde použít i bez NPM, ale doporučuju tomu pár dnů až týdnů dát a používat celý framework tak, jak byl navržen. Pak už to jde víceméně samo.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 26. 05. 2021, 09:18:33
Tak ja mam za to, ze jsem to asi vyresil:

Kód: [Vybrat]
vue-test.html

<!DOCTYPE html>
<html>
<head>
    <title>My first Vue app</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.2.6/vue.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue-resource/1.5.1/vue-resource.min.js"></script>
    <script src="https://unpkg.com/vue-chartjs@2.5.7-rc3/dist/vue-chartjs.full.min.js"></script>
    <script src="vue-test.js"></script>
</head>


<div id="components-demo">
    <button-counter/>
    <button-counter/>
    <button-counter/>
</div>


<script>

    new Vue({ el: '#components-demo' })

</script>
</body>
</html>


Kód: [Vybrat]
vue-test.js

var template = `
<button v-on:click="count++">You clfffckeddd me {{ count }} times.</button>

`;

Vue.component('button-counter', {
    data: function () {
        return {
            count: 0
        }
    },
    template
});

Neni to sice psani do tagu, ale diky tem `` se to da asi bude dat pouzivat, a moje IDE umi rozpoznat ze pisu uvnitr html. Asi to i takhle ve Vue.js zamysleli.

Tim padem si muzu takto rozdelit web do komponent, a mam timto hlavni prvek zajistujici skalovatelnost.

Jeste tak vyresiot ty importy, abych je mel pokiudmozno v 1 souboru, a budu importovat ten 1 soubor.

Wicket, Struts, Vaadin a dalsi Javovske komponentove frameworky - NIKDY! To uz radeji rozjedu NPM a budu pouzivat React.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: L.. 26. 05. 2021, 10:46:45
Neni to sice psani do tagu, ale diky tem `` se to da asi bude dat pouzivat, ...

Ve skutečnosti by tady fungovaly i normální uvozovky, ale možná je používá IDE pro detekci.

Wicket, Struts, Vaadin a dalsi Javovske komponentove frameworky - NIKDY!

Zajímavé. Proč? Struts jsou fakt prehistorie, ale Wicket jsem používal pět let a v rámci server-side render paradigmatu dobré.

Klidně beru i nelogické / osobní důvody. Já bych třeba nechtěl používat Vue / Angular (o Svelte ani nemluvě), protože nesnáším ty jejich templaty s magickými atributy a proměnnými. Pro mě je to hrozná prasárna a radši kydat žumpu, než tohle. Ale beru, že je to prostě nějaký můj subjektivní názor a ne objektivní pravda a někdo jiný to může vidět přesně opačně.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: wajta 26. 05. 2021, 10:51:08
Zkuste se podívat na https://controlsjs.com (https://controlsjs.com).
Nepotřebujete NPM, můžete použít i vizuální návrh ui, je k tomu plugin do Netbeans.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: PanVP 26. 05. 2021, 10:54:42
Svelte ani nemluvě... nesnáším ty jejich templaty s magickými atributy a proměnnými

Můžeš to nějak rozvést?
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 26. 05. 2021, 11:21:27
Klidně beru i nelogické / osobní důvody. Já bych třeba nechtěl používat Vue / Angular (o Svelte ani nemluvě), protože nesnáším ty jejich templaty s magickými atributy a proměnnými. Pro mě je to hrozná prasárna a radši kydat žumpu, než tohle. Ale beru, že je to prostě nějaký můj subjektivní názor a ne objektivní pravda a někdo jiný to může vidět přesně opačně.

Protoze Wicket a tyhletyto podobne me locknou do jejich systemu komponent, ktery se JA potom budu muset prizpusobovat, a navic se to proste uz nepouziva - vidam to jenom v korporatech na legacy projektech.

S Vue si muzu proste psat HTML kod - staticky web, jako se vzdycky delaval. Vlastne kdyz to reknu jinak, s Vue muzu delat to same, co bych delal s Thymeleafem ( a ja mam rad Thymeleaf ), akorat ze to muzu delat Client side, vcetne vsech vyhod, co z toho plynou, jako napr. to ze si muzu dynamicky realtime nacitat menici se data z Backendu.

Protoze to je hlavni nevyhoda Thymeleaf, ze jeto super az do bodu, kdyz potrebujes neco realitime updatovat na strance, coz teda ja potrebuju vzdycky. V ten moment stejne musis dotahnout jQuery a Mustache. Jenze Vue je prehednejsi a peknejsi nez pouziti jQuery a Mustache.

Navic s Vue si muzu dotahnout poradnejsi/peknejsi komponenty, a ruzne grafy, kdyz budu chtit. U tech komponent framewroku musim pouzivat jenom to, co je v tom k dispozici. U JS mam vyber nasobne vetsi. Budu si chtit treba pridat google maps a pracovat s tim a muzu. S Wicketem nemuzu.

Mohl bych delat kombinaci Thymeleaf a Vue, ale nevim proc bych to delal, kdyz to same co mi poksytne Thymeleaf mi poskytne i Vue. A muzu zredukovat jednu trchnologii pryc.

Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 26. 05. 2021, 11:28:26
Jo a nevim co se ti nelibi na filozofii templatu ve Vue. Je to uplne analogicke s tim, jak funguji templaty v Thymeleaf nebo v JSP. Ale je to mnohem univerzalnejsi. Rikat e se tim to nelibi znamena rikat zeto nemas rad ani v JSP a Thymeleaf a vlastne v jakemkoli jinem backend rendering frameworku. Ale zato se nestitis prdnout tam Wicket....

Na co bys pred X lety pouzil JSP, na to dneska muzes pouzit mnohem elegantneji Vue.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: L.. 26. 05. 2021, 11:52:06
Protoze Wicket a tyhletyto podobne me locknou do jejich systemu komponent, ktery se JA potom budu muset prizpusobovat, a navic se to proste uz nepouziva - vidam to jenom v korporatech na legacy projektech.

Nelocknou, můžeš si napsat svoje komponenty, jaké chceš. Asi to myslíš tak, že pro Wicket je méně komponentových knihoven, než pro React / Angular / Vue - ano, to je logický a pravdivý argument a s ním souhlasím. Že se to už moc nepoužívá je taky pravda (sám jsem nedávno přepisoval jeden projekt z Wicketu do Reactu), na druhou stranu pro domácí projekty to moc vadit nemusí.

Pokud potřebuješ na webu realtime aktualizace, tak na to Wicket opravdu moc šikovný není (psal jsem to už v jednom z předcházejících příspěvků), ale zdaleka ne všechny projekty tohle potřebují.

Jo a nevim co se ti nelibi na filozofii templatu ve Vue. Je to uplne analogicke s tim, jak funguji templaty v Thymeleaf nebo v JSP.

Ano, to je PŘESNĚ ten důvod, proč to nesnáším. V JSP jsem taky dělal pár let a na rozdíl od Wicketu na něj nevzpomínám v dobrém, ba právě naopak. (Trochu jsem zkoušel i JSF a to byl ještě větší humáč.)
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: A.P.Hacker 26. 05. 2021, 12:43:18
vue komponenty muzete psat do template tagu
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Mlocik97 26. 05. 2021, 12:44:06
Já bych třeba nechtěl používat Vue / Angular (o Svelte ani nemluvě), protože nesnáším ty jejich templaty s magickými atributy a proměnnými.

Robíš si srandu? To je práve a hlavne na Svelte tá najlepšia vec... Ja práve nechápem ako môže niekto mať rád JSX, čo je proste chaos.

Vo Svelte je to tak elegantné, len taký príklad: https://svelte.dev/examples#numeric-inputs to je úplne že i človek čo nikdy nevidel počítač a prvý krát mu toto ukážeš tak rozumie čo ten kód robí a ako to funguje. A nie ten hnusný boilerplate s "setState()" a "render()" kde returnuješ HTML string, a neviem čo. O tom že je v bežnom React kóde toľko krát "this" čo ako nikdy nevieš čo "this" znamená kým neprečítaš väčší kus kódu tak... ako nechápem jak to môžeš mať rád.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Standa Blábol 26. 05. 2021, 14:43:59
Ja taky z javascriptu bliju a pro ruzne webove udelatka pouzivam primefaces.org - variantu pro JSF2.

Podivej se na joinfaces.org, tam je na to i maven starter.
vespod je klasicky Spring Boot, co vygeneruje samonosny fat JAR s embedded Tomcatem.

Pro bezne webove udelatko staci definovat JSF2 XHTML definice a java backing beany, od toho Javascript zprasku jsi plne odstinen. Mas k dispozici Spring Security, normalni serverside session, pro male veci ideal.

Osobne nechapu tu snahu na vse naroubovat JS frameworky,jejichz primarnim ucelem je offload loadu na klienta pro gigaaplikace googlu, kdyz na tom pak v realu jedou 3 useri konkurentne...
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Pixe 26. 05. 2021, 14:59:01
Všechny ty rendery, state atd. jsou ale právě to, proč si člověk (pokud k tomu nemá vyslovený odpor) ten React vybere - unidirectional data-flow. Sice jsem ve Svelte nepsal, ale podle ukázky co posíláš mi všechno to bindování silně připomíná Angular 1 (od kterého mj. kvůli tomuto všichni zdrhali) - jak potom vytrasuji událost, která mi vyvolala překreslení? Nebo se pletu a debugguje se to jedna báseň?

Robíš si srandu? To je práve a hlavne na Svelte tá najlepšia vec... Ja práve nechápem ako môže niekto mať rád JSX, čo je proste chaos.
...
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 26. 05. 2021, 15:10:37
Protoze Wicket a tyhletyto podobne me locknou do jejich systemu komponent, ktery se JA potom budu muset prizpusobovat, a navic se to proste uz nepouziva - vidam to jenom v korporatech na legacy projektech.

Nelocknou, můžeš si napsat svoje komponenty, jaké chceš.

No ale oprav me jestli se mylim, ale na to uz potrebuju znat javascript. Tak k cemu mi to potom je?
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 26. 05. 2021, 15:12:32
Ja taky z javascriptu bliju a pro ruzne webove udelatka pouzivam primefaces.org - variantu pro JSF2.

Muzes ukazat priklad, jak s tim udelam tabulku, ktera se mi bude kazdou 1s aktualizovat novymi zaznamy z backendu? A pak bych rosil jeste jednou tu samou tabulku, ktera se mi aktualizuje nikoliv periodicky, ale az kdyz na backendu data zmenila, tzn. vyuziva to treba Websocket.

Tak jestli jsem te tim prilis nezaskocil, tak diky.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: A.P.Hacker 26. 05. 2021, 15:16:09
Nechapu, jak nekdo muze preferovat Javu pred modernim Javascriptem.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: pruzkumbojem 26. 05. 2021, 15:37:48
Co myslis pod "moderni javascript"
jako javascript obecne, protoze vznikl relativne "nedavno"
nebo nejakou ECMA?

Protoze ja porad jeste musim pracovat na platforme, co podporuje jenom ECMA 5 a vetsi shit proste neni.
Takze ja v javascriptu delam a prave proto ho intenzivne nenavidim.
Ale ja se v mladi ucil Pascal a assembler, tak ja vam mladym uz nerozumim.

Jinak co si myslet o jazyku, kde vsichni reknou, "ono kdyz se to umi a kdyz pouzijes TypeScript, tak se to osefuje".
tak jazyk 1 potrebuje jazyk 2, aby byl seriozneji pouzitelny (tim nemyslim vytvoreni zeleneho tlacitka na www strance"


Nechapu, jak nekdo muze preferovat Javu pred modernim Javascriptem.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Standa Blábol 26. 05. 2021, 15:49:29
Ja taky z javascriptu bliju a pro ruzne webove udelatka pouzivam primefaces.org - variantu pro JSF2.

Muzes ukazat priklad, jak s tim udelam tabulku, ktera se mi bude kazdou 1s aktualizovat novymi zaznamy z backendu? A pak bych rosil jeste jednou tu samou tabulku, ktera se mi aktualizuje nikoliv periodicky, ale az kdyz na backendu data zmenila, tzn. vyuziva to treba Websocket.

Tak jestli jsem te tim prilis nezaskocil, tak diky.

Na periodicke pollovani je tu primefaces Poll
http://www.primefaces.org:8080/showcase/ui/ajax/poll.xhtml?jfwid=90af5

Ne webfoctek standardni JSF2.3 <f:websocket>
https://stackoverflow.com/questions/3787514/how-can-server-push-asynchronous-changes-to-a-html-page-created-by-jsf/49852105#49852105

Ve starych Primefaces do verze 6.2 byla jejich interni implementace websocketu, tu odstranili, kdyz to zacala podporovat primo JSF


Sam jsem to nikdy nepouzil, nepotreboval jsem
Ma to fungovat velice jednoduse, ze na urvni XHTML page se websocket notifikace zachyti jako AJAX event, na ktery pripojim update prislusne komponenty, napr <p:datatable> se zobrazenim dat
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: A.P.Hacker 26. 05. 2021, 15:51:24
Co myslis pod "moderni javascript"
jako javascript obecne, protoze vznikl relativne "nedavno"
nebo nejakou ECMA?

Protoze ja porad jeste musim pracovat na platforme, co podporuje jenom ECMA 5 a vetsi shit proste neni.
Takze ja v javascriptu delam a prave proto ho intenzivne nenavidim.
Ale ja se v mladi ucil Pascal a assembler, tak ja vam mladym uz nerozumim.

Jinak co si myslet o jazyku, kde vsichni reknou, "ono kdyz se to umi a kdyz pouzijes TypeScript, tak se to osefuje".
tak jazyk 1 potrebuje jazyk 2, aby byl seriozneji pouzitelny (tim nemyslim vytvoreni zeleneho tlacitka na www strance"


Nechapu, jak nekdo muze preferovat Javu pred modernim Javascriptem.

modernim javascriptem myslim to co podporuji dnesni prohlizece a nodejs. Typescript nepotrebujete, typove anotace jdou psat do komentaru. Typovy system je mnohem mocnejsi nez ten v Jave.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Standa Blábol 26. 05. 2021, 15:57:21
Nechapu, jak nekdo muze preferovat Javu pred modernim Javascriptem.

Myslim, ze tohle muze nechapat jenom nekdo, kdo o Jave nic nevi.
Se skripenim zubu je pouzitelny Typescript, prave proto, ze z Javascriptu dela Javu rizlou C#.

Angular 2 uz na TS jede, Vue 3 taky, React uz to taky podporuje, i kdyz jeste z compatibility duvodu podporuje holy JS
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: A.P.Hacker 26. 05. 2021, 15:58:57
Se skripenim zubu je pouzitelny Typescript, prave proto, ze z Javascriptu dela Javu rizlou C#.

to ani nahodou, typovy system Typescriptu je mnohem pokrocilejsi, jazyk celkove je mnohem expresivnejsi. Muzete ho pouzivat i v cistem JS, jak jsem psal
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Standa Blábol 26. 05. 2021, 16:01:34
Co myslis pod "moderni javascript"
jako javascript obecne, protoze vznikl relativne "nedavno"
nebo nejakou ECMA?

Protoze ja porad jeste musim pracovat na platforme, co podporuje jenom ECMA 5 a vetsi shit proste neni.
Takze ja v javascriptu delam a prave proto ho intenzivne nenavidim.
Ale ja se v mladi ucil Pascal a assembler, tak ja vam mladym uz nerozumim.

Jinak co si myslet o jazyku, kde vsichni reknou, "ono kdyz se to umi a kdyz pouzijes TypeScript, tak se to osefuje".
tak jazyk 1 potrebuje jazyk 2, aby byl seriozneji pouzitelny (tim nemyslim vytvoreni zeleneho tlacitka na www strance"


Nechapu, jak nekdo muze preferovat Javu pred modernim Javascriptem.

modernim javascriptem myslim to co podporuji dnesni prohlizece a nodejs. Typescript nepotrebujete, typove anotace jdou psat do komentaru. Typovy system je mnohem mocnejsi nez ten v Jave.

Nechces zacit radit lidem od Angularu a Vue?
Ti pomylenci switchli na TS.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 26. 05. 2021, 16:20:48
Ja taky z javascriptu bliju a pro ruzne webove udelatka pouzivam primefaces.org - variantu pro JSF2.

Muzes ukazat priklad, jak s tim udelam tabulku, ktera se mi bude kazdou 1s aktualizovat novymi zaznamy z backendu? A pak bych rosil jeste jednou tu samou tabulku, ktera se mi aktualizuje nikoliv periodicky, ale az kdyz na backendu data zmenila, tzn. vyuziva to treba Websocket.

Tak jestli jsem te tim prilis nezaskocil, tak diky.

Na periodicke pollovani je tu primefaces Poll
http://www.primefaces.org:8080/showcase/ui/ajax/poll.xhtml?jfwid=90af5

Ne webfoctek standardni JSF2.3 <f:websocket>
https://stackoverflow.com/questions/3787514/how-can-server-push-asynchronous-changes-to-a-html-page-created-by-jsf/49852105#49852105

Ve starych Primefaces do verze 6.2 byla jejich interni implementace websocketu, tu odstranili, kdyz to zacala podporovat primo JSF


Sam jsem to nikdy nepouzil, nepotreboval jsem
Ma to fungovat velice jednoduse, ze na urvni XHTML page se websocket notifikace zachyti jako AJAX event, na ktery pripojim update prislusne komponenty, napr <p:datatable> se zobrazenim dat

Divam se na to a nechapu, v cem si pomuzes oproti Vue.js. Vzdyt budes mit napsane vesmes to same. Akorat ze kolem nebudes mit tu tucnou vrstvu javovske abstrakce. A ten poll - umi to vubec upadovat i tabulku, tzn. aplikovat ty data jako foreach template?
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: A.P.Hacker 26. 05. 2021, 16:30:02
Nechces zacit radit lidem od Angularu a Vue?
Ti pomylenci switchli na TS.

Myslel jsem typovy system typescriptu ve srovnani s Javou. Ale kdyz chcete srovnavat TS s cistym JS, co umi TS navic oproti https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html ?
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Standa Blábol 26. 05. 2021, 16:42:29
Ja taky z javascriptu bliju a pro ruzne webove udelatka pouzivam primefaces.org - variantu pro JSF2.

Muzes ukazat priklad, jak s tim udelam tabulku, ktera se mi bude kazdou 1s aktualizovat novymi zaznamy z backendu? A pak bych rosil jeste jednou tu samou tabulku, ktera se mi aktualizuje nikoliv periodicky, ale az kdyz na backendu data zmenila, tzn. vyuziva to treba Websocket.

Tak jestli jsem te tim prilis nezaskocil, tak diky.

Na periodicke pollovani je tu primefaces Poll
http://www.primefaces.org:8080/showcase/ui/ajax/poll.xhtml?jfwid=90af5

Ne webfoctek standardni JSF2.3 <f:websocket>
https://stackoverflow.com/questions/3787514/how-can-server-push-asynchronous-changes-to-a-html-page-created-by-jsf/49852105#49852105

Ve starych Primefaces do verze 6.2 byla jejich interni implementace websocketu, tu odstranili, kdyz to zacala podporovat primo JSF


Sam jsem to nikdy nepouzil, nepotreboval jsem
Ma to fungovat velice jednoduse, ze na urvni XHTML page se websocket notifikace zachyti jako AJAX event, na ktery pripojim update prislusne komponenty, napr <p:datatable> se zobrazenim dat

Divam se na to a nechapu, v cem si pomuzes oproti Vue.js. Vzdyt budes mit napsane vesmes to same. Akorat ze kolem nebudes mit tu tucnou vrstvu javovske abstrakce. A ten poll - umi to vubec upadovat i tabulku, tzn. aplikovat ty data jako foreach template?

V JSF2 se zadny foreach template nikam nestrka, zapomen na generovani HTML kodu.

Udela se XHTML deklarace, ktera na stranku nastrka widgety a propoji je s backing beanem. Npriklad pro tabulku backing bean poskytne List<> beanu, atributy beanu obsahuji jednotlive sloupce.

viz nejjednodussi priklad hole tabulky
https://www.primefaces.org/showcase/ui/data/datatable/basic.xhtml?jfwid=f505c

Kód: [Vybrat]
<h:form>
    <div class="card">
        <p:dataTable var="product" value="#{dtBasicView.products}" id="testtable">
            <p:column headerText="Code">
                <h:outputText value="#{product.code}" />
            </p:column>

            <p:column headerText="Name">
                <h:outputText value="#{product.name}" />
            </p:column>

            <p:column headerText="Category">
                <h:outputText value="#{product.category}" />
            </p:column>

            <p:column headerText="Quantity">
                <h:outputText value="#{product.quantity}" />
            </p:column>
        </p:dataTable>
    </div>
</h:form>


Tahle deklarace si z named backing beanu "dtBasicView" vezme List<> beanu s daty a zobrazi je v tabulce.
Ona komponenta ma svoje id="testtbl" (v origo examplu ani neni, pridal jsem), pokud nejakym eventem zavolas update pro tento id - jenom tato samotny datatable widget se updatuje bez reloadu stranky.
A je uplne jedno, jestli ten event vedouci na update idu "testtbl" pristal ze zmacknuti tlacitka, z periodickeho pollu, nebo z websocketu.

Takze jako koder udelas vyse popsanou XHTML dekraraci, udelas primitivni backing bean, co vraci List<> a hotovo.

V onom odkazu jsou i zdrojaky onoho backing beanu a dokonce i fake servica, co pro bean generuje data.

Nikde neni ani radek javascriptu. (I kdyz mas samozrejme moznost i s tim pracovat)

Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Mlocik97 26. 05. 2021, 16:42:59
Všechny ty rendery, state atd. jsou ale právě to, proč si člověk (pokud k tomu nemá vyslovený odpor) ten React vybere - unidirectional data-flow. Sice jsem ve Svelte nepsal, ale podle ukázky co posíláš mi všechno to bindování silně připomíná Angular 1 (od kterého mj. kvůli tomuto všichni zdrhali) - jak potom vytrasuji událost, která mi vyvolala překreslení? Nebo se pletu a debugguje se to jedna báseň?

Robíš si srandu? To je práve a hlavne na Svelte tá najlepšia vec... Ja práve nechápem ako môže niekto mať rád JSX, čo je proste chaos.
...

áno, pleteš se a debuguje sa to jedna báseň... a ten data flow sa dá kontrolovať úplne v pohode...
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Mlocik97 26. 05. 2021, 16:46:10
tak jazyk 1 potrebuje jazyk 2

nepotrebuješ TS, btw. a tento argument, tak to môžem nadávať na Kotlin a Scala čo potrebuje Javu,... C++ čo je vlastne "C" s pridaným ++,... a môžem pokračovať až nakoniec dôjdeme že všetci by sme mali používať Assembler?
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Mlocik97 26. 05. 2021, 16:49:07
Nechapu, jak nekdo muze preferovat Javu pred modernim Javascriptem.

Myslim, ze tohle muze nechapat jenom nekdo, kdo o Jave nic nevi.
Se skripenim zubu je pouzitelny Typescript, prave proto, ze z Javascriptu dela Javu rizlou C#.

Angular 2 uz na TS jede, Vue 3 taky, React uz to taky podporuje, i kdyz jeste z compatibility duvodu podporuje holy JS

Práve TypeScript nie je použitelý práve preto že z použitelného JS to robí Javu/C# "moderný OOP" humus... čo sám autor OOP odsudzuje Javu.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: A.P.Hacker 26. 05. 2021, 16:56:16
TS lze pouzivat jako linter, transpilace neni nezbytna
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Mlocik97 26. 05. 2021, 17:13:33
Všechny ty rendery, state atd. jsou ale právě to, proč si člověk (pokud k tomu nemá vyslovený odpor) ten React vybere - unidirectional data-flow. Sice jsem ve Svelte nepsal, ale podle ukázky co posíláš mi všechno to bindování silně připomíná Angular 1 (od kterého mj. kvůli tomuto všichni zdrhali) - jak potom vytrasuji událost, která mi vyvolala překreslení? Nebo se pletu a debugguje se to jedna báseň?

áno, pleteš se a debuguje sa to jedna báseň... a ten data flow sa dá kontrolovať úplne v pohode...

btw. ten unidirectional data-flow je možný aj vo Svelte úplne v pohode a to s omnoho menej boilerplate kódu a stále elegantnejšie: https://svelte.dev/repl/6190bbbe098f4556aa9eddcfa8d4a77d?version=3.38.2
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 26. 05. 2021, 18:00:06
Rad bych zde poznamenal, ze muj dotaz na to, jak pouzivat Vue bez transpilace a NPM, se ponekud zvrhnul v hadky ohledne vseho toho, co s sebou privlece az pouzivani NPM.

Ja jako nenarocny uzivatel web technologii vubec typescript neresim, protoze mym jednoduchym zpusobem se ani vlastne neda pouzit. Pouzivam cisty Javascript a tim ze nemam webpack tak mam o mnoho starosti min.

A tady jsem nasel knowhow na Vue app bez NPM:

https://dzone.com/articles/vue-js-application-without-build

A tady je k tomu repozitar:

https://bitbucket.org/letsdebugit/minimalistic-vue

Je to moc hezky udelane - presne to jsem chtel. A je to v ES6, ani nepotrebuju Babel. Doporucuje kazdemu se na to podivat.

Mozna to nebude fungovat v nejakych starych browserech, ale to me pro me potreby moc nezajima.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Filip Jirsák 26. 05. 2021, 21:09:13
Což ovšem znamená, že musíte použít plnou verzi Vue i s kompilátorem (https://v3.vuejs.org/guide/installation.html#with-a-bundler). Přidá to 30 kB JS navíc a nějaký čas to kompilaci.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 26. 05. 2021, 22:24:17
Což ovšem znamená, že musíte použít plnou verzi Vue i s kompilátorem (https://v3.vuejs.org/guide/installation.html#with-a-bundler). Přidá to 30 kB JS navíc a nějaký čas to kompilaci.

No tak budiž, mě to stačí, já internetové weby nedělám, a na intranet je zbytecne se takovyma vecma zaobirat.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 26. 05. 2021, 22:37:19
A kdybych delal, tak Vue mi to umozni naskalovat pro webpack.
Název: Jsem nepoucitelny
Přispěvatel: registrovany123 27. 05. 2021, 15:11:22
Tak po neuspechu s vyrobenim Mapy.cz ve Vue jsem to vzdal, a sel jsem do Reactu. Protoze nekdo vyrbil k Reactu komponentu pro mapy.cz na githubu.

A co byste rekli ze se stalo?

Promarnil jsem na tom nekolik hodin. Jako vzdy. Vyskakovaly na me obskurni chyby - ani nebudu rikat co vsechno to bylo. A stejne se to nerozjelo.

Tak jsem zase u Vue.js a statickeho webu, NPM, Webpack a ty dalsi zadekielce nechci videt dalsich X let. A pouzivam Google maps, protoze ty narozdil od Mapy.cz ve Vue jedou.

Neni to proste takove jednoduche.

PS: Filip Jirsak uz pise odpoved jak je to cele moje vina.
Název: Re:Jsem nepoucitelny
Přispěvatel: PanVP 27. 05. 2021, 15:40:10
Neni to proste takove jednoduche.
Jednoduché to není a je to naopak velmi otravné.

Filip Jirsak uz pise odpoved jak je to cele moje vina.
No a možná bude mít svým způsobem pravdu.
Ohledně webu se zdá být kompetentní.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Filip Jirsák 27. 05. 2021, 16:37:34
Neni to proste takove jednoduche.
Ano, není to jednoduché. Webový vývoj se za ta léta vyvinul a dnes už jsou to docela komplikované technologie, které je potřeba se naučit ovládat. Stejně jako bez znalosti Springu nedokážete ve Springu napsat složitější věc, než opsat tutorial. resp. v tom webovém světě to asi bude komplikovanější, protože všechny ty vrstvy nad tím se pořád musí vypořádat a jsou omezené tím, e vespod je JavaScript manipulující s DOMem určeným pro zobrazování dokumentů. Což má k ideálnímu nástroji pro tvorbu GUI dost daleko.

V JavaScriptu můžete pořád dál psát jednoduché věci ve vanilla JavaScriptu, ale s tím už samozřejmě nedocílíte toho, co dokážete s frameworky.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: PanVP 27. 05. 2021, 18:24:44
Já řeším podobný problém, taky potřebuji udělat nějaký web a taky mě seee....že potřebuju tisíc píšovin.....

Já si pamatuji ještě blbiny jako Microsoft Frontpage.
Tenkrát si lidi skoro ustříkli, že jsou ve vygenerovaném html nadbytečné značky.
(Teď jsem koukal na nějakou stránku a měla 25 MB...skutečně bajtů...všemožné kraviny....čím víc knihoven, tím víc webopšouk.)
Jenže ve své podstatě to dělalo všechno potřebného.

Jako říct, že editor NANO je naprd a musí se nahradit kompletní balíkem Office a navíc muset umět ovládat všechno od Powerpointu, přes makra v Excelu po komplexní formátování ....
Zesložiťování není cesta vpřed...
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 27. 05. 2021, 18:27:17
Jako ja jsem treba skoncil u toho, ze jsem udelal yarn add na knihovnu, dotahly se zavislosti, a potom to interne rvalo v konzoli zeto nemuze najit babel. A to uz jsem rezignoval, protoze ja zadny setup Babelu udelany nemam (a to zcela zamerne), a nevim proc nejaka knihovna me s tim vubec otravuje.

Hodinu jsem setupoval React pro Spring Boot podle tutorialu, aby byl vystup z NPM do javovske slozky /target, abych pak nasledne zjistil, ze timhle zpusobem mi nebude fungovat od Reactu live reload. To je trochu ulet, ne? K cemu potom takovy javosky setup je, kdyz je to napul funkcni. Hlavne ze to melo na Githubu 500 hvezdicek ten setup.

U separatniho NPM ktery pojede na svem vlasrtni mporte je zase potreba nejak nastavovat proxy. Precetl jsem tutorial od nejakho cernocha a pak od nejakeho Inda, ale moc moudry jsem z toho nebyl.

A do toho se ustavicne sprajcovala IntelliJ Idea, kdyz indexovala node_modules.

No... tak ja jdu na to Vue bez npm. Akorat tam nefunguje naseptavani.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 27. 05. 2021, 18:46:29
Nicmene pozitivni vec je, ze do takyvychto uzkych jsem se dostal az v dusledku toho, ze jsem chtel pouzit nejakou externi nekym jinym udelanou komponentu. Tak to byvalo i v minulosti. A ta vec proste poradne nefungovala. Kdyz si to clovek neudela sam...

Takova by treba pro PrimeFace vubec udelana nebyla, a myslim si, ze v porovnani s PrimeFaces, Wicketem, Thymeleafem a jinyma jsem na tom porad lip s Vue a static webem.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: PanVP 27. 05. 2021, 18:55:22

Jestli se to všechno bude dál zhoršovat a komplikovat....tak potěš koště....
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Filip Jirsák 27. 05. 2021, 19:38:35
Tenkrát si lidi skoro ustříkli, že jsou ve vygenerovaném html nadbytečné značky.
Jenže ve výstupu, který vyplivne bundler, nadbytečný kód nebývá, naopak je všechno stlačené na minimum. Akorát dnešní web toho dělá tisíckrát víc, než dělal web vytvořený ve FrontPage. Díky tomu web také používá tisíckrát víc uživatelů.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: pruzkumbojem 27. 05. 2021, 19:59:09
jasne, javascript a soucasnej web je vrchol staleti IT evolucniho vyvoje, Darwinovska dokonalost.
protoze vse funguje, tak se nastesti stabilizovalo, protoze dalsi nastroje (k tem 150, co je jich pouzito na stranku) uz nejsou potreba.

Days since last JavaScript framework
https://dayssincelastjavascriptframework.com/



Tenkrát si lidi skoro ustříkli, že jsou ve vygenerovaném html nadbytečné značky.
Jenže ve výstupu, který vyplivne bundler, nadbytečný kód nebývá, naopak je všechno stlačené na minimum. Akorát dnešní web toho dělá tisíckrát víc, než dělal web vytvořený ve FrontPage. Díky tomu web také používá tisíckrát víc uživatelů.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Mlocik97 27. 05. 2021, 20:12:44
Days since last JavaScript framework
https://dayssincelastjavascriptframework.com/

A sú tie štatistiky vôbec reálne? Btw. není to až tak hrozné s JS frameworkami, a nikto ani nenúti ťa používať je všetky,..
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: PanVP 27. 05. 2021, 21:13:08
A sú tie štatistiky vôbec reálne?

No já taky jeden před 13-14 lety jeden udělal :P
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Mlocik97 27. 05. 2021, 21:15:52
A sú tie štatistiky vôbec reálne?

No já taky jeden před 13-14 lety jeden udělal :P

Rozumiem, takže priemerný programátor vytvorí "jeden" framework, a pak 13-14 let nič... takže keď si pozriem odhadovaný počet programátorov v JS, spočítam koľko je schopných vytvoriť framework, a keď spočítam koľko času potrebujú, tak zistím že nemôže tu vznikať v priemere viac než jeden, dva, možno 3 frameworky za nejaký mesiac. Keď si pozriem koľko v podstate zaniknú krátko po vzniku, alebo koľko v podstate neuspeje, tak tá situácia s množstvom JS frameworkov nieje prehnaná.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: pruzkumbojem 27. 05. 2021, 21:31:26
no vsechny mne mozna nikdo nenutil, ale jeste si nepotkal manazera, ktere mel zakladni pozadavek, pet let zkusenosti s nejakou Svelte (nebo jinou cunacinou) verze 0.14 alfa? pochopitelne s CICD a DEVOps. Protoze debil to nekde cetl nebo mu to jeho 18letej seniorni developer nakukal?

Jinak knihovny a frameworky  jsou asi dobry pouzivat, jsem slysel, ale kruci, kazdej novej framework zacne vsechno odzacatku, novym "paradigmatem",  zavede postupy presne inverzni k predchozi free cool in veci. Protoze tenhle novej framework zacne byt cool, tak ho vsichni cool programatori zacnou opevovat a pouzivat v alfa verzi. A tlacit svejm managerum.

Protoze drahej autor zacal z nuly, tak nez se mu podari rozchodil zakladni veci, tak mu dojdou sily a nikdy to nedodela. Vsichni ti cool programatori reknou jasne, to se pochopitelne musi skombinovat s dalsim cool nastrojem, ten uz je v beta verzi.

To vse se znelibi nekomu jinymu, tak zacne z nuly a "poradne". a kolobeh javascriptoveho zivota se opakuje.
SOrry, ale takovej bordel v zadnym jinym "modernim" jazyku neexistuje.

BTW, nasel jsem tohle, ale pamatuju si, ze existuje lepsi a delsi verze.
https://medium.com/@boopathi/it-s-the-future-7a4207e028c2


Days since last JavaScript framework
https://dayssincelastjavascriptframework.com/

A sú tie štatistiky vôbec reálne? Btw. není to až tak hrozné s JS frameworkami, a nikto ani nenúti ťa používať je všetky,..
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: PanVP 27. 05. 2021, 21:48:43
To vse se znelibi nekomu jinymu, tak zacne z nuly a "poradne". a kolobeh javascriptoveho zivota se opakuje.

Jo, vlastně z nějakého takového důvodu jsem začal dělat ten svůj  ;D
Už vlastně ani nevím, proč jsem s tím přesně začal, ale přišlo mi to důležité.

...zajímavé, vznik Javaframeworků je tedy dán přírodním zákonem...  ;D
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: ZAJDAN 27. 05. 2021, 22:06:49
Kdysi mě všechny ty Angulary, Reacty, Vue a kdo ví co ještě rozčilovali a tehdá jsem přešel na RubyOnRails. Nelituju :_)
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: M_D 27. 05. 2021, 22:24:00
BTW, nasel jsem tohle, ale pamatuju si, ze existuje lepsi a delsi verze.
https://medium.com/@boopathi/it-s-the-future-7a4207e028c2

Heh, pěkné. Jsem se pobavil, pak zamyslel a zjistil, že z těch technologických zkratek člověk znal možná jen to JQuery. Jsem rád, že se tím nemusím živit a až budu muset zase si vyrobit pro test/ukázku jednoduchou stránku, tak zase za noc zbastlím čistý jednosouborový javascript smíchaný s HTML a možná k tomu ještě jeden CSS soubor... :-)
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 27. 05. 2021, 23:12:54
Ale jimak treba s javascriptem a html jako jazykem zase tak problem nemam. To az ten npm setup, nodemodules, babel atp. je bordel, navic ke vsemu to vzdycky ruzne hapruje v IDE, jo a knihovny jsou vosklive napsane, komponentu zasadne nejak haprujou. Jo a blbe se debuguje await async v IntelliJ, a taky tam nefunguje evaluate. A naseptavani je vzdycky takove roztodivne.

Treba Mapy.cz API, tak dokumentace je udelana dobre, ale kdy y nebyla, tak clovek proste nepochopi z kodu jak to doprcic jako ma vlastne fungovat. Pritom je to docela jednoducha knihovna, ale proste pochopit to jenom tak nejde, Kdyny to bylo v jave, tak staci jeden example a zbytek clovek pochopi kdyz se podiva do okomemtovane tridy. Ale v javascriptu ne. A pritom udelat to pekne se v javascriptu da, ale proste ti web vyvojari...
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Filip Jirsák 27. 05. 2021, 23:21:45
Treba Mapy.cz API, tak dokumentace je udelana dobre
No, zrovna jsem musel googlit, jaké parametry se předávají do geometrie CIRCLE (http://CIRCLE). Protože je celkem jasné, že když je možné nakreslit na mapě různě velké kruhy/kružnice, bude to chtít víc parametrů, než jenom střed. Ale jak se určí poloměr či průměr, to už se člověk z dokumentace nedozví. Ale je fajn, že to má alespoň nějakou dokumentaci.

ak clovek proste nepochopi z kodu jak to doprcic jako ma vlastne fungovat. Pritom je to docela jednoducha knihovna, ale proste pochopit to jenom tak nejde,
To ale podle mne nijak nesouvisí s webovým vývojem jako spíš s tím, jestli už jste se s nějakým mapovým API setkal.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: okalousek 28. 05. 2021, 00:24:44
Nevím jak je to s kompilací z Javy, ale WebAssembly tu s námi je už delší dobu.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: pruzkumbojem 28. 05. 2021, 00:41:52
tak to je super, on totiz WebAssembly to je posledni technologie, co webu FAKT chybela.

Tu je treba propagovat co se da.

Nevím jak je to s kompilací z Javy, ale WebAssembly tu s námi je už delší dobu.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 28. 05. 2021, 09:05:51
tak to je super, on totiz WebAssembly to je posledni technologie, co webu FAKT chybela.

Tu je treba propagovat co se da.

Nevím jak je to s kompilací z Javy, ale WebAssembly tu s námi je už delší dobu.

Nekde jsem cetl ze Web Assembly se nejak neuchytilo jak se myslelo. A v cem ti to pomuze?

Jde o to, ze Javacript neni zase tak spatny jazyk. Hodne lidi na neho nadava, ale jako skriptovaci jazyk, kdyz to porovnam s Pythonem, to neni zle. Mozna v mnohem bych rekl ze je to lepsi nez Python, kdyz by mi slo jenom o jazyk, uz treba proto, ze to pouziva JSON jako reprezentaci objektu, jede to primo v Browseru, a ma to normalni Streamy a lambdy, narozdil od Pythnovskych lambd a list comprehensions - to je takove krkolomne.

Ja kdyz pouzivam to Vue, nedelam s NPM a nepotrebuu pouzivat nekym jinym napsane komponenty (coz byva ten nejvetsi kamen urazu), takse mi s tim dela dobre amuzu si to napsat pekne.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 28. 05. 2021, 09:10:43

Ad ta transpilace. A opravdu je to takove terno?

Pythnovskou filozofii to zrovna moc princip jednoduchosti nesplnuje. Vemte si co vsechno musite udelat navic, kdyz chcete transpilovat. Napr se vam i rozbije moznost debugovat v browseru a cist chyby v temrinalu, protoze vsechny zdrojaky jsou rozsypany caj.

Tak nemate to lepsi mit o neco vetsi zdrojaky, ale poradek a jednoduchost?

Ja vim ze jsme delali Python lambdy a JS lambdyv AWS. JS lambdy jsou zkompilovane a o neco mensi nez Pythonovske. Ale:

1. Python lambdy muzu adhoc upravit v browseru
2. Kdyz mi vyskoci chyba, tak rovnou vidim i kod kde vyskocila (tak jako v Jave). U JS vidim jenom rozsypany caj.
3. Nemusim mit dalsi konfigurace kvuli nastaveni transpilace.

Z vyse uvedeneho jsem usoudil, ze transpilace pro lambdy neni zase takova skvela vec, a Python way mi prijde lepsi. Proto i v JS jsme transpilaci nakonec vypli, protoze se to proste nevyplati.

A jasne, chcete mit co nejrychlejsi web. Ale skrze tu jednoduchost zase dostanete funkcnejsi web - mensi slozitost, mene chyb. A kdyz se tak nad tim zamyslim, tak je to vcelku i fail, ze alespon pro vyvoj nemuzu s NPM a tim setupem pouzivat netranspilovanou verzi v browseru. To mi neprijde v poradku.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: SB 28. 05. 2021, 10:15:52
BTW, nasel jsem tohle, ale pamatuju si, ze existuje lepsi a delsi verze.
https://medium.com/@boopathi/it-s-the-future-7a4207e028c2

Jo, toto je vysoce trefná záležitost - neznám jiný obor IT (i ne-IT?), ve kterém by byl takový bordel a tolik rovnáků na ohýbáky, jako výroba webů. Pravděpodobně je to dáno typem lidí, kteří se kolem toho motají. Výsledky se dostavily.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: registrovany123 28. 05. 2021, 10:27:47
Btw, citace z Vue oficialniho Getting Started:

https://vuejs.org/v2/guide/installation.html

Citace
Vue provides an official CLI for quickly scaffolding ambitious Single Page Applications. It provides batteries-included build setups for a modern frontend workflow. It takes only a few minutes to get up and running with hot-reload, lint-on-save, and production-ready builds. See the Vue CLI docs for more details.

The CLI assumes prior knowledge of Node.js and the associated build tools. If you are new to Vue or front-end build tools, we strongly suggest going through the guide without any build tools before using the CLI.


A jeste jedna:
Citace
NPM is the recommended installation method when building large scale applications with Vue

Jak prihodne. Mam framework, kde NPM doporucuji az pro large-scale apps, coz se se me netyka, a vubec nedoporucuji jit skrz tutorial s Vue CLI ktery udela komplet setup s webpackem atp.

Takze muj zpusobimportovani scriptuje ve Vue zcela validni zpusob prace.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: A.P.Hacker 28. 05. 2021, 10:28:15
BTW, nasel jsem tohle, ale pamatuju si, ze existuje lepsi a delsi verze.
https://medium.com/@boopathi/it-s-the-future-7a4207e028c2

Jo, toto je vysoce trefná záležitost - neznám jiný obor IT (i ne-IT?), ve kterém by byl takový bordel a tolik rovnáků na ohýbáky, jako výroba webů. Pravděpodobně je to dáno typem lidí, kteří se kolem toho motají. Výsledky se dostavily.

Podle me to bylo dano rychlym vyvojem prohlizecu pred par lety. Dnes se ten obor uz ustalil.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Filip Jirsák 28. 05. 2021, 10:53:53
Nekde jsem cetl ze Web Assembly se nejak neuchytilo jak se myslelo. A v cem ti to pomuze?
Web Assembly je běh na dlouhou trať, zatím na něm není, co by se uchytilo. Pro vývoj běžných webů to ještě dlouho nepomůže v ničem – to možná až a pár let, až bude možné použít jiné jazyky jako náhradu JavaScriptu.

Ad ta transpilace. A opravdu je to takove terno?
Nevím, v čem by to mělo být terno. Já to vnímám spíš jako dočasný workaround, dokud se pořádně nerozšíří ES moduly a buildovací nástroje neakceptují, že už tu nějaký pátek máme HTTP/2.


Napr se vam i rozbije moznost debugovat v browseru a cist chyby v temrinalu, protoze vsechny zdrojaky jsou rozsypany caj.
Nerozbije, při transpilaci se vytváří mapa mezi transpilovaným a zdrojovým kódem, prohlížeče s ní umí pracovat.

alespon pro vyvoj nemuzu s NPM a tim setupem pouzivat netranspilovanou verzi v browseru
Můžete. Např. Snowpack takhle funguje.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: A.P.Hacker 28. 05. 2021, 11:47:55
Jde o to, ze Javacript neni zase tak spatny jazyk. Hodne lidi na neho nadava, ale jako skriptovaci jazyk, kdyz to porovnam s Pythonem, to neni zle. Mozna v mnohem bych rekl ze je to lepsi nez Python, kdyz by mi slo jenom o jazyk, uz treba proto, ze to pouziva JSON jako reprezentaci objektu, jede to primo v Browseru, a ma to normalni Streamy a lambdy, narozdil od Pythnovskych lambd a list comprehensions - to je takove krkolomne.

anonymni funkce jsou asi jedina vec, ktera pythonu oproti js chybi. JS toho chybi vic, treba pretezovani operatoru, coz u webu moc nevadi, ale napriklad u AI knihoven to vadi.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: pruzkumbojem 28. 05. 2021, 12:07:09
 to je smutny, ze nikdo nepochopil ironii ohledne Web Assembly.

Je to presne ukazka stupidniho napadu, snaziciho se protlacit do webu vlastni zajmy (i..e neodiltrovatelnou reklamu) bez ohledu na to, ze je jen otazkou casu, kdy se to zmeni v bezpecnostni nocni muru a vsichni zacnou delat U turn.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: PanVP 28. 05. 2021, 12:27:12
to je smutny, ze nikdo nepochopil ironii ohledne Web Assembly.

Mně se to nezdálo, ale mlčel jsem, protože si říkám "hmmmm asi jsem blbej no"  :P ;D
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Filip Jirsák 28. 05. 2021, 13:49:29
Je to presne ukazka stupidniho napadu, snaziciho se protlacit do webu vlastni zajmy (i..e neodiltrovatelnou reklamu) bez ohledu na to, ze je jen otazkou casu, kdy se to zmeni v bezpecnostni nocni muru a vsichni zacnou delat U turn.
Tohle je také ironie, nebo opravdu vůbec netušíte, co WebAssembly je?
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: pruzkumbojem 28. 05. 2021, 14:42:44
https://youtu.be/FEkhtyeamYE?t=84

se nehodlam poustet do diskuse s expertem.
ale napriklad si  jeste pamatuju so na java applety v prohlizecich.

Je to presne ukazka stupidniho napadu, snaziciho se protlacit do webu vlastni zajmy (i..e neodiltrovatelnou reklamu) bez ohledu na to, ze je jen otazkou casu, kdy se to zmeni v bezpecnostni nocni muru a vsichni zacnou delat U turn.
Tohle je také ironie, nebo opravdu vůbec netušíte, co WebAssembly je?
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: L.. 28. 05. 2021, 16:50:34
(O templates) Robíš si srandu? To je práve a hlavne na Svelte tá najlepšia vec...

Ne, to myslím zcela vážně.

Ja práve nechápem ako môže niekto mať rád JSX, čo je proste chaos.

Děláš si srandu? Vždyť je to přesně totéž, jako HTML, co používáš v templatech. Tam ti to chaos nepřijde? Koneckonců, nic tě nenutí JSX používat, klidně můžeš dělat v Reactu i bez něj.

A nie ten hnusný boilerplate s "setState()" a "render()" kde returnuješ HTML string, a neviem čo. O tom že je v bežnom React kóde toľko krát "this" čo ako nikdy nevieš čo "this" znamená kým neprečítaš väčší kus kódu tak... ako nechápem jak to môžeš mať rád.

Aha, ty jsi viděl React naposledy tak před pěti lety. No, to mnohé vysvětluje :D :D :D
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Mlocik97 28. 05. 2021, 17:11:29
Ja práve nechápem ako môže niekto mať rád JSX, čo je proste chaos.

Děláš si srandu? Vždyť je to přesně totéž, jako HTML, co používáš v templatech. Tam ti to chaos nepřijde? Koneckonců, nic tě nenutí JSX používat, klidně můžeš dělat v Reactu i bez něj.


Nie, nerobím, a JSX není ani zdaleka totéž jako HTML, a bez použitia JSX sa áno dá v Reactu robiť, ešte horšie.

A nie ten hnusný boilerplate s "setState()" a "render()" kde returnuješ HTML string, a neviem čo. O tom že je v bežnom React kóde toľko krát "this" čo ako nikdy nevieš čo "this" znamená kým neprečítaš väčší kus kódu tak... ako nechápem jak to môžeš mať rád.

Aha, ty jsi viděl React naposledy tak před pěti lety. No, to mnohé vysvětluje :D :D :D

Som nevedel že si Jolanda a vidíš moju minulosť, prítomnosť aj budúcnosť... a ne, fakt to 5 let nebolo, odpočítaj aspoň 4 z toho čísla.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Mlocik97 28. 05. 2021, 17:48:52
Ja práve nechápem ako môže niekto mať rád JSX, čo je proste chaos.

Děláš si srandu? Vždyť je to přesně totéž, jako HTML, co používáš v templatech. Tam ti to chaos nepřijde? Koneckonců, nic tě nenutí JSX používat, klidně můžeš dělat v Reactu i bez něj.


počkať počkať, nenadával si na HTML v templatoch, ale teraz vlastne hovoríš že JSX je totéž, ale zároveň obhajuješ React a JSX? Nejak si protirečíš.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Filip Jirsák 28. 05. 2021, 19:04:17
se nehodlam poustet do diskuse s expertem.
Ono by bylo lepší vůbec se nepouštět do diskuse o věcech, o kterých nic nevíte.

ale napriklad si  jeste pamatuju so na java applety v prohlizecich.
Já si je pamatuju také. WebAssembly je něco úplně jiného.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: L.. 29. 05. 2021, 07:55:58
Nie, nerobím, a JSX není ani zdaleka totéž jako HTML, a bez použitia JSX sa áno dá v Reactu robiť, ešte horšie.

Pořád jsi neřekl, v čem je podle tebe ten zmatek. Vizuálně je to velmi podobné. Ano, i JSX se dá napsat prasácky (většinou je problém ve vytváření příliš velkých komponent), ale to není problém JSX, nýbrž programátora.

Som nevedel že si Jolanda a vidíš moju minulosť, prítomnosť aj budúcnosť... a ne, fakt to 5 let nebolo, odpočítaj aspoň 4 z toho čísla.

Nemusím být Jolanda abych poznal, že tvoje znalosti o Reactu jsou pět let za opicema. Takže píšeš bláboly, co už dávno nejsou pravda.

počkať počkať, nenadával si na HTML v templatoch, ale teraz vlastne hovoríš že JSX je totéž, ale zároveň obhajuješ React a JSX? Nejak si protirečíš.

Ne, na HTML v templatech jsem nenadával. Nauč se číst.
Název: Re:Vývoj webových aplikací pro nenáročné
Přispěvatel: Martin Poljak 29. 05. 2021, 10:55:17
Pořád jsi neřekl, v čem je podle tebe ten zmatek. Vizuálně je to velmi podobné. Ano, i JSX se dá napsat prasácky (většinou je problém ve vytváření příliš velkých komponent), ale to není problém JSX, nýbrž programátora.

Sice nevím, o čem jste se bavili ani nevidím smysl v podobném flamu, ale problém JSX není ani tak ve velkých komponentách, to je další oblíbený poměrně povrchní omyl, ale v tom, že ho spousta (neřku-li většina) lidí používá jako šablonovací systém, kterým ale není a nikdy nebyl. Jakmile o něm vývojář začne uvažovat prostě jako o syntactic-sugar pro tvorbu DOM elementů a jejich struktur napříč kódem, je pak o něco snesitelnější a hlavně najednou začne jakž takž dávat smysl.