FRONTEND NARZĘDZIA RENATA MASZCZYKOWSKA

Podobne dokumenty
ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

WYKŁAD 1 TECHNOLOGIE FRONT-END CZĘŚĆ 1

WYKŁAD 1 TECHNOLOGIE FRONT-END CZĘŚĆ 1

ZAKODUJ SWOJĄ PRZYSZŁOŚĆ. Zostań programistą i zacznij dobrze zarabiać w IT, jednej z najlepiej rozwijających się branży w Polsce i na Świecie!

REACT NATIVE. Anna Maziejuk Kamil Jankowski

Warszawa, Kategorie analizy frameworków GUI

ZAKODUJ SWOJĄ PRZYSZŁOŚĆ. Zostań programistą i zacznij dobrze zarabiać w IT, jednej z najlepiej rozwijających się branży w Polsce i na Świecie!

Dokument hipertekstowy

I. Opis przedmiotu zamówienia

Exulto Software House

Automatyzacja Testowania w WEB 2.0

Tytuł szkolenia: Angular 4 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych

Program szkolenia: JavaScript Craftsmanship

Programowanie Komponentowe WebAPI

REFERAT PRACY DYPLOMOWEJ

Stawiamy pierwsze kroki

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

ZAKODUJ SWOJĄ PRZYSZŁOŚĆ. Zostań programistą i zacznij dobrze zarabiać w IT, jednej z najlepiej rozwijających się branży w Polsce i na Świecie!

TABLET - UDOSTĘPNIANIE DOKUMENTÓW

[Junior Developer - pierwsza praca jako programista - JavaDevMatt] 1. Sponsorzy Partnerzy projektu O czym i dla kogo jest ta książka?

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Podstawy technologii WWW

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Referat pracy dyplomowej

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Aplikacje WWW - laboratorium

ZAKODUJ SWOJĄ PRZYSZŁOŚĆ. Zostań programistą i zacznij dobrze zarabiać w IT, jednej z najlepiej rozwijających się branży w Polsce i na Świecie!

Instrukcja laboratoryjna

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

Pokaz slajdów na stronie internetowej

Projekt warsztatów. Full Stack Developer. Autor: Kamil Wołczyk

WebAii Automation Framework

Full Stack Developer

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3

KORZYSTANIE Z BAZY DANYCH UpToDate

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

Szkolenie wycofane z oferty. Programowanie w JavaScript (zawiera jquery)

Instrukcja instalacji oprogramowania dla środowiska Windows

Instrukcja procesu aktywacji oraz obsługi systemu Banku Internetowego dla BS Mikołajki

ZAKODUJ SWOJĄ PRZYSZŁOŚĆ. Zostań programistą i zacznij dobrze zarabiać w IT, jednej z najlepiej rozwijających się branży w Polsce i na Świecie!

Formatowanie komórek

Aplikacje Internetowe

Responsive Web Design

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

Szczegółowy opis zamówienia:

STRONA INTERNETOWA oferta

Dwie perspektywy responsive web design: user experience i front-end developer

JavaScript : programowanie zaawansowane / Tomasz "Comandeer" Jakut. Gliwice, cop Spis treści

Narzędzia podnoszące jakość procesu wytwarzania i wdrażania

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

PORADNIK KODOWANIA: CSS

PROGRAM PŁATNYCH STAŻY EFEKTYWNI 2016

tutaj Poniższe makro nie zadziała dla pakietu Open lub Libre Office! O co chodzi?

Programista aplikacji internetowych. Junior Web Developer z certyfikatem Programming in HTML5 with JavaScript and CSS3

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

TWORZENIE PREZENTACJI MS POWERPOINT

Java jako język programowania

Agenda. Wstęp Zmiany Co nowego dla web developerów? Nowości we front-end developingu Czego spodziewać się może końcowy użytkownik?

HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

REFERAT O PRACY DYPLOMOWEJ

SEMINARIUM Dwie perspektywy w projektowaniu na Responsive Web Design (User experience i webdeveloper)

ZAKODUJ SWOJĄ PRZYSZŁOŚĆ. Zostań programistą i zacznij dobrze zarabiać w IT, jednej z najlepiej rozwijających się branży w Polsce i na Świecie!

Makropolecenia w Excelu

Edytor tekstu OpenOffice Writer Podstawy

Referat Pracy Dyplomowej

