Kdysi jsem delal nejaky demo projekt s https://intercoolerjs.org/ a byla to docela pohoda. Intercooler, se zda, mezitim zmutoval do https://htmx.org/
Dne úterý 23. února 2021 v 12:03:19 UTC+1 uživatel Honza Javorek napsal: > 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 <+420%20608%20978%20164> >> >> >> 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, >> > <stanisl...@gmail.com <mailto:stanisl...@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.v...@gmail.com <mailto:jirka.v...@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 >> >> <stanisl...@gmail.com <mailto:stanisl...@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....@gmail.com <mailto:mar....@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 >> >>> <stanisl...@gmail.com >> >>> <mailto:stanisl...@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 djan...@googlegroups.com >> >>> <mailto:djan...@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+...@googlegroups.com >> >>> <mailto:django-cs+...@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 djan...@googlegroups.com >> >>> <mailto:djan...@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+...@googlegroups.com >> >>> <mailto:django-cs+...@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 djan...@googlegroups.com >> >> <mailto:djan...@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+...@googlegroups.com >> >> <mailto:django-cs+...@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 djan...@googlegroups.com >> >> <mailto:djan...@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+...@googlegroups.com >> >> <mailto:django-cs+...@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 djan...@googlegroups.com >> > <mailto:djan...@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+...@googlegroups.com >> > <mailto:django-cs+...@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 djan...@googlegroups.com >> > <mailto:djan...@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+...@googlegroups.com >> > <mailto:django-cs+...@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 djan...@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+...@googlegroups.com >> > <mailto:django-cs+...@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 djan...@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+...@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/84afbade-b76a-406e-874d-3b6399a3c7a2n%40googlegroups.com.