vineri, 16 decembrie 2016

S12:

O aplicație web este un program care rulează într-o arhitectură client-server folosind tehnologiile deschise World Wide Web.
Ele înlocuiesc modelele în care atât serverul cât și clientul rulează tehnologii proprietar, mentenanța aplicațiilor de pe partea de client fiind prea complexă, costisitoare și susceptibilă la erori. În schimb, omniprezența browserelor web și comoditatea de a le folosi drept client conduce la eliminarea acestei mari probleme.
Astfel, au evoluat și pe partea de server serverele de aplicații, iar pe lângă limbajele de programare au apărut frameworkuri și tehnologii dedicate programării acestora.
Webul a apărut la început cu scopul de a distribui documente, inițial în cadrul său apărând protocolul HTTP și formatul HTML.
Prima dezvoltare în direcția folosirii unui server web a fost apariția CGI(en) la începutul anilor 1990. CGI permitea rularea unor scripturi pe server, care să genereze un răspuns dinamic în format HTML.
Pasul următor a fost transformarea acestor documente HTML în interfețe dinamice cu utilizatorul, prin crearea de către Netscape a limbajului JavaScript, care este dedicat scriptării comportamentului browserului și introducerea de elemente dinamice; tot în acea perioadă, Sun a asociat limbajului Java capabilitatea de a rula mici aplicații scrise în acest limbaj și denumite appleți într-un plugin al browserului, iar Macromedia a inventat Flash, o tehnologie ce făcea posibil același lucru. În ultimii ani ai secolului al XX-lea, funcționalitatea limbajului JavaScript a fost extinsă semnificativ prin introducerea API-ului XmlHttpRequest, prin care se putea programa efectuarea și procesarea răspunsurilor la mici cereri HTTP dintr-o pagină web, fără a reîncărca întreaga pagină. Inițial, datele acestor mici cereri erau transferate de la client la server predominant în format XML, ceea ce a dus la denumirea de AJAX (Advanced JavaScript And XML), deși ulterior, pe măsură ce limbajele de programare server-side au introdus suportul, a început să fie preferat standardul JSON (obiecte JavaScript serializate).
Pe partea de server, CGI a fost urmat de apariția specificației Java Servlet, inclusă apoi în Java Enterprise Edition, ceea ce a făcut ca Java să devină limbaj de programare dominant în cadrul aplicațiilor web pe partea de server. Alte limbaje de programare dedicate programării server-side au fost ASP (dezvoltat de Microsoft) și PHP (proiect open-source), și apoi Ruby.
Anii 2010 au adus o mult-așteptată extindere a standardului HTML, cu HTML5, care impune browserelor implementarea internă a multor funcționalități care până atunci fuseseră apanajul exclusiv al pluginurilor dezvoltate de terți, iar dezvoltarea explozivă a smartphone-urilor a dus mai întâi la o lipsă de browsere web cu funcționalități similare celor pentru calculatoare și deci la dezvoltarea de aplicații client dedicate fiecărei aplicații web.
Tehnologii Folosite in Web Design
Adobe Photoshop CS3
Este un program utilizat in prelucrari generale de imagini in format electronic, grafica pentru tipar, video si web.  Printre multe altele pune la dispozitie instrumente web pentru optimizarea si previzualizarea imaginilor dinamice sau statice, realizarea imaginilor rollover,  imagini care isi schimba aspectul la trecerea cu mouse-ul peste,  precum si pentru realizarea de GIF-uri animate.
Corel DRAW
Este un editor grafic vectorial precum Adobe Illustrator. Este utilizat de designerii de grafica si web design si a fost creat pentru a rula pe platforme Microsoft Windows.  Permite crearea imaginilor vectoriale si nu numai.
Tehnologii Folosite in Dezvoltarea Aplicatiilor Web
In dezvoltarea paginilor si a aplicatiilor web  folosim cele mai frecvent utilizate tehnologii  in acest domeniul: PHP & MySQL si ASP .NET. Alegerea tehnologiei folosite se face in functie de complexitatea aplicatiei si de preferintele clientului.
PHP & MySQL
PHP este un limbaj de programare web server-side, ceea ce inseamna ca ruleaza pe un server,  permitand dezvoltatorilor web sa creeze site-uri dinamice si aplicatii web-based software ce interactioneaza cu utilizatorii si baze de date.  In utilizarea  acestui limbaj cel mai comun si mai des folosit server este Serverul Apache.  Pentru stocarea datelor in baze de date folosim MySQL  care este cel mai des utilizat server de baze de date open source. Se caracterizeaza prin  flexibilitate, stabilitate, fiabilitate si viteza in prelucrarea datelor stocate. MySQL foloseste Structured Query Language (SQL), limbajul  cel mai frecvent folosit pentru adaugarea, accesarea si prelucrarea datelor in bazele de date.
ASP.NET
ASP.NET este un framework dezvoltat si comercializat de Microsoft pentru a permite dezvoltatorilor web sa construiasca pagini web dinamice si interactive, aplicatii si servicii web. ASP.NET este construit pe limbajul comun Runtime (CLR), care permite dezvoltatorilor sa scrie cod ASP.NET folosind orice limbaj acceptat .NET.  Aceasta tehnologie  este o tehnologie puternica ce permite dezvoltatorilor sa dezvolte aplicatii web care sa lucreze cu baze de date,  fiind deseori utilizata in aplicatii complexe si de mare amploare.  Fiind o tehnologie Microsoft se caracterizeaza prin rapiditatea cu care se dezvolta precum si prin viteza  prin care paginile web se incarca in browser.  Aceasta din urma se datoreaza faptului ca este un limbaj in care codul este compilat in "limbajul masina" inainte ca utilizatorul sa ajunga in pagina web.
Ambele tehnologii detaliate mai sus interactioneaza in dezvoltarea aplicatiilor web si procesul de creare site-uri cu alte limbaje precum:  Html, Css,  XML, JavaScript, Ajax, jQuery, Flash, ActionScript.
Html
Denumirea vine de la HyperText Markup Language si se defineste ca fiind un limbaj de formatare si structurare a documentelor  web utilizand o varietate de etichete si atribute. 
Css
Cascading Style Sheets (CSS) este un limbaj „style sheet” folosit pentru a descrie aspectul si formatarea unui document scris intr-un limbaj markup.  Aplicarea sa cea mai comuna este in paginile web scrise in HTML si XHTML, insa poate fi aplicat la orice tip de document XML.
XML
Acest limbaj  a fost conceput pentru a inlocui limbajul HTML, care a fost considerat prea limitat in elemente si atribute. XML  este tot mai mult folosit pentru schimbul de date si configurarea lor.  Cea mai des folosita forma a XML-urilor in interactiunea cu utilizatorul este crearea  RSS feed-urilor pentru aplicatiile web dezvoltate.
JavaScript
JavaScript este un limbaj de programare creat de Netscape, serveste la dezvoltarea aplicatiilor web si de cele mai multe ori ruleaza ca o aplicatie client-side care ruleaza intr-un browser web.
Dezvoltatorii web utilizeaza  JavaScript in site-uri si aplicatii web pentru a efectua sarcini suplimentare pe care limbajul HTML nu le poate efectua. De exemplu poate efectua meniuri interactive sau poate detecta intrarile de la tastatura a utilizatorilor. Si pentru ca este un limbaj client-side, functiile JavaScript si calculele se  executa repede, deoarece  informatiile nu trebuie sa navigheze pe Internet.
Desi au denumire similara JavaScript si limbajul de programare Java au foarte  putine elemente  in comun.
Ajax si jQuery
AJAX se defineste ca fiind o grupare de tehnici de dezvoltare web care accesorizeaza limbajul
JavaScript si care permite paginilor web sa fie mai interactive si sa se comporte ca aplicatii locale (client-side).  Altfel spus,  AJAX permite unei pagini web preluarea de date de pe server fara a reincarca toata pagina.
JQuery este o librarie JavaScript opensource, utilizata de dezvoltatorii web pentru a efectua interactiuni Ajax in paginile web.
Flash
Flash -ul este o tehnologie multimedia care permite dezvoltatorilor web sa includa animatii simple si complexe precum si continut interactiv in site-urile si aplicatiile pe care le dezvolta. O animatie in format de fisier Flash utilizeaza extensia .swf. Flash-urile pot contine deasemenea  sunete si video. Un web site poate folosi partial fisiere flash integrate in continutul html al paginilor sale sau poate fi realizat in totalitate in flash.
ActionScript
ActionScript este limbajul de programare care este folosit in Adobe Flash si care este utilizat in principal pentru  controlul Movie Clips, butoane, text, sunete si video in Flash.  Este asemanator cu limbajul JavaScript amintit mai sus si este folosit in realizarea flash-urilor dinamice, complexe care necesita mai mult decat o simpla animatie.
Tehnologii Folosite in Dezvoltare Software (Aplicatii Desktop)
C#
C# este un limbaj de programare simplu, modern, orientat pe obiecte, compatibil cu platforma Microsoft .NET. Sintaxa acestuia este similara cu cea a limbajelor  C, C++, insa, spre deosebire de acestea, limbajul C# simplifica mult scrierea de programe pentru sistemul de operare Windows.  C# furnizeaza gestiune automata de memorie, lucru pe care C si C++ nu il fac.
WPF
WPF (Windows Presentation Foundation)  reprezinta un limbaj ce permite realizarea de interfete grafice avansate pentru aplicatiile Windows. Initial a fost lansat ca parte integranta din .NET 3.0 si este construit direct pe platforma Direct X, care furnizeaza accelerare hardware si efecte grafice moderne: transparente, gradienti, transformari. WPF furnizeaza un model de programare consistent, care separa interfata grafica de logica de programare.
WCF
WCF reprezinta ultima platforma lansata de Microsoft, ce permite unei aplicatii sa expuna servicii care pot fi consumate de alte aplicatii. WCF reprezinta un limbaj de programare unificat, care combina cele mai avansate functionalitati ale Serviciilor Web XML, .NET Remoting, MSMQ si COM+. Datorita acestui aspect, WCF asigura interoperabilitate intre servicii.
Silverlight
Silverlight  furnizeaza platforma necesara pentru a realiza aplicatii media de inalta calitate pentru web. Aceasta ruleaza pe majoritatea browser-elor existente: Internet Explorer, Mozilla Firefox, Apple Safari, Opera. Pentru a putea rula in browser o aplicatie Silverlight este necesara instalarea plugin-ului de Silverlight, lucru care este realizat destul de rapid, data fiind dimensiunea mica a acestuia.


