Ahoj,

v podstatě to chceš dělat "postaru", třeba si to projet a pospojovat gulpem
nebo přes npm scripts. Jestli tam budeš mít Babel, importy, requiry, ... to
je na tobě - dnes už prohlížeče celkem dost věcí umí samy, takže záleží,
jestli chceš komplikovanější stack a nemuset to řešit a psát moderní JS,
nebo se chceš dívat co je podporováno kde, mít jednodušší stack, a psát
vanilla JS.

Moderní JS ala React nebo Vue (a potom Gatsby, Next.js, Nuxt.js, ...) dnes
znamená udělat na backendu jen API a všechen zbytek renderovat na
klientovi. Pokud chceš psát HTML šablony v Djangu, tak zůstáváš u jQuery,
případně bys mohl možná použít Vue, které má i režim "kořeníme na backendu
renderované HTML", ale osobní zkušenost nemám.

Já teď ve Flasku slepuju JS gulpem a připojuju jako jeden soubor, na CDN
kašlu. Na frameworky zatím taky, na projektu kde to řeším (
https://junior.guru ) potřebuji zatím tak málo JS, že si vystačím i bez
jQuery a bez ES6+. Mrkni sem https://htmldom.dev/ pokud neděláš nic moc
složitého, možná se dnes už objedeš úplně bez frameworku. Do budoucna až
tam budu mít složitější věci, pokukuju po tom Vue.

Nebo je ještě jedna cesta, udělat to všechno na backendu a pak použít něco
jako "turbolinks" případně https://stimulusjs.org/

A co se týče "this", tak v ES6+ máš šipkové funkce (param) => {
alert(param) }, což je syntaxe pro přesně to, co jsi napsal s tím bind.

Honza

On Fri, Apr 17, 2020 at 10:13 AM MirekZv <[email protected]> wrote:

> Chci začít nějaký nový vlastní hobby projekt, backend Django, frontend
> javascript - jen minimalisticky.
> TypeScript - zásadně ne (nespamujte prosím na toto téma).
> React, Vue - něco bych chtěl do budoucna, snad Vue, ale teď nedokážu najít
> čas se to naučit.
> Takže asi jen jQuery a otázka k modernizaci je:
> 1) spouštět lokální nebo CDN/cloudovou verzi js knihoven?
> 2) je vhodné jít přes Babel a pracovat v nějaké moderní verzi
> js/ecmascriptu? Ve které? - což mi možná vyřeší i některou z následujících
> otázek?
> 3) jak nejlíp pracovat se šíleným javascriptovským this? Tady asi odpověď
> znám, jestli mě nenasměrujete ještě líp: (function() {..}).bind(this)
> 4) jak je dnes moderní a perspektivní js do html připojit? Jednotlivé js?
> Nebo bundlovat do velkého souboru a čím? Jak pracovat s externími jmény
> proměnných místo prastaré prasárny (jména z dříve spuštěných skriptů
> přístupná jako window.xxx). Používá se import? Nebo require?
> ... a jedna specificky Djangovská 5) jde se vždy přes <script scr=".."> nebo
> se používají ty class Media: js=".." (a kdy?)
>
> --
> --
> E-mailová skupina [email protected]
> Správa: http://groups.google.cz/group/django-cs
> ---
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
> „django-cs“ ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny,
> zašlete e-mail na adresu [email protected].
> Chcete-li tuto diskusi zobrazit na webu, navštivte
> https://groups.google.com/d/msgid/django-cs/eb2bb308-7b67-41a1-82d3-32f90f626280%40googlegroups.com
> <https://groups.google.com/d/msgid/django-cs/eb2bb308-7b67-41a1-82d3-32f90f626280%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
E-mailová skupina [email protected]
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete 
e-mail na adresu [email protected].
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CAPAmg-e%3D5hYFynz7BvdhbQoR0ct3jkWsxP78nyRyed8FsTXHaA%40mail.gmail.com.

Reply via email to