OFERTA WYKONANIA STRONY WWW. Magdalena Hodak. WYCENĘ PRZYGOTOWAŁ inż. Damian Pronobis. Nr Wyceny : #182. Wycena przygotowana dla:

Strona mobilna i strona responsywna w pozycjonowaniu. Mobile-First Index. Spis treści

Przewodnik... Tworzenie Landing Page

Testowanie według modelu (MBT) Stowarzyszenie Inżynierii Wymagań wymagania.org.pl

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

Zastanawiałeś się może, dlaczego Twój współpracownik,

PHICS - Polish Harbours Information & Control System Dokumentacja użytkownika System weryfikacji autentyczności polskich dokumentów marynarzy

YOUR SOFTWARE CHALLENGE IS OUR MISSION. Case Study

OpenLaszlo. OpenLaszlo

copyspace WEB2PRINT PROJEKTOWANIE I EDYCJA PRZEZ INTERNET

PRZEWODNIK PO PRZEDMIOCIE

VBA w Excel Lekcja ta ma przybliżyć pojęcia związane z programowaniem w pakiecie Office. Poniższe przykłady związane są z wersją Office2007.

2.2 Przestrzeń robocza zespołu Grupy Office 365

1. Narzędzia główne: WORD 2010 INTERFEJS UŻYTKOWNIKA. wycinamy tekst, grafikę

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

która metoda jest najlepsza

Zdalny dostęp do źródeł elektronicznych BUR dla pracowników i studentów Uniwersytetu Rzeszowskiego

Tworzenie infografik za pomocą narzędzia Canva

Tworzenie menu i authoring w programie DVDStyler

Klient poczty elektronicznej - Thunderbird

Od programowania wizualnego do tekstowego

Aplikacje webowe z wykorzystaniem Node.js oraz Express

LABORATORIUM 6: ARKUSZ MS EXCEL JAKO BAZA DANYCH

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Kompetencje niezbędne do pracy w e-commerce

Zdalny dostęp do źródeł elektronicznych BUR dla pracowników i studentów Uniwersytetu Rzeszowskiego

Przepis. Wstęp HTML & CSS. W tym projekcie nauczycie się, jak stworzyć stronę internetową ze swoim ulubionym przepisem. Zadania do wykonania

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Przegląd technologii

Microsoft Word jak zrobić bibliografię

ANIMACJE W CSS3. Czyli po co płacić podatek o Javy Script i JQuery

Zdalny dostęp do zasobów elektronicznych BGiOINT dla pracowników Politechniki Wrocławskiej

Oferta specjalna na Zintegrowany System Zarządzania Stroną Firmy.

Transkrypt:

FRONTEND NARZĘDZIA RENATA MASZCZYKOWSKA

CORE EDYTORY TEKSTU NARZĘDZIA JAVASCRIPT - FRONTEND ROZSZERZENIA JAVASCRIPT NARZĘDZIA JAVASCRIPT - BACKEND NARZĘDZIA CSS ROZSZERZENIA CSS HTML, CSS, JAVASCRIPT VIM EMACS ATOM BRACKETS SUBLIME TEXT WEBSTORM VISUAL STUDIO CODE REACT ANGULAR VUE JQUERY EXTJS EMBER BACKBONE KNOCKOUT REQUIRE REDUX METEOR BABEL TYPESCRIPT COFFEESCRIPT NODE JS, EXPRESS JS BOOTSTRAP FOUNDATION COMPASS SEMANTIC UI GUMBY PURE KUBE GROUNDWORK VITAL Z E S T A W I E N I E PROJEKTOWANIE STRONY LESS, SASS, STYLUS SYSTEM KONTROLI WERSJI AUTOMATYZACJA ZADAŃ UNIT TESTY JS RWD RESPONSIVE WEB DESIGN SVN, GIT GRUNT, GULP, WEBPACK KOMUNIKACJA MIĘDZY FRONTENDEM A BECKENDEM MOCHA, JASMINE, KARMA, JEST JSON, YAML, XML