S11: 12.12

Fie urmatoarea secventa de cod:
EXEMPLUL 1: 
<?php
print "Salut";
print "Acesta este un script simplu";
?>
Probabil v-ati astepta ca rezultatul sa fie un text afisat pe 2 linii. Salvand aceasta secventa intr-un fisier PHP si accesandu-l prin intermediul unui web-server, veti observa ca rezultatul este urmatorul: 
SalutAcesta este un script simplu
 
<?php
/* forma recomandata */
?> 

Codul PHP trebuie inclus in fisiere cu extensia .php ce vor fi deservite utilizatorilor finali si trebuie delimitat de restul continutului prin tagul de inceput <?php si tagul de sfarsit ?>.
Practic tot ce se afla in interiorul acestor etichete va fi interpretat ca fiind cod-sursa PHP (cod ce va fi executat de interpretorul PHP).

Sa rescriem exemplul de mai sus pentru a se afisa si caracterul "sfarsit de linie"
EXEMPLUL 2:
<?php
print "Salut"; 
print "\n"; # se afiseaza caracterul "new-line" care determina trecerea la un rand nou
# randul nou va fi afisat in textul trimis catre browser 
print "Acesta este un script simplu";
?>
EXEMPLUL 3:
<?php
print "Salut";
print "\n"; # se afiseaza caracterul "new-line" care determina trecerea la un rand nou
# randul nou va fi afisat in textul primit de browser (vizibil in sursa HTML)
 
