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,
> <
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
>> <
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:
>>> <mailto:
djan...@googlegroups.com>
>>> <mailto:
django-cs+...@googlegroups.com>.
>>> <
https://groups.google.com/d/msgid/django-cs/CAMD1ck_Bg88W-baXGROKms2LDKyrJOM6E1Kf6dOmcSiQPF7CMQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>>> <mailto:
djan...@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>.
>> <mailto:
djan...@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>.
>> <mailto:
djan...@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>.
> <mailto:
djan...@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>.
> <mailto:
djan...@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>.
> <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>.