EDYTORY TEKSTU KOMENTARZ VIM EMACS ATOM BRACKETS SUBLIME TEXT WEBSTORM VISUAL STUDIO CODE Zanim developer napisze pierwszą linijkę kodu, musi zastanowić się - i tu użyję znaczącego skrótu myślowego jaki edytor tekstu wybierze. Bardziej poprawnie nazywa się to IDE (Integrated development enviroment), czyli takie wręcz całe środowisko programowania, które zwiera w sobie dodatkowe,,rzeczy" wspomagające kodowanie, jak zaawansowane opcje, które potrafią naprowadzić inżyniera na kod, robić korektę, poprawiać błędy, umożliwiają odpowiednie zarządzanie zmianami, wgląd do historii owych zmian etc. Najczęściej wybór zależy od upodobań i oczekiwań. Niektóre narzędzia są też bardziej popularne jak: Atom, WebStorm, Visual Studio Code. Może taka analogia - podobne jest to - mówiąc w dużym uproszczeniu - do edytorów, które wykorzystujemy do napisania czekogolwiek, najczęściej wybieramy MS Word, ale są też inne programy, jak: Writer (z pakietu OpenOffice), czy TexMaker. Ba! Na upartego i notatnik można wykorzystać do napisania tekstu. Jednak pozbawiony jest on tych wszystkich funkcji, które są dosptępne w zaawansowanych edytorach.

NARZĘDZIA JAVASCRIPT FRONTEND Aktualnie na topie AngularJS i ReactJS. Na nich się skoncentruję najbardziej. Wyparły one swoją popularnością takie narzędzia jak: EmberJS, BackboneJS czy KnockoutJS. Ciekawy jest VueJS, niektórzy specjaliści podkreślają, że jest to biblioteka, która w swoim zastosowaniu może stać się w niedalekiej przyszłości dobrym konkurentem szczególnie dla AngularJS. Czas pokaże :) Od czego zależy wybór? Między innymi od: 1) Projektu - jeżeli jest mały to raczej ReactJS, jeśli większy to AngularJS, choć ReactJS również się sprawdzi, ale będzie trzeba użyć dodatkowych bibliotek. 2) Technologii, które wykorzystywane są na backendzie, jeżeli będzie to.net, to wybór padnie na AngularJS, taka konfiguracja jest opcjonalna. W ten sposób ewoluują programiści. 3) Doświadczenia zespołu jeżeli większość osób pracuje w AngularzeJS, zna ten framework, wydaje się być naturalne, że pozostali członkowie zespołu się dostosują. 4) Podejścia czy chcemy mieć jedno narzędzie (framework), które da nam możliwość skorzystania ze wszystkich jego funkcji jak właśnie AngularJS, czy kilka dobrych, ale mniejszych (zestaw bibliotek) - jak ReactJS w połączeniu najczęściej z Reduxem. REACT ANGULAR VUE JQUERY EXTJS EMBER BACKBONE KNOCKOUT REQUIRE REDUX METEOR

