dla Początkujących
6 godz. 26 min · JavaScript · Full-stack i Programowanie
Adam GospodarczykProgramowanie to szeroka dziedzina, która nieustannie się rozwija. Rozpoczynając naukę możemy opierać się głównie na wskazówkach bardziej doświadczonych osób, bądź autorach kursów i nauczycielach. W praktyce najważniejsze na początku jest dobre zrozumienie tego, czym jest programowanie, jakie możliwości daje oraz jakie możemy wybrać ścieżki rozwoju. W tym kursie spojrzymy na programowanie z szerokiej perspektywy, dając Ci solidne podstawy do dalszej nauki.
To kolejne trudne pytanie, na które nie ma jednoznacznej odpowiedzi. Dobra wiadomość jest taka że języki programowania, podobnie jak angielski, niemiecki czy hiszpański mają cechy wspólne. Nie oznacza to że nauka jednego, da Ci dostęp do wszystkich ale poznasz ogólne mechanizmy, które spotkasz w niemal wszystkich pozostałych technologiach. W tym kursie skupiamy się właśnie na takich obszarach, opierając przykłady o obecnie najpopularniejszy język jakim jest JavaScript.
Być może zastanawiasz się jak dokładnie wygląda praca programisty? Czym różni się front-end od back-endu i czy wysokie umiejętności analityczne są wymagane niezależnie od obszaru programowania, którym się zajmujemy? Dodatkowo samo zostanie programistą to tylko początek drogi. Możliwości jakie przed nami stoją nie tylko są ogromne, ale również nieustannie się rozwijają, stawiając przed nami nowe wyzwania.
Ten kurs podzielony jest na dwie części - teoretyczną, która przedstawi Ci szerokie spojrzenie na programowanie oraz praktyczną, w której samodzielnie będziesz w stanie przekonać się jak pisać programy z wykorzystaniem języka JavaScript - najpopularniejszego języka na świecie. To, że będziemy przerabiać przykłady w JavaScript, nie stanowi przeszkody a wręcz lepiej przygotuje Cię do pracy z innymi językami jak Python, C# czy C++ lub Kotlin. To wszystko ułatwi Ci podejmowanie decyzji dotyczących dalszej nauki i rozwoju jako programista.
W pierwszych lekcjach części praktycznej kursu dowiesz się jak skonfigurować środowisko pracy wraz z edytorem, w którym przyjdzie Ci pracować. Pomożemy Ci w dobraniu odpowiednich ustawień i wtyczek, które przyspieszą naukę i pomogą w lepszym zrozumieniu podstawowych koncepcji programistycznych. Krok po kroku dowiesz się jak przygotować środowisko i rozpocząć komfortową pracę.
Mimo, że będziemy pracować z JavaScript, posłuży nam on do przedstawienia najważniejszych koncepcji programowania w każdym innym języku. Nie będziemy uczyć się tworzenia stron i środowiska przeglądarki a jedynie przećwiczymy najważniejsze koncepcje języków programowania w środowisku konsolowym. Dzięki temu zdobyte umiejętności z łatwością przełożysz na inne języki jak Python, Java czy Swift, bo wszystkie posiadają identyczne konstrukcje, a poznać należy wyłącznie różnice.
OOP to jeden z najważniejszych paradygmatów programowania, który powinien poznać każdy aspirujący Programista. Dzięki temu będziesz mógł zdecydowanie lepiej zrozumieć możliwości i powiązania klas i obiektów, które tworzą programiści a także pisać kod, który jest prostszy i reużywalny. To koncepcja, którą także wyjaśnimy obrazowo w kursie. Oczywiście, poza teorią w kursie pokażemy Ci przykłady tworzenia funkcjonalnych klas w JavaScript.
Kolejną ważną koncepcją, którą musi znać każdy początkujący Programista jest praca z błędami - innymi słowy obsługa błędów lub debugowanie naszej aplikacji. To niezwykle ważne, bo oszczędzi Ci mnóstwa frustracji oraz wielu godzin rozpoznawania, co w kodzie nie działa poprawnie. Z kursu w praktyce dowiesz się, jak testować swoje aplikacje, łatwo wykrywać błędy i korzystać z narzędzi, które będą je dla nas wykrywać lub automatycznie poprawiać!
Ten kurs przygotowaliśmy tak, aby był fundamentem wiedzy o Programowaniu, którego używamy w wielu naszych ścieżkach na eduweb.pl. To znaczy, że kurs który masz przed sobą rozpoczyna ścieżkę Python, JavaScript, Ruby i wiele innych. Wiemy, że w sieci jest mnóstwo materiałów na temat podstaw programowania i chcieliśmy przygotować wyjątkowy kurs, który da Ci spokój w natłoku wielu informacji w sieci. Zaangażowaliśmy w to najlepszych autorów eduweb oraz naszym zdaniem jednych z najlepszych programistów w Polsce. To, co jest jednak najważniejsze - kurs omawia programowanie bardzo prostym językiem, dzięki czemu jest przystępny dla każdego!
Kurs przeznaczony jest dla osób początkujących, które stawiają swoje pierwsze kroki na scieżce programisty lub programistki. Jednak skorzystają z niego także te osoby, które myślą o nauce programowania w celu uzupełnienia innych umiejętności, na przykład internetowi przedsiębiorcy, freelancerzy, UI/UX i web designerzy. Jeżeli czujesz się zagubiony lub przytłoczony dużą ilością często sprzecznych informacji - ten materiał pozwoli Ci szerzej spojrzeć na programowanie. To z kolei przełoży się na lepsze decyzje, które będziesz podejmować w kontekście swojego rozwoju. W kursie znajdziesz wskazówki i porady dotyczące efektywnej nauki programowania, które pomogą Ci szybciej zdobyć nowe umiejętności i pracę w zawodzie. Najważniejszą z nich jest fakt, że programowanie to dynamicznie rozwijająca się dziedzina, która wymaga od Ciebie nieustannej nauki. Zatem wypracowanie odpowiednich nawyków i technik nauki jest niezwykle istotne, niezależnie od miejsca w którym aktualnie się znajdujesz.
W tej i kolejnych lekcjach porozmawiamy
sobie więcej na temat ścieżek programowania, czyli takich kategorii w
ramach których możemy się poruszać w ramach rozwoju naszej kariery.
Co ciekawe te ścieżki różnią się od siebie
natomiast nic nie stoi na przeszkodzie abyśmy poruszali się albo w ramach jednej
wybranej przez nas ścieżki albo poruszali się pomiędzy nimi.
To wszystko zależy od naszych możliwości, potrzeb no i oczywiście chęci do nauki.
Pierwszą z takich kategorii jest web development, czyli kategoria która jest mi
osobiście najbliższa ponieważ sam jestem web deweloperem i ogólnie rzecz biorąc zajmuje
się projektowaniem stron internetowych i aplikacji działających w przeglądarce.
Jeżeli chodzi o web development to pierwszą taką podkategorią, którą wyróżniamy w
ramach web developmentu jest front-end development.
Jest to taki obszar, o którym już wspominałem w jednej z poprzednich lekcji i tutaj
zajmujemy się przede wszystkim projektowaniem interfejsów i tego co widzi
użytkownik. Front-end deweloperzy wykorzystują technologię takie jak HTML 5
CSS 3 oraz obecnie najpopularniejszy na świecie język programowania czyli JavaScript.
Dalej front-end deweloperzy często też sięgają po tzw.
Middle-end,
przynajmniej ja to nazywam, natomiast przypominam, że oficjalnie nie ma takiej
kategorii jeżeli chodzi o web development, i tutaj wyróżniamy technologie takie jak
Angular, React czy Vue. Konkretnie można powiedzieć, że nie są to technologie tylko tzw.
frameworki, które wykorzystują język JavaScript do tego aby budować
zaawansowane aplikacje, zarówno na urządzenia desktopowe czyli komputery
osobiste jak i urządzenia mobilne czyli telefony i tablety.
Jak widzisz już na ten moment tych
technologii do opanowania narobiło się przynajmniej kilka, no i jeżeli chcemy zostać
takim front-end deweloperem no to wszystko wskazuje na to że HTML, CSS i
JavaScript wraz z frameworkami musi być dla nas znamy. Natomiast dobra wiadomość jest taka,
że pomimo tej dość dużej bariery wejścia wystarczy że opanujemy dobrze jeden
framework. Ponieważ jeżeli pracujemy w firmie w której wykorzystujemy np. React
to nie ma potrzeby aby znać tutaj Angulara czy Vue.
Idąc dalej w ramach web developmentu wyróżniamy również Back-end Development.
I tutaj jest to część działająca po stronie serwera, o tym również sobie już
rozmawialiśmy, no i w ramach back-end developmentu
wykorzystujemy technologie takie jak Node.js
I tutaj nazwa nie jest przypadkowa ta
końcówka js wskazuje na to, że tutaj również wykorzystujemy JavaScript,
z tą różnicą, że poruszamy się bardziej po stronie serwera a nie przeglądarki.
Z jednej strony może to się wydawać dziwne, a z drugiej strony jest niesamowitą zaletą
ponieważ uczymy się jednej technologii czyli JavaScriptu i
jesteśmy w stanie pracować zarówno jako
front-end deweloperzy i jednocześnie zaglądać na back-end bądź w ogóle zajmować się projektowaniem
back-endu. Drugą technologią, która jest
wykorzystywana po stronie back-endu jest znany i lubiany wszystkim język PHP.
Jest to technologia, która jest z nami od
dłuższego czasu i obecnie nieco traci na znaczeniu i na popularności,
natomiast nie zmienia to faktu, że w wielu firmach PHP nadal jest wykorzystywany
i tutaj również mówimy o wykorzystaniu PHP oraz
jego frameworków takich jak Larawel czy Symphony.
W każdym razie o nich już nie będziemy rozmawiać, natomiast wiedz że jest taka
możliwość, no i jeżeli chodzi o frameworki to musisz na ten temat wiedzieć tyle, że są to
takie specjalne zestawy narzędzi, które ułatwiają programowanie i rozwiązywanie
takich powtarzających się elementów w ramach różnych aplikacji.
Idąc dalej oprócz PHP mamy również Ruby oraz Java.
To również technologie, z którymi będziesz się niejednokrotnie spotykał,
natomiast pamiętaj o tym, że nie musisz znać ich wszystkich ponieważ np.
pracując jako Node.js developer do Ruby czy np.
PHP będzie ci daleko.
Także podsumowując w ramach web developmentu
tworzymy szeroko pojęte strony internetowe i aplikacje działające w przeglądarce, ale
obecnie nawet wychodzi to poza przeglądarkę ponieważ projektując np.
aplikacje wykorzystując HTML, CSS i
JavaScript jesteśmy w stanie również tworzyć aplikacje mobilne, bądź też nawet
aplikacje desktopowe czyli takie, które jesteśmy w stanie uruchomić bezpośrednio
na komputerze bez konieczności uruchamiania przeglądarki.
To co jest ważne to pomimo tego, że przeszliśmy sobie tutaj przez wiele różnych
technologii to pamiętaj o tym, że są to raczej możliwości, które przed tobą stoją i
nie ma tutaj konieczności opanowania każdej z nich.
Nic nie stoi na przeszkodzie abyś stał się front-end deweloperem i wykorzystywał w
swojej pracy tylko HTML, CSS, JavaScript oraz jakiś Framework.
Nie musisz wtedy znać żadnych technologii back-endowych,
natomiast zdecydowanie przyda ci się ogólne pojęcie na temat back-endu.
Z drugiej strony możesz zostać back-end deweloperem i nie mieszać się w ogóle w to
co się dzieje po stronie przeglądarki, czy samego interfejsu aplikacji.
Zatem znowu dochodzimy tutaj do wniosku, że wybór ścieżki i technologii w ramach których
będziesz się poruszał zależy praktycznie wyłącznie od Ciebie.