Z deníku Vuejskaře

Tak se to prostě stalo, že jsem rovnýma nohama skočil do Vue.js. Do Reactu ne. Důvod je prostý: licenční podmínky, které má React, v sobě obsahují klauzuli o tom, že vám může Facebook licenci kdykoli odepřít, pokud byste mu konkurovali. Což se možná nestane, ale spousta klientů, respektive jejich právníků, na to slyší, takže React nedoporučí. Víc zde: http://react-etc.net/entry/your-license-to-use-react-js-can-be-revoked-if-you-compete-with-facebook

Vue není špatný. Dělám s ním tři týdny a říkal jsem si, že by bodlo nějaké zlepšení schopností. Tak jsme koupili knihu Majesty of Vuejs2. Říkal jsem si: Ha, jsou tam pokročilejší témata, to bude fajn, třeba se něco naučím… a nenaučil, helejte. Ta pokročilá témata pokrývala oblasti, které jsem si předtím už prošel sám. Občas jsem si říkal: Hele, proč to tady řeší takhle, když já to řešil jinak – a o kus dál poznámka: „Toto je jen ukázka, bylo by lepší to řešit v praxi pak jinak…“ a za tím popsané to moje řešení.

Webpack je opravdové dobro. Dělal jsem s ním už loni, a bylo to fajn. Fajn to ale není, když chcete zbundlovat nějaký moloch z éry před pěti lety, třeba CKEditor. Ten sice má novou verzi 5, která se nebrání, ale ta je v čerstvé betě, takže bych ji spíš jako nenasazoval než nasazoval.

Problém u Vue je nedostatek dobrých komponent. Někdy by ani nemusely být dobré, stačilo by, kdyby byly funkční. Za mnohé třeba komponenta s Bootstrapem, která spíš jako nefungovala než fungovala, vyhazovala spoustu chyb, a při pohledu na issue tracker si člověk říkal, že to lepší nebude. Nebo vuex-sync, který má synchronizovat router s vuexem. Podle návodu vložíte, a už se tam sypou chyby. Nakonec jsem si musel udělat vlastní verzi, zakomentovat kus kódu, oželet nějaké funkce, ktré nechci, a už to šlape.

Nakonec se ukázalo několik užitečných komponent a pluginů. Zaprvé: vuex. Zadruhé: vue-router. Zatřetí: vue-resource. Stavím to nad „sklady“, z nichž si komponenty berou data. Na getterech je navěšené zjišťování, jestli je sklad načtený, a pokud ne, tak AJAXem donačítá. Dtto při změně.

Asi půl hodiny jsem si lámal hlavu s parametrickým getterem, jako že třeba topic[12345]. Buď vrátit celé pole, nebo… Ale ono je to přitom tak jednoduché: Getter vrátí funkci, a já ho volám jako topic(12345).

Pokračování příště…

Líbil se vám článek? Podpořte autora na Patreonu
banner

Copyright © 2017. Powered by WordPress & Romangie Theme.

banner