Angular a Node.js - 250MB na disku v základu

Tazatel

Angular a Node.js - 250MB na disku v základu
« kdy: 15. 07. 2018, 22:39:33 »
Začal jsem tak, že jsem si udělal jednoduchou single page HTML stránku. Do té jsem si dal pěkně graf do kterého jsem si načítal sata z RESTu přes JQuery. Všechno šlo dobře až do chvíle, kdy jsem potřeboval vykreslit tabulku na základě dotazu z RESTu.

Nechtěl jsem v javascriptu hardkodovat HTML, tak jsem hledal nějaký způsob podobný tomu, co je v AngularJS, tzn. dám si do HTML stránky templatovou tabulku a nějaký malý framework mi umožní tam dávat foreach atp.

Nenašel jsem nic kloudného, co by bylo tak pěkné jako to má Angular. Tak jsem si řekl, že použiju rovnou Angular a zkusím teda ten nový.........................................................

Šel jsem podle tutorialu, a stáhlo se mi na disk javascriptových knihoven za 250MB. Když se ta aplikace startuje, trvá to několik vteřin, šíleně se tam něco buildí atp.

 :-[ :-X :-\ :'( ??? ::)

Já fakt nevím co mám dělat. Chci si udělat jednoduchou webku a vygenerovat si kloudným způsobem do HTML templatu data z JSON. Mít na stránce jenom import na JQuery a možná ještě nějakou drobnost k tomu. Udělat to ideálně vše v jediné HTML stránce. Nechápu co je to Node.js zač, ale ještě před 2 lety když jsem si zkoušel Angular jsem rozhodně nepotřeboval 250MB knihovnu, stačilo mi pár importů.

Co mám dělat?


MarSik

Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #1 kdy: 15. 07. 2018, 22:46:13 »
Odpovědi jsou dvě:

1) "jednoduchá" data a grafy - https://c3js.org/

2) množství stažených dat u moderních JS aplikací - minifikovaná verze aplikace bude celkem malá, ale zdrojová data u vývojáře můžou klidně mít 1 GB i více (mám tu jednu aplikaci co má cca 3 GB ve zdrojových kódech a cca 100 KB jako výsledný minifikovaný balík).

cppman

Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #2 kdy: 16. 07. 2018, 00:38:50 »
Tohle je smutná realita dnešního webu. Jednoduché weby/aplikace se současnými technologiemi prakticky dělat nelze.

Webaři chtěli dělat věci jednoduše, ohrnovali nos nad nástroji, jako je C++, Java, SOAP, XML, XSLT, SQL… Tak se rozhodli, že nebudou opakovat chyby předešlé generace a že si to napíší znova po svém – jednodušší, elegantnější.

A co jim z toho nakonec vyšlo?

NAPROSTO ZRŮDNÝ BLOATWARE – jako ten, na který jsi právě narazil.

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #3 kdy: 16. 07. 2018, 05:17:23 »
Tohle je smutná realita dnešního webu. Jednoduché weby/aplikace se současnými technologiemi prakticky dělat nelze.

Webaři chtěli dělat věci jednoduše, ohrnovali nos nad nástroji, jako je C++, Java, SOAP, XML, XSLT, SQL… Tak se rozhodli, že nebudou opakovat chyby předešlé generace a že si to napíší znova po svém – jednodušší, elegantnější.

A co jim z toho nakonec vyšlo?

NAPROSTO ZRŮDNÝ BLOATWARE – jako ten, na který jsi právě narazil.

angular byl vždy bloatware inspirovaný newebovými frameworky. Tazatel (javaman?) navíc plete dohoromady velikost nástrojů a výsledné aplikace. Dobu buildění a startu.

