2017 JS Jak się uczymy JavaScriptu? A raczej czym jest dzisiaj JavaScript. To jest dobre pytanie, ponieważ w ostatnich latach znowu dużo się zmieniło i, mimo iż staram się śledzić nowinki mam wrażenie, że zaspałem jakieś 2 lata.
Jak się okazuje 2 lata to bardzo dużo w tej branży i jak się okazuje, znam na tyle dobrze JavaScript, by wykonywać swoją pracę, ale czy znam na tyle dobrze JavaScript, aby nie zgubić się w dzisiejszym świecie. Nie jestem futurystą (nie mam tego demona), ale co robić, gdy przyszłość zlewa się z teraźniejszością bez przerwy w świecie programowania w JavaScript.
Programuję w C# i strony internetowe nie są moją główną działką, ale jestem w szoku z faktem co się obecnie dzieje.
Zadaję sobie pytanie czy ty jesteś web developer na czasie. Ja piszę ten wpis w grudniu w roku 2016, ale dla JavaScriptu technicznie jest już 2017. Szkoda, że to nie może biec jeszcze szybciej.
Czym jest dokładnie web developer dzisiaj? Kim jest dzisiaj programista front-end? Czy jesteś jakimś programistą widmo?
Programista front-end w teorii dzisiaj robi:
- Wizualizacje
- Buduje strony internetowe
- Przy użyciu Node.js robi logikę serwerową
- Pyta bazę danych o określone tabele
- Tworzy listę operacji na plikach w systemach operacyjnych
- Tworzy gry…, jak chcesz możesz pograć w piłkę nożną i w Doom w JavaScript
- Tworzy odtwarzacze muzyczne
- Tworzy animacje
- Komunikuje się z robotem
- …a nawet nie z kawałkiem plastiku, którego nazywamy robotem tylko latającym dronem, ponieważ dlaczego kur*** nie.
Czy tym teraz zajmują się programiści JavaScript? Ja chcę tylko stworzyć stronę internetową, która wyświetla dane dla użytkownika w postaci jakiejś tabeli HTML.
Tylko tyle - myślałem, że programista front-end robi trochę więcej.
Zaraz wam pokaże jak się robi strony interentowe
Jak więc to robimy.
Gdyby był rok 2012
W roku 2012 ściągnąłbyś bibliotekę jQuery. Za jej pomocą odpaliłbyś zapytanie HTTP do serwera, wciągnął dane w formacie JSON i potem w pętli umieścił dane w tabelce.
Gdybyś chciał jakieś super animacje i efekty przejścia, wtedy ściągnąłbyś jakieś pluginy i metodą prób i błędów stworzyłbyś swoją piękną stronę internetową.
To było akceptowalne i nikt wtedy na to nie narzekał. Oczywiście jednak teraz żyjemy w roku 2017 i już jQuery się nie używa.
Czego więc używamy? AngularJS?
AngularJS rzeczywiście wprowadził wiele ciekawych zmian. Mamy przecież tam wzorzec MVC i wszystko jest ładnie wydzielone i niezależne od siebie. AngularJS w wersji 1.X.X to dobra biblioteka, stworzona przez ludzi w Google. Nawet nie wiem po co stworzyli następna wersję. Zaraz, no tak mamy teraz dwie różne biblioteki, to, z której mam skorzystać?
Przy okazji czy powinienem tworzyć strony w czystym JavaScript? Czy może w pośredniczącym kompilatorze, który mi wypluje JavaScript jak np. TypeScript? JavaScript nie jest w końcu przyjaznym językiem? Czy to jednak jest dobry pomysł?
Te pytania nie mają znaczenia, bo mamy rok 2017, a nie rok 2015. W czym więc teraz dzieciaki programują? Słyszałem coś o React.js.
Co ty piszesz strony internetowe w HTML? To dobre dla dzieci.
Jeśli o tym nie słyszałeś, to znaczy, że przespałeś rok 2016. Idziemy więc z tym React.js? Czym on jest? Zapytajmy się kolesia, który pisze szarym tekstem.
Gdy przyszłość rozmawia
Zacznijmy więc pracę.
Zaraz po co mi aż dwie biblioteki.
JSX? Co to jest do cholery? Po co to powstało?
Mam więc te dwie biblioteki, ale nic mi jeszcze nie działa. O czym zapomniałem?
EcmaScript 2016+ co jest? Dlaczego nie korzystamy z wersji EcmaScript 6? Skoro już wybiegamy w przyszłość.
Dobra. Potrzebuje więc dwie biblioteki, aby wyświetlić tabelę. Jak mogę je ściągnąć. Z jakiej strony internetowej?
Dobra zobaczę jakiś tutorial i dodam tę paczkę do projektu. Boje się, aż zapytać po co mi do tego NPM. Całe szczęście zainstalowało mi się to z Visual Studio.
Nadal wydaje mi się to zbyt skompilowane, aby pobrać jakąś bibliotekę.
Zaraz, to czym jest Webpack?
Mam nadzieje, że to koniec. Stwórzmy tę stronę internetową. Paczki, zadania przed kompilacyjne, Babele, TypeScripty…, dobra jakoś to ogarnę przeczytam sobie mnóstwo tutoriali jak mam to zrobić.
Pamiętasz to są te odlotowe funkcjonalności z EcmaScript2016+. Chcesz przecież wysłać zapytania HTTP 2.0 mamy rok 2017.
Zaraz skąd nagle wzięło się tyle tych bibliotek. Te nazwy mi nic nie mówią. Ja chcę tylko stworzyć stronę internatową, która wyświetli mi tabelkę. Wiesz co walę to, ściągam jQuery ze STRONY INTERNETOWEJ.
Ta część wpisu została zainspirowana tym wpisem i tym (jest przyszłość)
Czy JavaScript powędruje jeszcze dalej
Być może granice zostały już przekroczone. JavaScript nigdy nie był wybitnym językiem do programowania, tymczasem jest on wciskany wszędzie. Coś poszło moim zdaniem nie tak w momencie, gdy powstał Node.JS i od tej pory można było tworzyć logikę serwerową i nie tylko w kodzie JavaScript.
Potem ktoś to zaczął rozszerzać do granic absurdu.
Ten pociąg nigdy się nie zatrzyma. Swoją drogą ludzie od Angulara 2.0 właśnie ogłosili, że pominą wersję 3.0 i następna wersja będzie 4.0.
Jaki to ma sens. No cóż z marketingowego punktu widzenia czasem łatwo coś wcisnąć ludziom - technologię gdy ma wyższy numer.
Jednym słowem w środowisku JavaScript jest burdel. Nie ma żadnej gwarancji, czy nowy trend nie umrze za 4 miesiące. Osobiście mnie to trochę martwi, ponieważ przegapiłem rok 2016 i w ogóle nie mam pojęcia co się dzieje.
Początkujący programiści też nie mają łatwo. W końcu jak dzisiaj tworzy się strony internetowe i przy pomocy czego.
Ja w 2010 roku mając do dyspozycji HTML, ASP.NET, C#, CSS i JavaScript czułem się już zagubiony faktem jak mam zacząć swój szkolny projekt. Jeśli więc zaczynasz swoją przygodę jako twórca stron internetowych zacznij od czegoś prostego