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.
Załóżmy, że z jakiegoś powodu nie chcesz
zostać web deweloperem i chcesz trzymać się od przeglądarek z daleka.
W takiej sytuacji jedną ze ścieżek, które
możesz obrać jest tworzenie aplikacji, które są natywnie uruchamiane na urządzeniach np.
na komputerach bądź też urządzeniach mobilnych.
I co prawda wspominałem o tym, że wykorzystując technologię pochodzące z
web developmentu również jesteś w stanie tworzyć takie aplikacje,
natomiast tutaj chodzi o to, że istnieją
technologie, które są dedykowane tworzeniu aplikacji np.
działających w systemie iOS
i one tutaj zwykle dają nam większe możliwości dotyczące rozwoju aplikacji, ale
też zapewniają większy komfort korzystania poprzez np.
większą wydajność. Oczywiście ograniczenia i możliwości o
których teraz mówię będą z czasem mocno się zacierały
i zresztą teraz jesteśmy tego świadkami ponieważ JavaScript z coraz większą skutecznością
wchodzi w praktycznie każdą dziedzinę programowania
i z tego też powodu zyskuje miano najpopularniejszego języka programowania
i swoją drogą coraz więcej programistów
decyduje się na naukę właśnie JavaScriptu.
W każdym razie wracając do projektowania
aplikacji natywnych, mówimy tutaj znowu o wielkich
możliwościach i decyzjach, które musisz podjąć.
I tutaj znowu muszę wspomnieć o tym, że w ramach web developmentu wspominałem o tym, że
wykorzystując język JavaScript jesteśmy w stanie tworzyć aplikacje mobilne oraz
desktopowe, które natywnie są uruchamiane na tych urządzeniach,
natomiast chodzi tutaj o to, że istnieją
technologie, które są dedykowane temu żeby tworzyć np.
aplikacje działające w systemie iOS.
Takie technologie dają nam zwykle więcej możliwości oraz też zapewniają większą
wydajność aplikacji i z tego powodu wiele firm decyduje się na to aby projektować
aplikacje, które wydają właśnie wykorzystując dedykowane technologie.
Przykładowo jeżeli zatrudnisz się w jakiejś
korporacji i będziesz projektował zaawansowany system np.
bankowy, no to w takiej sytuacji często
sięgamy po prostu po zaawansowane technologie, które są dedykowane do
projektowania właśnie takiej kategorii aplikacji,
ale z drugiej strony możesz pracować też w jakiejś innej mniejszej firmie, której
będzie zależało na tym, aby możliwie jak najmniejszym kosztem przygotować aplikację
działającą w różnych systemach operacyjnych i na różnych urządzeniach.
W takiej sytuacji sięgamy po rozwiązania,
które oferują nam szybsze wytwarzanie oprogramowania, ale wtedy musimy godzić się
na pewne kompromisy. Jeżeli chodzi o technologie, które
wykorzystujemy do projektowania takich natywnych aplikacji
tutaj największą rolę odgrywają języki takie jak C#, Java czy np.
Swift. I znowu musisz tutaj pamiętać, że tych
technologii jest zdecydowanie więcej i mało tego, niemal co roku pojawiają się
nowe technologie, z którymi warto się czasem zapoznawać ze względu na to, że albo
adresują one jakieś problemy tych starszych technologii albo oferują zupełnie nowe
możliwości, które wcześniej nie były dostępne.
Podsumowując teraz temat projektowania aplikacji natywnych, w mojej opinii jest to temat
nieco bardziej złożony niż cały web development.
Wynika to chociażby z faktu że web development często jest ograniczony do
tego, co się dzieje w przeglądarce, natomiast tutaj nic nie stoi na
przeszkodzie abyśmy tworzyli oprogramowanie dla urządzeń medycznych,
bądź też urządzeń działających w jakichś fabrykach.
Mało tego, możemy tutaj zająć się np.
projektowaniem gier komputerowych, które w mojej opinii są jedną z najciekawszych i
jednocześnie najtrudniejszych dziedzin jeżeli chodzi o programowanie.
W każdym razie to co musisz wiedzieć to fakt że znowu stają przed tobą ogromne
możliwości i to którą wybierzesz zależy w dużej mierze od siebie.