Cursul Web Application Building

Cursul Web Application Building vorbește despre diferite tipuri de programare web, concentrându-se pe crearea de aplicații web standard client-server. Concentrându-se în principiu pe programarea rețelei, care implică reînnoirea protocoalelor de rețea, transport și aplicații, cursul se bazează, în mare parte, pe protocolul de aplicație HTTP și pe caracteristicile acestuia. Sunt explicate responsabilitățile și proprietățile serverelor de aplicații și web ale serviciului de aplicații web. Sunt analizate în detaliu regulile de funcționare a protocoalelor HTTP și structura cererilor și răspunsurilor HTTP.

Prezintă conceptul de nume de domeniu și server, modul în care trec datele – de la tastarea unei adrese într-un browser web, la afișarea unui document HTML și învățarea a ceea ce este nevoie pentru a face o aplicație funcțională și accesibilă pe internet.

Cursul include, de asemenea, Django, un cadru popular Python, adesea folosit pentru a crea aplicații web. După asimilarea logicii și a conceptelor de programare web, acest cadru vă permite să vă concentrați asupra părților interesante ale creării unei aplicații web, lăsând la o parte sarcini obositoare și repetitive.

Pe lângă partea serverului, cursul acordă o atenție deosebită programării orientată pe client. Pe durata cursului se studiază JavaScript, un limbaj de programare popular, cel mai cunoscut pentru rolul său în partea de client a aplicațiilor web. Multe cadre populare de client sunt bazate pe JavaScript, unele dintre acestea fiind acoperite în acest curs: jQuery, Angular, Bootstrap și altele.

Sunteţi interesat de acest curs? Îl puteţi parcurge în cadrul acestor programe LINK Academy: Python Development Program.

Descrierea și obiectivele cursului Web Application Building

Scopul cursului este de a transpune cunoștințele dobândite anterior de cursanți într-o formă utilizabilă în producție, în contextul programării web. După finalizarea cursului, cursantul își poate crea propria aplicație web sau poate participa la proiecte în echipă, cu subiecte similare.

Cursantul va putea identifica în mod clar straturile aplicației și va putea lucra cu fiecare dintre acestea înțelegând. În plus față de tehnologiile abstracte de nivel inferior studiate la cursurile anterioare, cursantul va fi familiarizat cu multe tehnologii specifice lucrului la părțile de „back-end” și „front-end” ale sistemului prin completarea acestui curs.

Asimilând materialului de curs, cursantul poate înțelege conținutul mesajelor de protocol HTTP, poate crea aplicații web simple sau complexe, manual sau folosind cadre Django, sisteme de logare, magazine web, jocuri sau sisteme de facturare. Poate crea conținut bogat și dinamic pe partea de client a unei aplicații web, în cadrul unui browser web, folosind JavaScript și tehnologii conexe (jQuery, Angular și altele asemenea).

Cursul Web Application Building vă va răspunde la următoarele întrebări:

1. Ce sunt cookies și sesiunile?

Noțiunile de cookies și sesiuni sunt folosite deseori împreună când este vorba de identitatea site-urilor și a aplicațiilor, doar că cookies se află pe pagina de client, iar datele despre sesiune se pot păstra și pe pagina de server, și pe cea de client. Aceste două noțiuni sunt legate cel mai mult de protocoale aplicative, mai ales de HTTP. 

Un cookie este o mică parte de text care este stocată pe pagina de client, cel mai des de către browserul de internet, dar care a fost trimis de către server. Cookie-ul ca atare, stocat pe dispozitivul client, poate fi trimis către server după cum este nevoie. Utilizarea obișnuită a cookie-ului se poate întâlni la autentificarea clientului pe server, la stocarea preferințelor de utilizator – cum ar fi, de exemplu, produse depozitate în coș la achiziția online, identificarea clientului de către server, identificarea paginilor vizitate recent etc. 

Sesiunea poate fi definită ca depozitarea pe server a informațiilor despre client care există atât timp cât clientul este pe server sau pe aplicația server. Ideea din spatele sesiunii este că, în loc de stocarea unui număr mare de date care sunt adesea schimbate prin intermediul cookie-urilor la client, pe pagina de client se stochează doar identificatorul unic (în general, un astfel de identificator se numește session id). Acest identificator se distribuie către server de fiecare dată când clientul trimite cererea către server. 

