Sari la conținut

Dezvoltare web

De la Wikipedia, enciclopedia liberă

Dezvoltarea web este un termen larg, care cuprinde orice activitate legată de dezvoltarea unui site web pentru World Wide Web sau internet.[1] Aceasta poate include dezvoltarea afacerilor prin comerț electronic (e-commerce),[2] web design, dezvoltarea de conținut web, programare specifică, configurarea serverelor web, etc. Dezvoltarea web include atât realizarea unor simple pagini web statice cu text, până la cele mai complexe aplicații Internet, afaceri electronice (ebusiness), sau servicii de rețele sociale.

Pentru afacerile și organizațiile mai mari, echipele de dezvoltatori web pot avea sute de specialiști. Organizațiile mai mici pot necesita chiar și o singură persoană, permanent sau cu contract temporar, sau încă o persoană designer specializat în editare grafică și/sau un tehnician pentru sisteme informaționale. Dezvoltarea web poate fi un efort colaborativ între mai multe departamente sau o activitate specifică unui singur departament specializat.

Industria dezvoltării web

[modificare | modificare sursă]
Cronologia dezvoltării web

Începând cu mijlocul anilor 1990, dezvoltarea web a fost una din industriile cu rata de dezvoltare cea mai mare.[3] În 1995 erau mai puțin de 1.000 companii de dezvoltatori web doar în Statele Unite ale Americii, iar în 2005 erau peste 30.000 astfel de companii. Industria dezvoltării web se așteaptă să crească cu peste 20% în următorii ani. Creșterea acestei industrii este ajutată de marile afaceri care doresc să își vândă produsele și serviciile clienților într-un mod automat.[4]

În plus, costul dezvoltării siturilor web și a găzduirii a scăzut dramatic în acest timp. În loc să coste zeci de mii de dolari, ca în cazul siturilor de început, acum se poate dezvolta un sit web simplu pentru mai puțin de 1.000 USD, în funcție de complexitate și mărimea conținutului. Companiile de dezvoltare situri web mai mici pot acum să ofere servicii de web design accesibile atât companiilor mici cât și persoanelor individuale permițând dezvoltarea pe mai departe a industriei de profil. Există multe sisteme pentru dezvoltarea web disponibile în mod gratuit. Un exemplu binecunoscut este LAMP (Linux, ApacheMySQLPHP),[5] care este de obicei oferit gratuit. Aceasta a ajutat peste tot în lume la instalarea zilnică a noi situri web contribuind astfel la creșterea popularității siturilor web. Un alt factor contributiv a fost creșterea ușurinței în folosirea software WYSIWYG pentru dezvoltarea web, în special Adobe Dreamweaver sau Microsoft Expression Studio (fostul Microsoft Frontpage) . Prin folosirea acestor software practic oricine poate dezvolta o pagină web în câteva minute. Cunoașterea HyperText Markup Language (HTML) sau a altor limbaje de programare nu mai este necesară, dar este recomandabilă pentru a obține rezultate profesioniste.

Următoarea generație de instrumente pentru dezvoltarea web folosesc creșterea puternică a tehnologiilor LAMP și .net de la Microsoft pentru a rula pe web aplicații online. Dezvoltatorii web livrează acum aplicații ca servicii web care erau în mod tradițional disponibile ca aplicații pe calculatorul de birou.

În loc să se ruleze cod executabil pe un calculator local, utilizatorii interacționează cu aplicațiile online pentru a crea conținut nou. Aceasta a creat metode noi de comunicare și a permis descentralizarea informației și distribuirea media. Utilizatorii pot acum să interacționeze cu aplicații din multe locații, în loc să se limiteze doar la o stație de lucru pentru mediul lor de aplicație.

Exemple de transformare dramatică în comunicații și comerț determinate de dezvoltarea webului includ și comerțul electronic.[6] Siturile de licitații online precum eBay au schimbat modul de consum și cumpărare a bunurilor și serviciilor de către clienți. Intermediarii online precum Amazon.com și Buy.com (printre mulți, mulți alții) au schimbat modul tradițional de a face cumpărături. Un alt exemplu ilustrativ de schimbare în modul de comunicare determinată de dezvoltarea web este blogul. Aplicații web precum MovableType și WordPress au realizat medii de blog ușor de implementat pentru situri web individuale. Conținuturi în sursă deschisă precum Typo3, Xoops, Joomla! și Drupal au extins dezvoltarea web spre noi modalități de interacție și comunicare

Codare pe partea de client

