Dzisiejszy wpis będzie o NodeJS, mianowicie mam prywatną listę frameworków JS’owych które chce poznać, pierwszy do odstrzału padł NodeJS.
Co to takiego Node.js?
Node.js to biblioteka umożliwiająca uruchomienie języka JavaScript po stronie serwera, wykorzystuje silnik V8. Tyle tytułem wstępu 🙂
Nie będę rozpisywać kolejnego tutoriala jak uruchomić console.log(„Hello world”) przedstawiam tylko swoją pierwszą przygodę z owym nodejs
Pierwsze zmaganie z NodeJS w moim przypadku polegały na przebrnięciu przez krótkie samouczki, rzuceniem oka na dokumentację, poczytaniu kilku wpisów na twitterze i po zebraniu takiego doświadczenia zabrałem się za kodowanie.
Postanowiłem, że napiszę prostą apkę która będzie standardowo obsługiwać CRUD (Create, Read, Update, Delete). Aplikacja ma za zadanie wyświetlić listę danych, pobrać od użytkownika informację, pozwolić na usunięcie danego wiersza, oraz wejście w szczegóły konkretnego rekordu.
W pierwszej kolejności pomyślałem, postawię bazę mongoDB albo postgresql, do tego doszła mi chmura Heroku w której chciałem przechowywać dane. Wszystko ładnie, pięknie, dane zebrane czas kodzić i tutaj pojawiły się pierwsze moje kroki pod górę. Zmagania z połączeniem aplikacji nodejs z mongoDB poprzez heroku były dość wyczerpujące. W trakcie walki po kilku h zmagań doszedłem do wniosku, że nie mam czasu aby bawić się w to wszystko przy prostej aplikacji „treningowej” więc postanowiłem, że wszystkie dane będę reprezentować w pliku.json.
Oczywiście nie udało mi się postawić aplikacji za pomocą mongoDB i Heroku, ale jak mój poziom zaawansowania z uper noba wskoczy szczebel wyżej w środowisku nodaJS i pochodnych to ponownie zmierzę się z tematem, tym razem z zamiarem pokonania wroga w postaci problemów z połączeniem 🙂
Wracając do danych w postaci JSON. Ta opcja była strzałem w dziesiątkę, po jakimś czasie mogłem już wyświetlać zawartość jsona, oraz z poziomu html’a podać input z danymi, które zapisywały mi się w pliku json. Obecne muszę jeszcze dorobić pozostałe funkcję, ale jak na cały dzień zmagań gdy udało mi się zapisywać dane z poziomu htmla uznałem, że na dziś dzień koniec z kodowaniem, macie wrażenie, że gdy siedzicie długo przed kompem bez przerwy to oczy chcą wam wypłynąć? Ja dziś prawię, że trzymałem gałki oczne aby nie wypadły 🙂
Jeżeli chodzi o prace NodaJS z JSON polecam doinstalować kolejnego npm install node-json-db polecam, naprawdę, mi ułatwiło życie, z operacjami na jsonowych danych.
Co do NodaJS i stawiania całego środowiska na początku jest magiczne, nie lubię jak dzieją się cuda, bajery, wybuchy a ja nie wiem dlaczego. Konkretniej mówiąc aby bawić się z samym nodem wypada stworzyć jakiś package.json za pomocą npm init. Co to jest ten npm? Chciałem uczyć się nodejs a tu naglę musiałem ogarniać co to za czort, ale szybko udało się poskromić temat więc spoko. Później w trakcie prac z NodeJS okazało się, że powinienem do instalować za pomocą npm „wspomagacze” do noda aby sprawniej kodzić to i owo, tak, że z pomocą przyszedł express, kolejną paczką która udostępnia nam mnóstwo plików w aplikacji a my na wstępie nie wiem o co chodzi, ale jest magia. Po raz kolejny, starając się dojść co z czym i dlaczego to zajęło mi trochę czasu i nadal nie wiem wszystkiego jeszcze, ale jestem na dobrej drodze. Chce głównie powiedzieć, że zabawa z NodemJS na początku drogi front-endowca gdzie oprócz samej jednej paczki musimy doinstalować X kolejnych może przyprawić o ból głowy. Jest to dla mnie troszkę frustrujące, ale mam nadzieję, że z czasem przesiąkania w noda nie będzie mi to zaprzątać głowa gdy będę tworzyć inne „arcy” ekhem… dzieła 😀
Jeżeli jesteś zainteresowany/na postępami, zapraszam na github 🙂
Pozdro 🙂