print "<br>"; # se afiseaza tagul BR ce va fi interpretat de browser ca 'linie noua'
# linia noua va fi afisata in pagina finala HTML dupa ce este interpretata de 
# browser si nu are nici o legatura cu \n
 
print "Acesta este un script simplu";
?> 
Sursa paginii arata in felul urmator: 
Salut
<br>Acesta este un script simplu 
Comentariile sunt portiuni de cod care nu se executa.  
Sunt folosite de programatori de regula pentru a da diverse explicatii despre logica aplicatiei, variabile si altele.  
Comentariile nu afecteaza executia unui script si pot fi sterse din cod fara nici un efect.  

EXEMPLUL 4: 
<?php  
// exemplu gresit de comentariu PHP 
/* comentariu /* altul */ inapoi la primul */
 ?>
SARCINA DE LUCRU: 

SCRIETI URMATORUL COD. CE AFISEAZA?
<?php
print "1";
print "2";
print "3";
?> 
 


In limbajul PHP, la fel ca in oricare alt limbaj de programare, instructiunile cuprinse intr-o secventa de cod-sursa se executa succesiv, una dupa alta.
Exista insa anumite instructiuni care modifica ordinea de executie a liniilor de cod. Din acest motiv ele poarta numele de structuri de control, intrucat ele controleaza fluxul de executie.

