Podle mě ten hotwire muže fungovat dobře, pokud mas tým na jedne lodi a
chcete to tak dělat, nebo si to děláš sám pro sebe. A pokud nechceš silně
oddělovat ty role do sila “frontendist” a “backendisti”, ale mas lidi,
kteří rozumí víc celé věci. Ale přímou zkušenost nemám.

Jinak je dnes trh zblaznen do SPA, takže jakmile chceš frontend zadat atd.,
budou na tebe s timhle koukat jak na blázna, protože přece standard je
React nebo Vue a 3000 npm balíčku k tomu a bez toho “si spad z višně ne,
dědku”? Nebo aspoň tak mi to přijde :D

S tím API, podle mě REST, tak jak ho provozovala většina, bylo “my
backendisti ti tady dáváme co ti dáváme a ty frontendisto se s tím smiř” (v
Apiary jsme se snažili, aby probíhal dialog, ale asi to bylo nemožné to po
lidech chtít). Takže frontendisti si na truc přišli s GraphQL a řekli “my
frontendisti chceme odpovědi tady na tyhle queries a ty backendisto se s
tím smiř”. Tedy ten trend je teď takový, že na backendu vystavis GraphQL a
frontendista si na tom už pak zvládne postavit co potřebuje, nemusíš se
trápit s REST API na míru. Jestli je GraphQL vhodné i jako public API “pro
stroje” (tedy ono je to VŽDY pro lidi, na to je dobré myslet, ale v tomto
případě jsou to asi backenďáci skrze nějakou integraci), o tom jsem se
zatím úplně nerozhodl. Podle mě to rozhoduje především tooling - většina
toho je v JS a jakmile chceš takové API konzumovat v Pythonu, už to hodně
skripalo (dnes lepší, jsem nedávno zjistil, vyvíjí se to) a nechci vědět,
co by na to řekli Javisti v bance (ale třeba se mýlím a Java support pro
konzumaci GraphQL - ne tvorbu backendu, pozor - je v pohodě). Takže někdy
lidi udělají GraphQL pro frontenďáky a pak vedle toho ještě nutné minimum
REST API pro externí integraci.

Tož tolik mých 5 haléřů.

HJ


On Tue 23. 2. 2021 at 11:22, Vladimír Macek <ma...@sandbox.cz> wrote:

> Hotwire vypadá pro nás staromilce zajímavě. Ale nezruší se tím Martinem
> popisované výhody? Hranice působnosti rolí v týmu, dané a dokumentované
> rozhraní světů, rozdělení BE do komponent...
>
> Když by tu byl datově orientovaný projekt, u kterýho se člověk zaměřuje na
> komplikovanější backend, frontend by rád někomu zadal a zároveň by chtěl,
> aby k datům backendu mohly i stroje, služby...
>
> Jsem v té situaci a zajímalo by mě, zda skutečně máte někdo hlubší
> zkušenost s tím, že vyrábíte API pro stroje i FE zároveň. Chápu, že stroj
> i
> FE budou mít nějaké extra buřtíky, které ten druhý nevyužije. Zůstává ale
> BE API jednotné?
>
> Pozitivní náznaky v diskusi jsou, ale vyzkoušel někdo skutečně tento
> princip hlouběji? Pokud ano, co jste na to použili a jste s tou volbou
> spokojení? (Honzovu reakci jsem zachytil a chápu ji jako pozitivní hlas.)
>
> Jak vypadá třeba po 6 nebo 12 život s tím, že FEčkaři mají nějaké
> požadavky, strojové API si vyžaduje možná něco trošku jiného...?
>
> Netvrdím, že nemám představu o cestě a že nemám žádné API za sebou. :-)
> Ale
> stejně jako Standa nechci, aby mi unikla zajímavá volba na základě
> zkušeností.
>
> Díky,
>
> Vláďa Macek | +420 608 978 164
>
>
> On 23. 02. 21 10:08, Honza Javorek wrote:
> > 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
> > <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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
> >>>             <mailto: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
> >>>                 <mailto: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
> >>>                 <mailto: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
> >>>             <mailto: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
> >>>             <mailto: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
> >>             <mailto: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
> >>             <mailto: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
> >>         <mailto: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
> >>         <mailto: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
> >         <mailto: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
> >         <mailto: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
> >     <mailto: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
> >     <mailto: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
> > <mailto:django-cs+unsubscr...@googlegroups.com>.
> > Chcete-li tuto diskusi zobrazit na webu, navštivte
> >
> https://groups.google.com/d/msgid/django-cs/CAPAmg-f%2Bv%3DYWsziS%2ByxsFs2zXc4LrkeVL0j_AKWr3AnhF7A1gQ%40mail.gmail.com
> > <
> https://groups.google.com/d/msgid/django-cs/CAPAmg-f%2Bv%3DYWsziS%2ByxsFs2zXc4LrkeVL0j_AKWr3AnhF7A1gQ%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/79cbfeb3-c639-5286-536d-9d04d4418261%40sandbox.cz
> .
>

-- 
-- 
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-ecE%3D0T7xFeRKrf7jxWuT%2Bqtva7xkeFfgGu1qUTYtwjVw%40mail.gmail.com.

Reply via email to