[modificare | modificare sursă]
  • AJAX – Oferă noi metode de folosire a Javascript, PHP, și ale limbaje pentru a îmbunătăți  experiența utilizatorului.[7]
  • Adobe Flash – Playerul Flash este o platformă omniprezentă pentru RIA. Flex 2 a fost de aemenea inclus în Playerul Flash (versiunea 9+).
  • Javascript – Denumită înainte EMCAScript, Javascript un instrument de programare client omniprezent.
  • Microsoft Silverlight – Plugin de browser al lui Microsoft care permite animația, grafica vectorială și payback video de înaltă definiție, programat folosind limbajele de programare XAML și .NET.[8]

Codare pe partea de server

[modificare | modificare sursă]

World Wide Web a devenit o importantă platformă pentru dezvoltarea web a multor aplicații de întreprindere complexe și sofisticate, în mai multe domenii. În plus față de funcționalitatea lor multi-fațetă inerentă , aceste aplicatii web implică un comportament complex și unele cerințe unice pentru gusabilitate, performanță, securitate și capacitatea de a crește și evolua. Cu toate acestea, marea majoritate a acestor aplicații continuă să fie dezvoltate într-un mod ad-hoc, contribuind la problemele de usabilitate, mentenabilitate, calitate și fiabilitate. În timp ce dezvoltarea web poate beneficia de practici stabilite de alte discipline conexe, are anumite caracteristici distinctive care necesită considerații speciale. În ultimii ani de dezvoltare web au existat unele evoluții în direcția soluționării acestor probleme și cerințe. Ca o disciplină în curs de dezvoltare, ingineria web promoveaza în mod activ abordări sistematice, disciplinate și cuantificabile pentru dezvoltarea cu succes a sistemelor și aplicațiilor web de calitate, cu usabilitate omniprezentă. În special, ingineria web se concentrează asupra metodologiilor, tehnicilor și instrumentelor care stau la baza dezvoltării de aplicații web și care susțin proiectarea, dezvoltarea, evoluția, și evaluarea lor. Dezvoltarea de aplicații web are anumite caracteristici care o fac diferită de software-ul tradițional, sistemul informațional, sau dezvoltarea de aplicații de calculator.

Ingineria web[9] este multidisciplinară și cuprinde contribuțiile din diverse domenii: analiza si proiectarea sistemelor, inginerie, ingineria hipermedia / hipertext, ingineria cerințelor, interacțiunea om-calculator, interfața cu utilizatorul, ingineria informațiilor, indexarea și regăsirea informațiilor, testarea, modelarea și simularea, managementul proiectelor, și proiectarea și prezentarea grafică. Ingineria web nu este nici o clona, nici un subdomeniu al ingineriei software, deși ambele implică programarea și dezvoltarea de software. În timp ce ingineria web utilizează principii ale ingineriei software, dezvoltarea web cuprinde noi abordări, metodologii, instrumente, tehnici, și linii directoare pentru a îndeplini cerințele unice pentru aplicatii web.

Elemente ale codificării pe partea de server:

  • ASP (proprietate Microsoft)
  • ActiveVFP (sursă deschisă)
  • CSP, ANSI C partea de server
  • ColdFusion (proprietate Adobe, fostă Macromedia, anterior Allaire)
  • CGI
  • Erlang, cu setul de soluții Linux, Yaws, Mnesia, Erlang (LYME)
  • Groovy (limbaj de programare) Grails (cadru)
  • Java, de exemplu Java EE sau WebObjects
  • Lotus Domino
  • Node.js
  • Perl, de exemplu Catalizator, Dancer sau Mojolicious (toate sursă deschisă)
  • PHP (sursă deschisă)
  • Python, de exemplu Django (cadru web) (sursă deschisă)
  • Real Studio Web Edition
  • Ruby, de exemplu Ruby on Rails (sursă deschisă)
  • Smalltalk de exemplu Litoral, AIDA / Web
  • SSJS Server-Side JavaScript, de exemplu Aptana Jaxer, Mozilla Rhino
  • WebDNA (proprietate WSC)
  • Websphere (proprietate IBM)
  • .net și. .NET MVC Frameworks (proprietate Microsoft)

Codare partea de server și client

