IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

1. diel - Úvod a porovnania

Tento článok je súčasťou webovej reprezentácia ročníkové práce Honzu Bittnera, písané v školskom roku 2014/2015.

V tomto článku tiež vysvetľujem skratky, ktoré sú použité v celej sérii článkov.

Použité značky, skratky a symboly

Ajax - Asynchronous JavaScript and XML

back end - časť webu, ktorá slúžiace k administrácii, generuje obsah pre front end

BEM - Block, Element, Modifier - štýl zápisu OOCSS tried

BFU - bežný Fyzický (Franta) Užívateľ

CSS - Cascading Style Sheets

framework - špecializovaný balík knižníc pre uľahčenie práce

front end - časť webu, ktorú vidí návštevník webu

HTML - HyperText Markup Language

IDE - Integrated Development Environment - Vývojové prostredie

jQuery - JavaScriptová knižnica

JS - JavaScript

Less - CSS preprocesor

minifikace - zmenšenie zdrojových kódu (odstránenie medzier, zalomenie a i.)

MVC - Model-view-controller

MVP - Model-view-presenter

OOCSS - objektovo orientované štýly

PHP - PHP: Hypertext Preprocessor, pôvodne Personal Home Page

Sass - Syntactically Awesome Style Sheets - CSS preprocesor

web - webová stránka

webový prehliadač - internetový prehliadač; program, ktorým zobrazujeme web

Úvod

Webové technológie sa rok čo rok vyvíja a už dlho nám pre vývoj webové stránky, alebo aplikácie, nestačia dva až tri jazyky / technológie, ale potrebujeme rovno celý arzenál. Projekty sa verzují, automatizujú a stále viac sa tiež využívajú frameworky v podstate na všetko, pretože ohromne uľahčujú ďalší vývoj - alebo by aspoň mali.

Vyznať sa v súčasných trendoch a ovládať, alebo sa aspoň orientovať, dané technológia je teda veľmi náročné. V súčasnej dobe sa tiež stále viac vyvíja na báze open-source, kde desiatky, stovky, a dokonca aj tisíce vývojárov pracujú na jednom projekte a spoločne vytvárajú nádherné, a súčasne náročné, aplikácie či technológie. Tu sa na projektoch uplatní vo veľkej miere výhody Verziovací systémov.

Keďže je nutnosťou používať nespočet technológií a jazykov, na písanie webové stránky si nevystačíme s poznámkovým blokom, ale pre písanie kvalitného kódu, kde nám bude dopomáhať minimálne chytré napovedanie a zvýrazňovanie špecifických prvkov daného jazyka / technológia, potrebujeme špeciálne prepracované programy - editory alebo IDE. Našťastie pre písanie webových stránok či aplikácií nepotrebujú vývojári rovnaký program, a teda môže každý využívať program podľa svojich preferencií.

Časom, keď sa projekty začali čoraz viac zväčšovať, začali sa tiež využívať automatizačné nástroje, ktoré dokážu samé kompilovať zdrojový kód, modifikovať (napr. Minifikace), interagovať s konzolou ai. V mojej ročníkové práci sa budem zaoberať vývojom webových aplikácií za použitia moderných technológiou. Vyberiem mnou používané či odporúčanej technológie, ktorým budem venovať samostatnej podkapitoly, kde danú technológiu v základe vysvetlím.

V praktickej časti ročníkové práce vytvorím jednoduchú webovú aplikáciu, zameranú na redakčný systém. Systém bude vedieť registrácii a prihlásení používateľov, spravovať články a užívateľské účty a bude obsahovať špeciálne administrátorské rozhranie.

Webová stránka vs. webová aplikácia

V tejto ročníkové práci mám za úlohu vytvoriť webovú aplikáciu, ale pritom som už niekoľkokrát zmienil webovú stránku. Rozdiel, medzi týmito dvoma pojmami je zároveň zásadný a súčasne minimálne. Záleží totiž na uhle pohľadu.

Ak sa bavíme o webovej stránke, je väčšinou myslený front end, teda to, čo vidíme u nás vo webovom prehliadači. Samotné vytváraní stránky, resp. jej generovanie vôbec neberieme do úvahy.

Ak sa bavíme o webové aplikáciu, je väčšinou myslený práve back end, teda tá časť, pri ktorej webovú stránku vytvárame. Môže sa jednať o najrôznejšie redakčné systémy, hry a pod.

Mnoho ľudí však tieto pojmy zamieňa, pretože sú si veľmi podobné a blízke - a nie vždy je to zle. Ak sa zameriame na statické stránky, teda stránky, ktoré nie sú vygenerované žiadnym systémom, ale sú napísané "ručne", môžeme ich označovať za webovú aplikáciu napr. V prípade, keď majú rozvinutú front end logiku a väčšinou teda vie niečo viac, než len vykresliť stránku - vie napr. rozpohybovať stránku, vytvárať animácie / prezentácie, vykresľovať obrazce, obsahujú hru či aplikáciu i.

Podľa môjho názoru sa dá webová stránka považovať aj za aplikáciu v prípadoch, keď obsahuje back end alebo pokročilejší front end logiku. Ak sa chceme týmto nezrovnalostiam vyvarovať, môžeme napríklad použiť univerzálnu skratku web.

Editor vs. IDE

V úvode ročníkové práce som sa zmieňoval o tom, že nám pre písanie webov nestačí jednoduchý poznámkový blok, ale je nutné využívať špeciálne editory alebo IDE.

Aký je ale medzi týmito dvoma druhmi programov rozdiel? V oboch prípadoch môžeme editovať / písať naše weby s eleganciou - máme pekne zvýraznený kód a nejaké napovedanie. IDE však kódu naozaj rozumie. Chápe to, čo píšeme a vytvára spojenie medzi časťami súborov, knižnicami, frameworky atp.

V praxi to znamená, že ak požadujeme po editora nápovedu v mieste, kde očakávame premennú, dostaneme zoznam funkcií, premenných, často sa vyskytujúcich slov apod. Ak budeme požadovať nápovedu na mieste, kde očakávame premennú, po IDE, dostaneme na výber iba premenné, ku ktorým si navyše môžeme zobraziť v nejakom rýchlom náhľade tiež dokumentáciu.

IDE obsahuje tiež veľa nástrojov, ako napríklad nástroje pre kompiláciu, debugovania (nástroj, ktorým môžeme zistiť príčinu chyby) a pod. Tieto nástroje sa taktiež do väčšiny chytrých editorov dajú doplniť v podobe rozšírenia, väčšinou vytvárané komunitou.


 

Všetky články v sekcii
Technológia pre vývoj webových aplikácií
Preskočiť článok
(neodporúčame)
Výber technológií 1
Článok pre vás napísal Honza Bittner
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Aktivity