2. La ce se folosesc bazele de date?

Bazele de date ne permit o depozitare a datelor structurată și organizată, precum și lucrul rapid și eficient cu aceste datele stocate. Baza este alcătuită din elemente care sunt prezentate sub formă de tabele cu rânduri și coloane. Aceste tabele se folosesc pentru stocarea datelor pe care vrem să le păstrăm în bază. Pentru fiecare coloană din tabel, se stabilește din timp ce tip de date va stoca, iar rândurile din tabel se pot defini ca și colecțiile valorilor legate. Fiecare rând din tabel se poate marca cu un identificator unic – cheie primară. 

Există destule sisteme similare pentru gestionarea bazelor de date (MySQL, PostgreSQL..), dar având în vedere că Python susține SQLite și că biblioteca pentru lucrul cu acest sistem face parte din bibliotecile Python integrate, în acest curs vom folosi SQLite. În acest curs vom acoperi câteva dintre elementele de bază ale lucrului cu bazele de date SQLite, iar pentru instrucțiuni și informații mai detaliate despre bazele de date și conceptele sale, cursantul ar trebui să parcurgă un curs separat, dedicat special acestei materii, și anume cursul MySQL Programming and Administration.

3. Ce este MVC?

Cadrul (framework) sau șablonul MVC (prescurtat de la Model-View-Controller) reprezintă un mod de dezvoltare a unei aplicații care împarte aplicația în trei părți principale: model, prezentare și controler. Fiecare dintre aceste componente a fost creată pentru gestionarea aspectului specific al aplicației. În mod tradițional, MVC s-a folosit cel mai mult pentru aplicații grafice desktop, iar mai târziu acest model de dezvoltare și de gândire a fost transferat atât pe aplicații web, cât și pe cele mobile. Arhitectura MVC a fost menționată pentru prima dată în 1979, când Trygve Reenskaug a prezentat această paradigmă, iar ca și concept s-a folosit pentru prima dată în limbajul de programare Smalltalk, în 1987. 

Pe lângă clasificarea aplicației în trei componente diferite, șablonul model-prezentare-controler definește și legătura lor reciprocă. Modelul este responsabil cu gestionarea datelor aplicației. Mai exact, primește interogări de utilizator de la controler. Prezentarea este, de fapt, aspectul aplicației în sine, iar controlerul reacționează la acțiunile utilizatorului și interacționează asupra datelor de model. Controlerul primește acțiunea de utilizator, opțional o validează și o trimite la model, așadar, se poate spune că reprezintă o legătură dintre model și prezentare. 

Kurs Web Application Building

4. Ce este JavaScript și unde îl folosim?

JavaScript face parte din cele mai populare limbaje de scripting de pe internet. Una dintre principalele sale caracteristici este funcționalitatea pe toate browserele de internet cunoscute, precum Internet Explorer, Mozilla, Chrome, Firefox, Netscape și Opera. Prima versiune a acestui limbaj de programare a apărut în 1995, atunci când, datorită dezvoltării internetului, a apărut nevoia de limbaj de scripting pentru partea de client. 

JavaScript este un limbaj de scripting și de programare care permite aplicarea funcțiilor complexe pe paginile web, ca de exemplu:

  • prezentarea dinamică a informațiilor;
  • actualizarea conținutului în timp real;
  • hărți interactive;
  • animații 2D și 3D.

În acest curs vom învăța bazele JavaScript, crearea variabilelor și a funcțiilor, iar prin exemple veți vedea avantajele oferite de acest limbaj de programare. În unele lecții ne vom ocupa de codarea avansată, respectiv de editarea evenimentelor, colectarea input-urilor de utilizator, precum și cu trimiterea cererilor către serverul Python, creat la cursul Python Net Programming.

5. Ce este AJAX și la ce se folosește jQuery?

AJAX este tehnologia care folosește protocolul HTTP pentru a încărca datele fără reîncărcarea paginii. Denumirea de AJAX este prescurtarea de la Asynchronous JavaScript and XML. Folosind această tehnologie, putem trimite mesaje către server și să primim răspunsul asincron. În acest fel se obține dinamismul paginii, deoarece conținutul se încarcă mai repede în timp real, fără a fi nevoie de reîncărcarea paginii complete. 

