Uvažoval nebo použil někdo https://hotwire.dev/, tedy staromilecký klasický přístup kdy z Djanga generuji HTML šablony, v nich instruuji JavaScript a frontend běží nad tím? Existuje to dlouho a Basecamp (37signals) to používá odjakživa, teď tomu dali akorát webovku a název, protože je štval nedostatek protiváhy k termínům jako SPA a Jamstack.
Honza On Tue 23. 2. 2021 at 10:02, Jan Walter <jnw...@gmail.com> wrote: > My píšeme FE nejčastěji v Angularu (TypeScript), používáme Django REST > Framework, pomocí drf-yasg vygenerujeme openapi schéma a z něj naším > (opensource) generátorem vygenerujeme celou komunikační vrstvu na FE, čili > tímhle netrávíme ani minutu času, v běžných scénářích je vše krásné a > otypované (jeden model). > > Určitě takovou věc lze najít/mít i pro react/vue. > > On Tue, 23 Feb 2021, 09:41 Stanislav Vasko, <stanislav.va...@gmail.com> > wrote: > >> Jasně, znám a používám. Běhá to skvěle a jak jsem psal: REST API je v >> Django sranda. Ale má-li mít API každý model, má-li API umět doposlat >> kontextové informace, pak nějaké přepínače, atd. začne se to nabalovat. >> Proto tam “remcám”, že sice to běhá a běhá to skvěle, ale všemu napsat API, >> vše ve Vue rozbalit a nandat do správný proměnný a pak teprve psát šablonu >> je proti Django response/request časově úplně jinde a u menších aplikací se >> mi zdá, že budu více pracovat na API než aplikaci. Snad to píši >> srozumitelně :) >> >> SV >> >> >> On 23 February 2021 at 9:37:15, Jirka Vejrazka (jirka.vejra...@gmail.com) >> wrote: >> >> Ja v tomhle nejsem odbornik, ale REST API jsem kdysi davno v dobe >> bronzove delal pomoci https://www.django-rest-framework.org/ - znas? >> >> Jirka >> >> On Tue, 23 Feb 2021 at 09:30, Stanislav Vasko <stanislav.va...@gmail.com> >> wrote: >> >>> 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 tuto diskusi zobrazit na webu, navštivte >>> https://groups.google.com/d/msgid/django-cs/CAMD1ck98xeFwf74EQqTjXNG9gJ9zmZJMBZDazMsh85AmpjyWZw%40mail.gmail.com >>> <https://groups.google.com/d/msgid/django-cs/CAMD1ck98xeFwf74EQqTjXNG9gJ9zmZJMBZDazMsh85AmpjyWZw%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/CAFhEBECoVPmVyYX8b%3D2QxO3Gw7_ee_-y6nu7OiCbW%2B9Pw-jz1A%40mail.gmail.com >> <https://groups.google.com/d/msgid/django-cs/CAFhEBECoVPmVyYX8b%3D2QxO3Gw7_ee_-y6nu7OiCbW%2B9Pw-jz1A%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/CAMD1ck-PqaSB6vmEmcVTA8WOvfeYgMFaY0r8BhQqEOGY6iRGyw%40mail.gmail.com >> <https://groups.google.com/d/msgid/django-cs/CAMD1ck-PqaSB6vmEmcVTA8WOvfeYgMFaY0r8BhQqEOGY6iRGyw%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/CAK-vJU%3DYbBULaHzREQ%2BBa-a1MLcUK%2BOsNYRP-K4gp8RA2fWEQQ%40mail.gmail.com > <https://groups.google.com/d/msgid/django-cs/CAK-vJU%3DYbBULaHzREQ%2BBa-a1MLcUK%2BOsNYRP-K4gp8RA2fWEQQ%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/CAPAmg-f%2Bv%3DYWsziS%2ByxsFs2zXc4LrkeVL0j_AKWr3AnhF7A1gQ%40mail.gmail.com.