Jaki framework do nauki JS

0

Witam

Proszę o podpowiedź, od jakiego frameworka js warto zacząć naukę frondendu? Wg wielu źródeł, obecnie najpopularniejszym jest React, natomiast najłatwiejszym na początek nauki Vue.

Popularność Reacta powoduje większą konkurencję na rynku pracy, a więc teoretycznie większą rywalizację o przyszłe zlecenia. Czy zatem warto rozważać Vue aby wypełnić niszę, czy to raczej błędne myślenie?

Osobiście zawsze bardziej interesowały mnie technologie serwerowe i sieciowe. Dlatego chciałbym też poznać Node.js, lecz tutaj pytanie: Czy mogę zacząć naukę od samego Node, nie znając żadnego frameworka frondendowego, czy to się mija z celem - gdyż i tak w praktyce będę zmuszony poznać zarówno frontend jak i backend?

Co Wy polecacie na początek, poza oczywiście opanowaniem czystego js?

6

React. Nastepny!

1

Moim zdaniem Vue ma łatwiejszy próg wejscia i oferty są bardziej płatne

1

Angular?

6

Proszę o podpowiedź, od jakiego frameworka js warto zacząć naukę frondendu?

Od żadnego. Lepiej zacząć od HTML/CSS, bo na tym głównie polega frontend. Nawet rozbudowane aplikacje frontendowe na nie wiadomo jakich frameworkach i tak wypluwają w końcu HTML/CSS (chyba, że są to gry, bo te często pomijają HTML/CSS i działają na <canvas> i stosownych bibliotekach).

JavaScript też można bez żadnego frameworka używać, w przeglądarkach można dużo zrobić używając wbudowanych funkcji. Możesz zrobić aplikację bez frameworka.

Znając HTML, CSS, JavaScript + to, co jest w przeglądarce, masz już jakieś fundamenty i dalej możesz pomyśleć o frameworkach (które są tylko dodatkiem, opakowaniem ponad JS/HTML/CSS).