John Resing a publicat jQuery în 2006 și a schimbat dezvoltarea front-end pentru totdeauna. În scurt timp, jQuery a devenit cea mai populară bibliotecă JavaScript. Este vorba despre biblioteca care permite o scriere mai simplă a codului JavaScript. Această bibliotecă ușurează:

  • manipularea HTML/DOM;
  • manipularea CSS;
  • manipularea evenimentelor;
  • lucrul cu efecte și animații;
  • lucrul cu AJAX. 

6. Ce este Django?

Django este un framework web Python de nivel superior, conceput pentru dezvoltarea rapidă a site-urilor sigure și ușor de întreținut. Ca atare, rezolvă și singur multe probleme care pot apărea în timpul creării, configurării și setării site-urilor,  toate acestea pentru ca noi, programatorii, să ne concentrăm pe scrierea aplicațiilor care stau în spatele unui site. Codul este gratuit și open-source, cu o bază mare de utilizatori și o documentație destul de detaliată.  

Între anii 2003 și 2005, Django a fost dezvoltat mai întâi de o echipă de programatori web care au lucrat la un site de ziare online. După crearea mai multor site-uri similare, au observat că o bună parte din baza codului a fost reutilizată. Acest cod comun, folosit pe mai multe site-uri, a evoluat în codul open-source denumit Django, în iulie 2005. 

De la apariția sa, Django evoluează și progresează ca un web framework – de la prima versiune 1.0, publicată în septembrie 2008, fiecare versiune nouă a adăugat corecturi pentru bug-urile cunoscute, precum și o funcționalitate nouă, cum ar fi suportul pentru noi sisteme ale bazelor de date, sisteme pentru șabloane, caching, funcții generice pentru verificări și clase, toate acestea pentru reducerea timpului necesar programatorului pentru a coda unele dintre aceste aspecte generale. 

7. Cât sunt de sigure aplicațiile dezvoltate folosind cadrul de lucru Django?

Ca și cadru de lucru, Django vine la instalare cu multe soluții de securitate. Însă, nu toate setările de securitate sunt activate automat. În funcție de meniu și de nevoile aplicației, programatorul trebuie să aleagă și să configureze cu atenție toate setările. Django are propria comandă pentru analiza securității proiectelor și a aplicațiilor, care se numește check. Pornind această comandă, putem obține o prezentare privind posibilele probleme de securitate, precum și instrucțiunile pentru a le rezolva. 

Dacă avem deja aplicația publicată, putem folosi site-ul Observatory al companiei Mozilla, care ne va scana site-ul și ne va informa despre potențialele probleme și soluții propuse. 

Versiunea Django joacă un rol foarte important în securitate și este important să se folosească cea mai nouă versiune stabilă. De exemplu, versiunea 1.11 (de exemplu, în acest curs folosim Django 3.0.8) este ultima versiune care a susținut Python 2.x. De asemenea, alegerea versiunii Django condiționează în mod direct procentul și atacurile la care va fi supusă aplicația noastră.

Planul și programa cursului:

Modulul 1 – Server și aplicații web

  • Protocoale aplicative
  • Parametrizarea HTTP
  • Cookies și sesiuni
  • Gestionarea bazei de date
  • Șablonul MVC
  • Localizare

Modulul 2 – Programarea client 

  • Limbajul de programare JavaScript
  • Document Object Model
  • AJAX
  • Biblioteca Bootstrap
  • Biblioteca jQuery

Modulul 3 – Gestionarea framework-ului Django

  • Mediul și ciclul de viață
  • Lucrul cu vizualizările și șabloanele
  • Maparea cererii
  • Procesarea formularului 

Modulul 4 – Publicarea aplicației 

  • Publicarea aplicației web Python
  • Asigurarea, testarea și echilibrarea solicitării aplicației 

Participarea la curs de Web Application Building

3 moduri de a obține un job bine plătit

Am pregătit un document în care puteţi descoperi trei moduri de a obţine un job bine plătit pentru profesioniştii care lucrează pe calculator. Descărcați raportul aici

Înscrierea pentru generaţia 2021/22 se face aici.

Pentru a afla totul despre înscriere, click aici.