NARZĘDZIA JAVASCRIPT FRONTEND KOMENTARZ Rozumiesz? :) Jak nie do końca, to zadaj sobie pytanie, czy na biwak wolałbyś zabrać scyzoryk szwajcarski, czy może, pakiet narzędzi, ale każde osobno? Wszystko ma swoje plusy i minusy. Porównanie możesz skorzystać ze scyzoryka szwajcarskiego, który ma sam w sobie już nóż, otwieracz do puszek, otwieracz do wina, nożyczki, pilnik i możesz za jego pomocą zrobić wszystko nad czym pracujesz. I to jest taki AngularJS. ReactJS będzie genialnym nożem, aby jednak wykonać swoją pracę, potrzebujesz właśnie dodatkowych narzędzi, dodatkowych bibliotek, których ReactJS sam w sobie nie zawiera. Co tu jest spoko? Że wybierzesz sobie do tego taki otwieracz, nożyczki czy pilnik, jaki będziesz sam chciał, a nie jaki został z góry narzucony. Dlatego też część inżynierów preferuje ReactJS, bo tutaj mają pewną wolność wyboru, co do pozostałych bibliotek. Generalnie ReactJS (podobnie VueJS) jest świetnym narzędziem dedykowanym szczególnie do tworzenia interface`u użytkownika (aby strona była przyjazna, friendly). Uff...mam nadzieję, że choć trochę Wam się rozjaśniło :) AngularJS - framework ExtJS - framework EmberJS - framework BackboneJS - framework KnockoutJS - framework MeteorJS - framework ReactJS - biblioteka VueJS - biblioteka JQuery - biblioteka RequireJS - biblioteka Redux - biblioteka

JAVASCRIPT ROZSZERZENIA BABEL TYPESCRIPT COFFEESCRIPT Są to preprocesory JavaScript. Hmm... trudne słowo... prościej - to takie rozszerzenia JS. Zawierają wszystkie funckjonalności, które ma JS plus dodatkowo inne. Babel wykorzystywany z biblioteką ReactJS TypeScript wykorzystywany z framwerokiem AngularJS w wersji 2, również w projektach z ReactJS. CoffeeScript - mniej popularne, także skoncentruję się na dwóch powyższych. Dlaczego coś takiego powstało? W ostatnich latach nastąpił wzrost stopnia "skomplikowania" stron internetowych, a co za tym idzie rozwój nowych narzędzi. Sam język JavaScript też ulega zmianie, tworzone są coraz to nowsze jego wersje, nowe standardy obecnie ECMAScript7 (ES7). Przeglądarki również muszą dostosowywać się do tych zmian, czyli wprowadzać aktualizacje, dzięki czemu strony napisane w najnowszej wersji JS, będą mogły być odpalane. A na to potrzeba czasu. Inyżnierowie nie czekali, aż poszczególne firmy (Internet Explorer, Firefox, Opera ect.) dostosują się do nowych standardów. Sami postanowili działać. Stworzyli owe rozszerzenia. Babel - ''tłumaczy" kod nowszych standardów JS (ES6 i ES7) na niższe wersje np. ES5, które są wspierane przez wszystkie przeglądarki. Gdyby przeglądarki i narzędzia (jak NodeJS),,rozumiały" ES6/ES7 jako standard, to Babel by nie istniał - stąd też jego nazwa :) TypeScript - język, który można powiedzieć przystosowuje (implementuje) podstawowe reguły programowania JS, których brakuje w nowszych wersjach. Więcej, ma w sobie też dodatkowe opcje jak np. możliwość sprawdzania typów już w momencie pisania kodu. Znaczy to tyle, że np. inżynier może na bieżąco weryfikować kod i sprawdzać, czy apka się uruchamia. W podstawowej wersji JS, inżynier mógł to stwierdzić dopiero, gdy napisał całość i finalnie ją odpalał. BABEL = PRZETWARZANIE, KONWERTOWANIE TYPESCRIPT = WZBOGACANIE

NARZĘDZIA JAVASCRIPT BACKEND Framework wykorzystywany do pisania kodu na serwerze (backendzie). Osoby, które w swoich umiejętnościach podkreślają znajomość technologii: JS, HTML, CSS, Angular/React, baz danych i NodeJS najszczęsciej są full stack developerami, czyli potrafią stworzyć aplikację od strony frontendowej i backendowej. NodeJS NodeJS stał się bardzo popularny, przede wszystkim dlatego, że specjaliści tworzący strony internetowe znają JavaScript i jaka to wygoda móc użyć tego samego języka (a warto podkreślić, że JS to jedyny taki język) do frontendu i backendu jednocześnie! Co warto jeszcze nadmienić - NodeJS idzie z duchem czasu, to znaczy z duchem standaryzacji ECMAScript. Firmy wykorzystujące Node.js: m.in. Google, Microsoft, Amazon, Netflix, PayPal, Uber, LinkedIn.

NARZĘDZIA CSS KOMENTARZ Narzędzia te przyspieszają pracę. Można napisać apkę oczywiście tylko w CSS, ale... jest opcja nieco szybsza, czyli gotowe pakiety rozwiązań, umożliwiające nadanie stronie stylu, wyglądu, koloru, czcionki. Zapewniają one nie tylko responsywność strony (czyli, że strona dostosuje się do rozdzielczości urządzenia, na którym będzie wyświetlana), Bootstrap Foundation Compass Semantic UI Gumby Pure Kube Groundwork Vital ale również dodają łatwe w wykorzystaniu, gotowe elementy. A trzeba przyznać, że elementy przygotowane przez niektórych twórców, potrafią naprawdę zadziwić! Wybór zależy oczywiście od tego, co daje poszczególne narzędzie, jakie ma możliwości i co inżynier chce ostatecznie wizualnie osiągnąć na stronie, nad którą pracuje. Aby odnieść się do czegoś może Wam bardziej znanego Canva. Tu mamy już gotowe praktycznie wszystko, aby stworzyć plakat, CV, ogłoszenie, wpis na FB etc. Jasne można by było tworzyć ogłoszenie od A do Z, ale skoro istnieją gotowe elementy jak zdjęcia, różne opcje czcionek, tła, filtrów etc. to po co się przemęczać? Z drugiej strony, jeśli chcemy mieć plakat czy CV, które są całkowicie unikalne, lepszym podejściem (ale i bardziej czasochłonnym) będzie stworzenie go zupełnie od podstaw bez użycia jakichkolwiek gotowców.

ROZSZERZENIA CSS KOMENTARZ To są preprocesory CSS, czyli rozszerzenia języka CSS. O co chodzi? Wyobraźmy sobie, aplikację, która ma powiedzmy 2000 linijek kodu w CSS (dużo). Jest oczywiste, że pewna jej część będzie się powtarzać dajmy na to kolor, a niech będzie zielony. Został on użyty w bardzo wielu miejscach. Nagle klient życzy sobie ów ten kolor zmienić - na czerwony. No i co teraz? Specjalista musiałby przejść 2000 LESS SASS linijek i po kolei sprawdzać i zmieniać kod. Jest jednak lepsze rozwiązanie, mianowicie pisząc aplikację inżynier może od razu wybrać less/sass/stylus. Biblioteki te mają opcje skorzystania z funkcji,,zmienne. Pisząc od STYLUS samego początku aplikację z wykorzystaniem less/sass/stylus w przypadku, gdy nagle klient zażyczy sobie zmiany koloru, nastąpi to w kilka sekund. Zatem, gdy apka jest mała, jasne, można pisać wszystko w CSS, ale gdy jest duża, pewnie widzicie i rozumiecie już, że lepiej użyć powyższych narzędzi, co znacznie ułatwi później wprowadzanie zmian, zarządzanie aplikacją, czy też zmniejszy jej koszty utrzymania.

PROJEKTOWANIE STRONY RWD Responsive Web Design Może zdarzyć się, że strona ładnie wygląda desktopowo (na monitorze PC), ale na telefonie się,,rozjeżdża albo są jakieś dziwne odstępy między tekstem a zdjęciami itp. RWD to sposób projektowania strony, którego celem jest to, aby dana aplikacja wyglądała dobrze na różnych urządzeniach. SYSTEM KONTROLI WERSJI SVN mniej popularny, obecnie częściej wykorzystywany GIT. Pozwala łączyć pracę kilku inżynierów piszących,,swój kawałek kodu w jedną całość. SVN GIT

AUTOMATYZACJA ZADAŃ GULP GRUNT WEBPACK Narzędzia, które pozwalają automatyzować pracę, pozwalają tworzyć zadania do zarządzania projektem, ale bardziej od strony administracyjnej. Inżynier tworząc aplikację musi wykonywać i powtarzać,,w kółko wiele drobnych rzeczy, dużo czasu to zabiera, ale może sobie ułatwić, czyli zautomatyzować owe zadania. Co może zrobić? Na przykład stworzyć środowisko do testów, przygotować testy automatyczne, odpalać je. Obecnie najczęściej stosuje się Gulp oraz Webpack UNIT TESTY JS Narzędzia do wykonywania unit testów Java Script. Obszerne wyjaśnienie tu: http://understandit.pl/narzedzia-doautomatyzowania-testow-dla-it-rekruterow/ MOCHA JASMINE KARMA JEST

KOMUNIKACJA MIĘDZY FRONTENDEM A BACKENDEM JSON YAML XML To taki format danych, format tekstowy. Służy do komunikacji między frontendem a backendem. Jak to działa? Załóżmy, że logujemy się na pocztę. Wpisujemy na stronie dane do logowania, przeglądarka łączy się z serwerem, tam dzieją się,,magiczne rzeczy, czyli weryfikacja, czy nasze dane są poprawne. Jeżeli tak, otrzymujemy z powrotem wszystkie nasze dane, właśnie w postaci JSON. Odwołam się do analogii :) Może pamiętacie to porównanie do restauracji? Frontend ta część, gdzie wygodnie sobie siedzimy przy stoliczku, wybieramy danie z menu, przy okazji podziwiamy zaaranżowane wnętrze. Kiedy już jesteśmy gotowi do złożenia zamówienia, podchodzi do nas kelner, zapisuje sobie wszystko na małej, białej karteczce i udaje się czym prędzej, tam gdzie nasze oko już nie sięga, na zaplecze (czyli backend). Po chwili nasze zamówienie powraca w postaci konkretnego dania. W tej metaforze, JSON/YAML/XML byłby właśnie tym daniem, które kelner przynosi nam na talerzu.