[modificare | modificare sursă]
  • Google Web Toolkit oferă instrumente pentru a crea și menține aplicații complexe JavaScript front-end în Java.
  • Dart oferă instrumente pentru a crea și menține aplicații complexe JavaScript front-end, și ajută codare pe partea de server în limbajul de programare Dart.
  • Opa este un limbaj de nivel înalt, în care sunt implementate atât partea de client cât și cea de server. Compilatorul apoi decide ce componente va rula pe client (și sunt traduse automat pentru JavaScript) și care vor rula pe server. Dezvoltatorul poate regla aceste decizii cu instrucțiuni simple. (sursă deschisă)
  • Pyjamas este un instrument și un cadru pentru dezvoltarea de aplicatii Ajax și RIA în Python.
  • Tersus este o platformă pentru dezvoltarea de aplicatii RIA, prin definirea vizuală a interfeței cu utilizatorul, a comportamentului pe partea de client, și prelucrare pe partea de server. (sursă deschisă)

Cu toate acestea, limbaje precum Ruby și Python sunt de multe ori asociate cu serverele de baze de date, altele decât MySQL (M în LAMP). Alte baze de date sunt de asemenea utilizate în prezent pe scară latgă pe web. De exemplu, unii dezvoltatori preferă configurarea unui LAPR (Linux / Apache / PostgreSQL / Ruby on Rails) pentru dezvoltare.

Considerente de securitate

[modificare | modificare sursă]

Dezvoltarea web are în vedere mai multe considerente de securitate, cum ar fi verificarea erorilor la introducerea de date prin formulare, filtrarea ieșirilor, și criptarea.[10] Practicile rău intenționate, cum ar fi injecția SQL, pot fi executate de către utilizatori cu intenții răuvoitoare, chiar dacă pot avea cunoștințe doar primitive de dezvoltare web per ansamblu. Scripturile pot fi folosite pentru a exploata siturile web prin obținerea accesului neautorizat al utilizatorilor de malware care încearcă să colecteze informații, cum ar fi adrese de email, parole și conținut protejat, precum numere de carduri de credit.

O parte din acestea depind de mediul serverului (cel mai frecvent Apache sau Microsoft IIS) pe care limbajul de scripting, cum ar fi PHP, Ruby, Python, Perl sau ASP, se execută, și, prin urmare, nu este ține de dezvoltatorul web problema securității. Cu toate acestea, testarea strictă de aplicații web, înainte de lansarea publică, este încurajată, pentru a preveni astfel de exploatări. În cazul în care un anumit formular de contact este prevăzut într-un sit web, ar trebui să se includă un câmp captcha în acesta, care împiedică programe automate de calculator să completeze formularul și trimiterea automată de spam.[11]

Păstrarea un server web în condiții de siguranță împotriva intruziunii este adesea numită Server Port Hardening. Multe tehnologii sunt folosite pentru a păstra informațiile de pe internet în condiții de siguranță atunci când se fac transmisii de la o locație la alta. De exemplu, certificatele Secure Socket Layer (criptare SSL) sunt emise de autoritățile de certificare pentru a ajuta la prevenirea fraudelor pe internet. Mulți dezvoltatori folosesc adesea diferite forme de criptare la transmiterea și stocarea informațiilor sensibile. O înțelegere de bază a preocupărilor legate de securitate în domeniul tehnologiei informației este de multe ori o parte a cunoștințelor unui dezvoltator web.

  1. ^ SetThings (). „Dezvoltarea web”. SetThings. Accesat în . 
  2. ^ „Retail e-commerce sales CAGR forecast in selected countries from 2016 to 2021”. Statista. octombrie 2016. Accesat în . 
  3. ^ SetThings (). „Industria dezvoltării web”. SetThings. Accesat în . 
  4. ^ Bureau of Labor Statistics, U.S. Department of Labor. „Information Security Analysts, Web Developers, and Computer Network Architects”. Occupational Outlook Handbook, 2012-13 Edition. Accesat în . 
  5. ^ „LEMP Stack (Linux, Nginx, MySQL, PHP)”. lemp.io. Accesat în . 
  6. ^ Kawa, Arkadiusz (). „Fulfillment Service in E-Commerce Logistics”. Logforum. 13 (4): 429–438. doi:10.17270/J.LOG.2017.4.4. 
  7. ^ SetThings (). „Modalități de comunicare a cunoașterii”. SetThings.com. Accesat în . 
  8. ^ Davoust, Emmanuel. "A hundred years of science at the Pic du Midi Observatory". arXiv:astro-ph/9707201
  9. ^ Engineering Web Applications", by Sven Casteleyn, Florian Daniel, Peter Dolog and Maristella Matera, Springer, 2009, ISBN: 978-3-540-92200-1
  10. ^ SetThings (). „Considerente de securitate în dezvoltarea web”. SetThings.com. Accesat în . 
  11. ^ „Information Security: A Growing Need of Businesses and Industries Worldwide”. University of Alabama at Birmingham Business Program. Accesat în . 

Legături externe

[modificare | modificare sursă]