Natomiast, który framework później wybierzesz, to już zależy od ciebie. Zwykle i tak weźmiesz losowy framework (bo ci się spodoba albo taki będzie w projekcie w pracy) i go najpierw polubisz, a później znienawidzisz, więc whatever. W każdym razie React, Vue, Angular są popularnymi/bezpiecznymi wyborami na rok 2021 (za kilka lat pewnie się to zmieni jakoś, np. Svelte może w przyszłości stać się popularny https://2020.stateofjs.com/en-US/technologies/front-end-frameworks/ ).

4

Jak już tak to bym się też typescriptem zajął.

0

Pod warunkiem, że znasz dobrze podstawy HTML, CSS, JS to polecałbym Angulara, lub Reacta.

Reacta ponieważ jest obecnie najpopularniejszym frameworkiem frontendowym z naprawdę fajnym ekosystemem jak react-native, gatsby i nextjs, które strasznie ułatwiają pracę. W bardzo łatwy sposób możemy stworzyć aplikacje spa, ssr, ssg, lub nawet przenieść część logiki do aplikacji na telefon.

Angular strasznie mi się podoba ze względu na wzorce projektowe i korzystanie domyślnie z typescriptu, oraz z dekoratorów. Może być dobrym wyborem jeśli piszemy dodatkowo backend w node, bo istnieje framework nestjs, który jest wzorowany właśnie angularem. Wtedy piszemy frontend, oraz backend w tym samym stylu, korzystając z podobnych metod.

3
marcin777 napisał(a):

Witam

Proszę o podpowiedź, od jakiego frameworka js warto zacząć naukę frondendu? Wg wielu źródeł, obecnie najpopularniejszym jest React, natomiast najłatwiejszym na początek nauki Vue.

Popularność Reacta powoduje większą konkurencję na rynku pracy, a więc teoretycznie większą rywalizację o przyszłe zlecenia. Czy zatem warto rozważać Vue aby wypełnić niszę, czy to raczej błędne myślenie?

Osobiście zawsze bardziej interesowały mnie technologie serwerowe i sieciowe. Dlatego chciałbym też poznać Node.js, lecz tutaj pytanie: Czy mogę zacząć naukę od samego Node, nie znając żadnego frameworka frondendowego, czy to się mija z celem - gdyż i tak w praktyce będę zmuszony poznać zarówno frontend jak i backend?

Co Wy polecacie na początek, poza oczywiście opanowaniem czystego js?

Żaden. Serio.

Żeby się nauczyć języka programowania, powinieneś korzystać tylko z języka programowania. Dodatkowe rzeczy (jak biblioteki, frameworki i inne) tylko Ci zaciemnią obraz.

Może wydawać Ci się to nie rozsądne, ale to jest najlepsza droga. Bez frameworka i bibliotek też możesz tworzyć dobre aplikacje.

0
LukeJL napisał(a):

Proszę o podpowiedź, od jakiego frameworka js warto zacząć naukę frondendu?

Od żadnego. Lepiej zacząć od HTML/CSS, bo na tym głównie polega frontend. Nawet rozbudowane aplikacje frontendowe na nie wiadomo jakich frameworkach i tak wypluwają w końcu HTML/CSS (chyba, że są to gry, bo te często pomijają HTML/CSS i działają na <canvas> i stosownych bibliotekach).

JavaScript też można bez żadnego frameworka używać, w przeglądarkach można dużo zrobić używając wbudowanych funkcji. Możesz zrobić aplikację bez frameworka.

Znając HTML, CSS, JavaScript + to, co jest w przeglądarce, masz już jakieś fundamenty i dalej możesz pomyśleć o frameworkach (które są tylko dodatkiem, opakowaniem ponad JS/HTML/CSS).

Tylko że te "fundamenty" są często pomieszane ze sobą, i potem ludzie myślą że znak nowej linii w JavaScript to <br/>.

Ja proponuję się osobno nauczyć HTML i CSS, robiąc jakieś szablony; a osobno języka. Potem je połączyć w jedno kiedy już będziesz umiał oba dobrze.

1

Jak znasz juz jakieś podstawy js'a to mozesz uczyc się frameworka, React lub Vue, twój wybór.

0

@TomRiddle: Rozumiem co masz na myśli, jednakże w większości ogłoszeń o pracę są wymagane konkretne frameworki, stąd moje pytanie, którego warto się nauczyć na początek, Reacta czy Vue? (mając oczywiście opanowane podstawy js, html i css), bo bez tego rozumiem, że sam framework mija się z celem.

0

@Descendant: Ale który bardziej polecasz na początek Twoim zdaniem?

1
marcin777 napisał(a):

@TomRiddle: Rozumiem co masz na myśli, jednakże w większości ogłoszeń o pracę są wymagane konkretne frameworki, stąd moje pytanie, którego warto się nauczyć na początek, Reacta czy Vue? (mając oczywiście opanowane podstawy js, html i css), bo bez tego rozumiem, że sam framework mija się z celem.

Zadajesz pytanie:

"nie umiem liczyć, ale w ogłoszeniach o pracę są tylko pozycje księgowych i matematyków, więc nauczę się całek".

Jak niby chcesz korzystać z biblioteki napisanej w JavaScript jeśli nie znasz java script? Będziesz tworzył potworne aplikacje pełne bugów bez tego.

Poza tym, dla Rekrutera umiejętność JavaScript jest dużo istotniejsza niż jakiejś jednej biblioteki. Znajomość języka programowania jest dużo istotniejsza niż tej jednej biblioteki jak React lub Vue. Ktoś kto zna js ale nie zna Vue da się łatwo wyszkolić, szybko. Ktoś kto zna Vue lub React ale nie zna JS jest bezużyteczny.

4
marcin777 napisał(a):

@TomRiddle: Rozumiem co masz na myśli, jednakże w większości ogłoszeń o pracę są wymagane konkretne frameworki, stąd moje pytanie, którego warto się nauczyć na początek, Reacta czy Vue? (mając oczywiście opanowane podstawy js, html i css), bo bez tego rozumiem, że sam framework mija się z celem.

zamiast uczyć się "jak" się programuje we frameworku, zacznij od "dlaczego". Cofnij się w czasie i dowiedz się, czemu React został stworzony w taki sposób, w jaki został:

(nagranie z 2014, ale to nie szkodzi, później też możesz prześledzić zmiany jakie zaszły w samym React przez te lata (np. createClass -> klasy ES6 -> hooki) i w ekosystemie Reacta (np. Flux -> Redux -> GraphQL)). Ogólnie kontekst, dlaczego coś zostało zrobione i jak się zmieniało, jest ważniejszy niż znajomość nazw funkcji.

Podobnie i z Vue:

Co do Angulara to warto wiedzieć o tym, że wcześniej był AngularJS (nie mylić z Angularem! To dwa odrębne frameworki), jednak był pozornie dobry, jednak na dłuższą metę nieudany i twórcy postanowili, że zrobią go od nowa (wersja 2+).

Talk o AngularJS (starej wersji)

Tam jeszcze się jQuery pojawia w tym talku (jQuery to też ciekawa biblioteka, też warto poznać kontekst, jakie problemy rozwiązywała, czemu teraz już można się bez niej obyć itp.).

Z drugiej strony historia tych frameworków (i problemy, jakie rozwiązują oraz sposoby, w jakie to robią) są trochę zagmatwane, więc też nie musisz wszystkiego rozumieć, no ale jak masz wątpliwości co do wyboru, to zawsze warto poznać background. I myślę, że łatwiej wtedy znajdziesz wspólny język z bardziej doświadczonymi programistami, jeśli będziesz miał świadomość tego, jakie problemy rozwiązuje dany framework w jaki sposób - np. AngularJS był magią, bo miał 2 way binding... problem w tym, że to generowało problemy, więc React już stawiał się w opozycji (unidirectional data flow), plus wyszedł z pomysłem wirtualnego DOMu, co też było innowacją itp. itd.

Natomiast sama nauka pisania w tych frameworkach nie jest trudna (choć jeśli chodzi o React, to widzę, że masę osób się wywala na... nieznajomościach podstaw JS. Niestety React nie wybacza osobom, które nie znają JSa, więc jest to argument, żeby najpierw się JSa nauczyć, żeby potem wiedzieć choćby, jak działa this czy domknięcia(ang. closures) ).

1

Dziękuję wszystkim za porady.

Czyli najpierw solidne opanowanie czystego JS, a potem dopiero brać się za frameworki. No i of course HTML+CSS, ale to oczywista oczywistość ;-)

0
marcin777 napisał(a):

Dziękuję wszystkim za porady.

Czyli najpierw solidne opanowanie czystego JS, a potem dopiero brać się za frameworki. No i of course HTML+CSS, ale to oczywista oczywistość ;-)

Z tym HTML i CSS to bym poczekał.

No, chyba że uczyłbyś się ich osobno. Zrobiłbyś sobie dwa projekty, osobne

mkdir htmlProject/
mkdir jsProject/

I pisałbyś HTML+CSS w htmlProject/, a JS w jsProject/. Jeśli będziesz pisał JS i HTML+CSS w jednym projekcie, to natychmiast połączysz te dwie rzeczy ze sobą i zrobisz nic nie wartą aplikację.

3

Powinieneś najpierw nauczyć się pisać w JS i wytwarzać aplikacje, a potem sobierać frameworki pod to.

1 użytkowników online, w tym zalogowanych: 0, gości: 1