{"componentChunkName":"component---src-templates-blog-post-js","path":"/blog/blog-jaka-platforme-wybrac","result":{"data":{"markdownRemark":{"html":"<p>Na dziś odpowiedź brzmi: <a href=\"https://www.gatsbyjs.org/\">Gatsby</a>.</p>\n<p>Próbowałem wcześniej z WordPressem, potem eksperymentowałem ze statycznym generatorem (<a href=\"https://hexo.io/\">Hexo</a>), potem wróciłem do WordPressa, by na końcu wylądować tutaj, czyli statycznym generatorem, jakim jest Gatsby.</p>\n<p>WordPress wydawał mi się dotychczas domyślnym rozwiązaniem dla strony typu blog. Ma on kilka plusów:</p>\n<ul>\n<li>znana platforma - wiele lat temu z niego korzystałem (kiedy byłem programistą PHP :P),</li>\n<li>bardzo dużo gotowych - darmowych lub płatnych - szablonów, co pozwala szybko osiągnąć atrakcyjny efekt wizualny,</li>\n<li>trylion wtyczek, a więc: \"jeśli masz jakiś problem, to na pewno został on rozwiązany\"</li>\n<li>rozbudowany CMS - mamy posty, grafikę, tagi, kategorie itp.</li>\n<li>na wielu hostingach można go zainstalować \"1 kliknięciem\"</li>\n</ul>\n<p>W zderzeniu z rzeczywistością Anno Domini 2019 okazało się, że są jednak minusy:</p>\n<ul>\n<li>instalacja, aktualizacja i konfiguracja WordPressa, MySQL to na dzisiejsze za dużo pracy; hostowanie z własną domeną na wordpress.com nie opłaca się finansowo</li>\n<li>tam jest jednak pod spodem PHP! ;)</li>\n</ul>\n<h3>Dlaczego statyczny generator?</h3>\n<p>Statyczny generator stron to narzędzie oparte np. o Node.js, dzięki któremu przetwarzamy jedną postać strony/bloga (np. pliki markdown) - w statyczną stronę, opartą tylko o HTML, JS i CSS. Na rynku jest całkiem sporo, można sobie przebierać, zależnie od silnika, możliwości, \"dojrzałości\" społeczności - polecam stronę <a href=\"https://www.staticgen.com/\">https://www.staticgen.com/</a>, z listą generatorów.</p>\n<p>Jakie możliwości daje statyczny generator?</p>\n<ul>\n<li>możliwość hostowania \"wszędzie\" - finalna strona to są same pliki HTML, CSS i JS, więc można nawet wrzucić ten content na Azure Blob Storage i już</li>\n<li>interfejs command-line (nie wiem, czy we wszystkich, ale na pewno w wielu, zwłaszcza tych opartych o Node.js), bliski programistycznemu sercu</li>\n<li>bezpieczeństwo - to nie jest PHP z dziurami, które trzeba pilnować, aktualizować itp.</li>\n<li>prostsze zarządzanie - nie muszę logować się do jakiegoś CMSa, podawać hasła itp.; mogę całą stronę/bloga trzymać na GitHubie i po porstu <code class=\"language-text\">git commit</code>/<code class=\"language-text\">git push</code> i mam zaktualizowaną treść</li>\n<li>większa elastyczność i łatwiejsze rozszerzanie funkcjonalości - to nie jest PHP, tylko np. JavaScript/TypeSciprt</li>\n</ul>\n<p>Czemu więc niw udało się z Hexo? Pewnie było kilka powodów:</p>\n<ul>\n<li>może jeszcze nie byłem gotowy na zmianę w myśleniu o \"silniku do bloga\"</li>\n<li>próg wejścia był spory (konfiguracja, szablony), a w zasadzie silnik działał jedynie w oparciu o pliki markdown</li>\n<li>nie znalazłem satysfakcjonującego gotowego szablonu</li>\n</ul>\n<h3>A teraz cały na biało - Gatsby</h3>\n<p>Gatsby zainteresował mnie dwoma \"ficzerami\":</p>\n<ul>\n<li>wykorzystanie Reacta - czyli przyjazne środowisko: nie muszę samemu pisać szablonu w gołym HTML-u/CSS-ie</li>\n<li>możliwość podpięcia jako wejścia dowolnego źródła z contentem - via GraphQL.</li>\n</ul>\n<p>Okazało się, że uruchomienie jest bardzo proste, zwłaszcza przy wykorzystaniu gotowych (starterów)[https://www.gatsbyjs.org/starters/]. Dodatkowo, za rękę prowadzi (tutorial)[https://www.gatsbyjs.org/tutorial/], więc próg wejścia jest bezbolesny. Dzięki temu, że renderowanie \"contentu\" jest oddzielone od źródła danych (\"separation of concerns\" ;)), możemy w zasadzie tworzyć treść strony/bloga w dowolny sposób - albo po prostu jako treść pomiędzy komponentami Reactowymi, albo z wykorzystaniem wtyczki, która będzie źródłem danych dla kwerend GraphQL, np. w plikach Markdown, ale też wykorzystaniem zewnętrznego CMSa, w tym - WordPressa. A do tego z Gatsby'ego łatwo zdiplojujemy na (Surge)[https://surge.sh/] czy (Netlify)[https://www.gatsbyjs.org/docs/deploying-to-netlify/], tak więc byłskawicznie możemy stworzyć jakiś proof-of-concept i podzielić się nim z kimś, przesyłając linka.</p>\n<p>I ten właśnie miks - z jednej strony pełna elastyczność, a z drugiej łatwość osiągnięcia zadowalającego efektu, startując z poziomu 0 - jest wielką siłą Gatsby'ego. A do tego cały sztafaż znajomych narzędzi - Node'owe CLI, git, VS Code, React - czyni pracę bardzo przyjazną. Wydaje mi się zatem, że Gatsby stanie się moim podstawowym narzędziem do budowy blogów i prostych stron - ten Gatsby to naprawdę \"Wielki Gatsby\". ;)</p>\n<p>P.S. Dla ciekawych - tę stronę zbudowałem w oparciu o starter <code class=\"language-text\">gatsby-starter-julia</code> ((link)[https://www.gatsbyjs.org/starters/niklasmtj/gatsby-starter-julia/]).</p>","excerpt":"Na dziś odpowiedź brzmi: Gatsby. Próbowałem wcześniej z WordPressem, potem eksperymentowałem ze statycznym generatorem (Hexo), potem wróciłem do WordPressa, by…","frontmatter":{"date":"01 October, 2019","path":"/blog/blog-jaka-platforme-wybrac","title":"Blog - jaką platformę wybrać?"},"fields":{"readingTime":{"text":"3 min read"}}}},"pageContext":{}},"staticQueryHashes":["3649515864","63159454"]}