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.