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 zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CAK-vJU%3DYbBULaHzREQ%2BBa-a1MLcUK%2BOsNYRP-K4gp8RA2fWEQQ%40mail.gmail.com.

Reply via email to