Structurile de control din PHP sunt:
  • structura alternativa (instructiunea if cu variantele ei), 
  • structura de selectie multipla (switch), 
  • structuri repetitive (for, while, do... while, foreach), 
  • structuri de intrerupere a fluxului (break, continue, return), 
  • structura de salt neconditionat (goto), 
  • directivele de includere (include, require) si 
  • directiva declare.

Cea mai des intalnita structura de control este instructiunea if.
Aceasta este folosita pentru a executa o secventa de cod in functie de valoarea de adevar a unei conditii.
Sintaxa este prezentata mai jos:
 if( conditie ) instructiune 1; 
Aceasta forma permite executarea unei instructiuni numai daca este indeplinita o conditie.
Conditia poate fi orice expresie de genul "2 mai mic decat 3", "variabila $a este definita", s.a. tradusa in limbajul PHP.
Instructiunea de executat poate fi simpla (o singura instructiune) sau un bloc (mai multe instructiuni delimitate de acolade).
Regula este ca atunci cand este nevoie sa se execute mai mult de o instructiune, trebuie obligatoriu creat un bloc (trebuie folosite acoladele).
 
EXEMPLUL 5:
<?php
if( 2 < 4 )  
    print "2 e mai mic decat 4 <br />";
if( 3 > 1 )  
   { print "3 e mai mare ca 1 \n";  
      print "<br />";
     }  
?>

Instructiunea if - else

De multe ori este nevoie sa se specifice si o operatie ce trebuie efectuata daca nu este indeplinita o conditie. In acest caz se foloseste if - else
             if( conditie ) instructiune 1;
                         else instructiune 2;
Aceasta forma permite executarea unei instructiuni atunci cand se indeplineste conditia sau executarea alteia diferite in caz contrar.
<?php
echo "Este 3 mai mic decat 2? <br />\n";
if( 3 < 2 ) {
       print "Da, 3 < 2 - prima linia <br />";
       print "Da, 3 < 2 - a doua linie <br />";
             } 
       else {
       print "Nu, 3 > 2 - prima linia <br />";
       print "Nu, 3 > 2 - a doua linie <br />";
          }
?>