pepa

Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #4 kdy: 16. 07. 2018, 06:38:14 »
No kdyz je ti zatesko stvorit tabulku v jquery tak nenadelas nic, radeji si promrhal spoustu casu stahovanim neceho co ani nechces misto toho abys ho venoval napsani deseti radkum kde v jquery stvoris tabulku i s obsahem z dat.
Ja jsem proto aby se pouzivali knihovny, ale nahrazovat praci na 2minuty puldenim hledanim knihovny a pak jeste psanim na foru dost spatny pristup.


harrison314

Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #5 kdy: 16. 07. 2018, 07:31:00 »
Taketo jednorazovky (Ajax + render do sablony tvorenej spatnymi apostrofmi) riesim vanila javascriptom - vlastne vanila Typescriptom,  narichlo napisanych 200 riakdov kodu. Ucel to splni.

Ono ten NPM svet je dost na zaplakanie, fakt to stahuje pol internetu aj ked chce clovek len minifikovat CSS-ko :(

Tazatel

Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #6 kdy: 16. 07. 2018, 10:29:28 »
Tam je u webovek strašný poser s tím, že tam neběží web stránka nějakým způsobem ve svém vlastním kontejneru, ve kterém by se mohly vytvořit javascriptové služby s obecnou platností. Protože to neexistuje, musí se znásilnit index.html a udělat ten root aplikace v něm. Jenže tím se přeruší standardní usecase pro HTML stránky, mezi kterými se pěkně proklikává a naviguje pomocí Zpět a Vpřed, protože překlikávání mezi HTML se nahradí javascriptovým nahrazováním obsahu na single page stránce. už tady ten fakt dává vzniku frameworkům, které nevyhnutelně mordujou standardní HTML.

Přitom by to bylo řešitelně přes Cookies, do kterých by si stránka ukládala datové struktury s globální platností napříč překlikaváním po HTML stránkách. To by pak způsobilo, že by mohly existovat service s globální platností. Proč se však dali cestou single page narovnáváků na ohýbáky, to nevím.

Jak já to vidím - a já vím, že do toho moc nevidím - tak by byl i na frontendu velice dobře uplatnitelný stejně jednoduchý framework, jako existuje třeba u Spring MVC. Mám view napsaný v JSP a do něj propaguju model. Všehovšudy k tomu potřebuju ve Springu vytvořit jen 3 soubory:

1. JSP view
2. @Controller s jedinou metodou
3. OOP model pro ten View

Je to velice přímočaré, dodržuje to standardní zaběhnutý systém HTML stránek, dají se tam používat standardní JS knihovny jako je Bootstrap atp., bez úprav. Místo toho to, co jde vidět v Angularu, připomíná spíše období Springu nekdy před rokem 2009, než byl Componentscan a Autowire. Dokonce bych řekl, že je to ještě horší a spiše to ukecaností připomíná nějakou starou Javu EE. A ještě se do toho přimíchal Node.js.

Zajímavě to vyřešil React.js, jenže neřekl bych, že líp. Ten zase totiž úplně zpřetrhal návaznost na klasické HTML a vytvořil tím totální atyp, ve kterém nejdou používat klasické JS komponenty aniž by měly svou (mnohdy nezdařenou) portaci do Reactu.

Takže zatímco v C#i v Javě se krásně přešlo na Anotace a všechno se stalo víc lightweight, tak frontend je těmi frameworky tak o 10 a více let pozadu.

L.

Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #7 kdy: 16. 07. 2018, 10:53:49 »
a já vím, že do toho moc nevidím

To bylo z toho tvého příspěvku to zdaleka nejchytřejší, tak se toho drž.

Jinak celkově je jasné, že je to jen další trolovací pokus o flame vlákno.

Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #8 kdy: 16. 07. 2018, 11:19:13 »
Nestačí použít bych nějaký existující javascriptový templatovací engine? Je jich dost.

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #9 kdy: 16. 07. 2018, 13:24:30 »
a já vím, že do toho moc nevidím

To bylo z toho tvého příspěvku to zdaleka nejchytřejší, tak se toho drž.

Jinak celkově je jasné, že je to jen další trolovací pokus o flame vlákno.

Tazatel (javaman) zná slovo Javascript jen z pracovních inzerátů a diskuzí s jemu podobnými.

.

Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #10 kdy: 16. 07. 2018, 13:44:03 »
Tohle je smutná realita dnešního webu. Jednoduché weby/aplikace se současnými technologiemi prakticky dělat nelze.

Webaři chtěli dělat věci jednoduše, ohrnovali nos nad nástroji, jako je C++, Java, SOAP, XML, XSLT, SQL… Tak se rozhodli, že nebudou opakovat chyby předešlé generace a že si to napíší znova po svém – jednodušší, elegantnější.

A co jim z toho nakonec vyšlo?

NAPROSTO ZRŮDNÝ BLOATWARE – jako ten, na který jsi právě narazil.
Ševče, drž se svého řemesla a nevrtej se do věcí, kterým vůbec nerozumíš.  Tazatel tomu taky nerozumí, ale má dost odvahy si sám vybrat řešení. Pak se diví, že si vybral špatně a další matlák do toho napíše odstavec nesmyslů a že celý web je nahovno a Java rulezz. Co dodat.

Pokud chcete něco malého na SPA tak třeba:
hyperapp  1kB
preact      3kB

Ale jak už bylo řečeno, vám by stačil jen templatovací engine.

Tomáš Roll

Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #11 kdy: 16. 07. 2018, 14:38:33 »
Vítám v hororovém světě npm, kde nic k ničemu nepasuje co včera platilo a fungovalo, dnes neplatí a nefunguje a vše je jinak.

anonym

Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #12 kdy: 16. 07. 2018, 19:23:38 »
Tohle je smutná realita dnešního webu. Jednoduché weby/aplikace se současnými technologiemi prakticky dělat nelze.

Webaři chtěli dělat věci jednoduše, ohrnovali nos nad nástroji, jako je C++, Java, SOAP, XML, XSLT, SQL… Tak se rozhodli, že nebudou opakovat chyby předešlé generace a že si to napíší znova po svém – jednodušší, elegantnější.

A co jim z toho nakonec vyšlo?

NAPROSTO ZRŮDNÝ BLOATWARE – jako ten, na který jsi právě narazil.
Ševče, drž se svého řemesla a nevrtej se do věcí, kterým vůbec nerozumíš.  Tazatel tomu taky nerozumí, ale má dost odvahy si sám vybrat řešení. Pak se diví, že si vybral špatně a další matlák do toho napíše odstavec nesmyslů a že celý web je nahovno a Java rulezz. Co dodat.

Pokud chcete něco malého na SPA tak třeba:
hyperapp  1kB
preact      3kB

Ale jak už bylo řečeno, vám by stačil jen templatovací engine.

Obojí stejně jede nad node.js, naco bych to používal? To už to rovnou můžu udělat v Reactu.

Starej AngularJS byl dobrej. Nechápu proč ho zazdili.

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #13 kdy: 16. 07. 2018, 19:42:14 »
Obojí stejně jede nad node.js, naco bych to používal? To už to rovnou můžu udělat v Reactu.

Starej AngularJS byl dobrej. Nechápu proč ho zazdili.

transpiler jede v node.js

pepa

Re:Angular a Node.js - 250MB na disku v základu
« Odpověď #14 kdy: 17. 07. 2018, 06:25:06 »
Tak docela čumím, tazatel píše, že pro stažení dat použil jQuery a pak k tomu přihazuje Angular a diví se počtu dat na disku, já se zas divím tomu, že někdo takhle motá technologie, pokud použiji Angular už nepotřebuji pro stahovnání jQuery. Todle promíchávání mě u spousty lidí doslova sere. Fakt lidi zamyslete se co děláte a proč, todle je jako stáhnout si data v linuxu pak přebootovat do win pustit excel a podívat se na ně.