Vývoj webových aplikací pro nenáročné

Vývoj webových aplikací pro nenáročné
« kdy: 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?


Ink

  • *****
  • 654
    • Zobrazit profil
    • E-mail
Re:Vývoj webových aplikací pro nenáročné
« Odpověď #1 kdy: 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.

Re:Vývoj webových aplikací pro nenáročné
« Odpověď #2 kdy: 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. 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.

oss

  • ***
  • 229
    • Zobrazit profil
    • E-mail
Re:Vývoj webových aplikací pro nenáročné
« Odpověď #3 kdy: 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.

PanVP

Re:Vývoj webových aplikací pro nenáročné
« Odpověď #4 kdy: 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?


Ink

  • *****
  • 654
    • Zobrazit profil
    • E-mail
Re:Vývoj webových aplikací pro nenáročné
« Odpověď #5 kdy: 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.

Re:Vývoj webových aplikací pro nenáročné
« Odpověď #6 kdy: 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?

Re:Vývoj webových aplikací pro nenáročné
« Odpověď #7 kdy: 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 nebo esbuild. Je dost nástrojů, které na Webpacku závisí, ale to asi nebude směr, kam registrovany123 míří.

L..

  • ****
  • 302
    • Zobrazit profil
    • E-mail
Re:Vývoj webových aplikací pro nenáročné
« Odpověď #8 kdy: 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.

Pixe

Re:Vývoj webových aplikací pro nenáročné
« Odpověď #9 kdy: 25. 05. 2021, 15:54:54 »
Případně taky Vaadin

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

Re:Vývoj webových aplikací pro nenáročné
« Odpověď #10 kdy: 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 :-/

Gréta je nejlepší.

Re:Vývoj webových aplikací pro nenáročné
« Odpověď #11 kdy: 25. 05. 2021, 16:14:10 »
Gréta je nejlepší.

Re:Vývoj webových aplikací pro nenáročné
« Odpověď #12 kdy: 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.

Re:Vývoj webových aplikací pro nenáročné
« Odpověď #13 kdy: 25. 05. 2021, 16:25:30 »
Případně taky Vaadin

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

No tak to uz radeji to NPM...

Pixe

Re:Vývoj webových aplikací pro nenáročné
« Odpověď #14 kdy: 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, tak na ty jednoduché ptákoviny to poslouží
« Poslední změna: 25. 05. 2021, 16:53:56 od Pixe »