Díky za přehledné shrnutí. Pere se to ve mě, varianta B je asi ideál, a
díky tomu, že Vue uvažuji jen jako FE aplikací, nevýhody se SEO mi nevadí.

Co mi žene krev do očí je to API. Ano, REST API v Django je sranda, zvláště
pak v tutoriálech. Ale reálně… svět je jinde. V contextu či def serve() si
udělám s daty cokoliv, hlavně pak snadno pořídím kontextové informace a
ještě v šabloně se dá případně leccos, když je člověk pohodlný. Ale co s
Vue, pro všechno psát API? Nebo vše neustále balit do JSON a na druhé
straně rozbalovat? Na velkých projektech s oddělením na BE a FE pohoda a
dokonce i výhoda, ale u malých projektů zcela mimo, protože s programováním
komunikace Django <-> Vue bych strávil více času než s aplikací samotnou.

Uvidím na té mé aplikaci, buď jsem něco významného přehlédl a lze si celou
integraci zjednodušit nebo prostě budu muset zůstat u Django + AJAX a Vue
řešit až po přechodu na zcela jiný BE.

SV


On 23 February 2021 at 8:31:43, Martin Kubát (mar.ku...@gmail.com) wrote:

Zdravím,
ano, volba b) je v poslední době běžná. Je tam mnoho a mnoho problémů, ale
také to má své výhody:

   - čistě FE (vue, angular, react,. ...) je špatně čitelný pro roboty
   (některé), je třeba řešit server-side-rendering (firebase, ...)
   - ano, je třeba objevovat kolo hlavně z pohledu routování url adres
   - většinou je třeba dva lidi/týmy - BE/FE.
   - nutnost udržování dokumentace API
   - FE frameworky mají životnost jepice - od začátku psaní tohoto mailu do
   konce bylo určitě vydáno několik main verzí reactu, angularu, npm a
   javascriptu...



   - znovupoužitelnost BE api je super v tom, že se může připojit jak web
   frontend, tak např. mobilní aplikace, nebo prostě nějaký konzument 3.
   strany.
   - člověk se na BE nemusí starat o html/css a řeší jen databázi,
   performance, rest/graphql ... (vyhovuje teda alespoň mě)
   - na tvorbu microservis je to velmi výhodný koncept.
   - ve větším týmu je krásně řešitelné rozdělení rolí (na fullstack
   nevěřím)
   - front je zpravidla rychlejší, tahá se méně dat. UI/UX je možné
   dotáhnout k dokonalosti. Na druhou stranu to žere mnoho více paměti v
   prohlížeči.


Asi bych mohl pokračovat, ale myslím, že základní body jsem napsal.

MK

po 22. 2. 2021 v 21:55 odesílatel Stanislav Vasko <stanislav.va...@gmail.com>
napsal:

> Zdravím,
>
> stále více mi chybí JS ve frontendu. Prošel jsem si co dneska frčí a
> poměrně jasně jsem si našel Vue jako náplast na moji bolístku. Líbí se mi
> ta reaktivita a naproti ReactJS má víc té “magie” out-of-the-box. Prostě,
> nějak k němu inklinuji, tak snad to není špatná volba.
>
> Takže, pustil jsem se víc do studia, prošel tutoriály, pročetl nějakou tu
> knihu a koukl výuková videa. V podstatě jsem našel 2 možnosti integrace: 1.
> vložit odkaz na Vue.js pro sem-tam využití JS funkce nebo 2. mít ve Vue
> celý frontend, který je na Django zcela nezávislý. Ta druhá cesta je asi
> správná, ale trochu mi vadí/děsí, že se vlastně učím celý další framework a
> naopak všechno “to krásné” z Django je významně zredukováno na něco málo
> víc než prosté ORM a REST API. Navíc deploy znamená neustále řešit
> vystavení 2 nezávislých aplikací, které spolu úzce souvisí.
>
> Chci se jen ujistit, že ORM s REST API + Vue je běžná cesta a opravdu se
> to takto používá. Totiž druhá volba mi připadá nepříjemná ve dvou věcech:
> a) znovuobjevuji kolo, jen místo v Django budu věci dělat ve Vue a
> b) namísto psaní Django aplikace využiji ORM a pak donekonečna na vše
> vytvářím REST API konektory a ve Vue je napojuji.
>
> Neznám JS backendy, ale možná, co já otrocky vytvářím v Django a ručně
> napojuji na Vue (a při změně musím ošetřit/opravit na dvou místech
> nezávisle), bych v JS backendu vyřešil elegantněji? Chci se prostě ujistit,
> že takto to dělají ostatní a neuniká mi nějaké elegantnější řešení.
>
> Díky za tip na lepší řešení či ujištění, že takto je to opravdu správně.
> Uvítám případně i odkazy na tutoriály či knihy, které Vám s Vue pomohly
> nebo je můžete doporučit. Bez JS to prostě u mě dál již nepůjde a tak když
> už, tak pořádně.
>
> Hezký večer, Standa
>
> --
> --
> E-mailová skupina django-cs@googlegroups.com
> 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 django-cs+unsubscr...@googlegroups.com.
> Chcete-li tuto diskusi zobrazit na webu, navštivte
> https://groups.google.com/d/msgid/django-cs/CAMD1ck_Bg88W-baXGROKms2LDKyrJOM6E1Kf6dOmcSiQPF7CMQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/django-cs/CAMD1ck_Bg88W-baXGROKms2LDKyrJOM6E1Kf6dOmcSiQPF7CMQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
-- 
-- 
E-mailová skupina django-cs@googlegroups.com
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 django-cs+unsubscr...@googlegroups.com.
Chcete-li tuto diskusi zobrazit na webu, navštivte
https://groups.google.com/d/msgid/django-cs/CA%2BL8erbVf-bcvHT6m3fuFN073bL%2Bd_yFLFGCEXHxJYxaWGSAGg%40mail.gmail.com
<https://groups.google.com/d/msgid/django-cs/CA%2BL8erbVf-bcvHT6m3fuFN073bL%2Bd_yFLFGCEXHxJYxaWGSAGg%40mail.gmail.com?utm_medium=email&utm_source=footer>
.

-- 
-- 
E-mailová skupina django-cs@googlegroups.com
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 django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CAMD1ck98xeFwf74EQqTjXNG9gJ9zmZJMBZDazMsh85AmpjyWZw%40mail.gmail.com.

Reply via email to