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?