Tendințe tehnologice în dezvoltarea web 2019

Introducere

Transformarea digitală acoperă în fiecare an din ce în ce mai multe domenii ale vieții și afacerilor. Dacă o afacere vrea să fie competitivă, site-urile de informații obișnuite nu mai sunt suficiente; sunt necesare aplicații mobile și web care nu doar oferă utilizatorilor informații, ci permit și îndeplinirea unor funcții: achiziționarea de produse și servicii, furnizarea de instrumente.

Tendințe tehnologice în dezvoltarea web 2019

De exemplu, băncilor moderne nu le mai este suficient să aibă un site cu informații; trebuie să aibă instrumente online pentru clienții lor, un cont personal unde utilizatorul poate gestiona conturile, investițiile, împrumuturile. Chiar și pentru micile afaceri, pentru creșterea conversiei, sunt necesare instrumente convenabile, cum ar fi programarea la medic sau la frizer, rezervarea unei mese la un restaurant sau a unei camere de joacă pentru copii pentru organizarea unei petreceri de ziua de naștere.

De asemenea, proprietarii trebuie să primească informații la timp, într-un format convenabil, despre starea companiei lor, de exemplu, colectarea de date statistice și analize pe diferite departamente de producție sau despre productivitatea acestora. Adesea, fiecare departament colectează aceste date în modul său, și pot folosi chiar instrumente diferite, iar proprietarul trebuie să își piardă mult timp personal pentru a se descurca cu toate acestea, ceea ce poate influența indirect sau direct eficiența companiei și, în cele din urmă, profitabilitatea. Aici, de asemenea, transformarea digitală și dezvoltarea unei aplicații web sau mobile pot ajuta.

Tehnologia nu stă pe loc și se dezvoltă constant, iar ceea ce era utilizat acum câțiva ani poate fi deja depășit astăzi sau ceea ce nu era posibil acum câțiva ani a devenit o realitate. Există un număr mai mare de instrumente moderne care ajută la crearea aplicațiilor web și mobile mai rapid și de o calitate superioară. Bazându-mă pe observațiile și experiența mea personală, vreau să împărtășesc viziunea mea despre tehnologiile și instrumentele care vor fi căutate în viitorul apropiat și motivul pentru care merită atenția în crearea unei aplicații web moderne.

Single page application (aplicații cu o singură pagină)

Să stabilim puțin terminologia. O aplicație web de tip Single Page Application (SPA) este o aplicație web ale cărei componente sunt încărcate o singură dată pe o pagină, iar conținutul este încărcat la nevoie. Astfel, la trecerea între secțiunile aplicației, pagina nu se reîncărca complet, ci doar sunt preluate și afișate datele necesare.

Aplicațiile de tip SPA câștigă mult în ceea ce privește viteza de funcționare și ușurința în utilizare comparativ cu aplicațiile web clasice. Cu ajutorul SPA-urilor se poate obține efectul unei experiențe web similar cu cea a aplicațiilor desktop, fără reîncărcări și întârzieri semnificative.

Dacă acum câțiva ani aplicațiile de tip SPA aproape că nu suportau optimizarea pentru motoarele de căutare și erau folosite în principal pentru crearea de conturi personale și panouri de administrare, în prezent este mult mai simplu să creezi o aplicație SPA cu suport complet pentru optimizarea SEO. Folosind aplicații SPA cu randare pe server, această problemă a dispărut complet. Cu alte cuvinte, este la fel o aplicație SPA, dar la prima cerere, serverul generează nu doar date, ci creează o pagină HTML gata de afișare, iar motoarele de căutare primesc pagini complet formatează cu întreaga meta-informație și marcaj semantic.

Odată cu dezvoltarea instrumentelor pentru crearea aplicațiilor web client, dezvoltarea și trecerea la aplicații de tip SPA în acest an și în anii următori va continua să crească. Dacă aveți o aplicație veche care este moral depășită și funcționează lent, cu o reîncărcare completă a paginii la trecerea între secțiuni, atunci anul acesta puteți să treceți cu încredere la o aplicație SPA rapidă – acum este un moment bun, tehnologiile permit să faceți acest lucru rapid și de calitate.

A avea un site web modern și rapid este foarte bine, dar vreau să vă informez sincer: nu toate aplicațiile pot fi ușor transformate în aplicații de tip SPA, iar tranziția poate fi costisitoare! Așadar, trebuie să înțelegeți cui și de ce îi este necesară această tranziție.

Pentru a vă ajuta să înțelegeți, în tabelul de mai jos voi prezenta câteva exemple când dezvoltarea sau tranziția la SPA este justificată și când nu.

ZA

Dacă doriți să creați o aplicație modernă și rapidă și doriți să fie utilizată nu doar versiunea web, ci și cea mobilă sau chiar desktop, iar toate procesele și calculările să se desfășoare pe un server remote sau în cloud. Și să fie astfel încât toți clienții să aibă o interfață unică de interacțiune și să nu fie necesar să modificați codul serverului de fiecare dată când adăugați un nou client.

De exemplu: rețele sociale, agregatoare, platforme SaaS (software ca serviciu în cloud), piețe online.

Dacă aveți un magazin sau un serviciu web, știți că acesta este lent și oamenii pleacă, doriți să îl faceți mai rapid, înțelegeți valoarea clienților și sunteți dispuși să plătiți pentru un upgrade de la un milion de ruble.

Aveți o aplicație mobilă care folosește API-ul site-ului, iar site-ul în sine este lent și are reîncărcări complete ale conținutului atunci când se navighează între pagini.

ÎMPOTRIVĂ

Dacă publicul țintă nu folosește browsere și dispozitive moderne.

De exemplu: domenii corporative specifice, cum ar fi dezvoltarea sistemelor interne pentru bănci, instituții medicale și educație.

Activitatea principală o desfășurați offline și nu sunteți pregătiți să oferiți servicii online și trebuie pur și simplu să atrageți clienți.

Dacă aveți un magazin online sau un serviciu web care vinde deja bine, nu vedeți fluxuri de clienți și reclamații.

Dacă aveți o aplicație funcțională care nu poate fi adaptată la SPA și trebuie pur și simplu să fie rescrisă complet de la zero, folosind alte tehnologii, iar dvs. nu sunteți pregătiți să investiți câteva milioane.

De exemplu: aveți un site pe suport sau un cod vechi, monolitic, scris de mână.

Aplicații Web Progresive

Aplicațiile web progresive (PWA) sunt produsul evoluției comune a aplicațiilor native și a site-urilor web. Practic, acestea sunt aplicații web care arată și se comportă ca aplicații native reale, pot primi notificări push, funcționa offline etc. În plus, utilizatorul nu trebuie să descarce aplicația din AppStore sau Google Play, ci doar să o salveze pe desktop.

Ca tehnologie sau abordare de dezvoltare, PWA s-a dezvoltat din 2015 și, în ultima vreme, câștigă o popularitate enormă în domeniul e-commerce.

Câteva exemple reale din viață:

  • Anul trecut, hotelul Best Western River North, după lansarea unui nou site cu suport PWA, a reușit să își crească veniturile cu 300%;
  • OpenSooq.com, un site arab de tip Avito, după ce a implementat suport PWA, a reușit să crească timpul de vizitare al site-ului cu 25% și numărul de leads cu 260%;
  • Cunoscutul serviciu de întâlniri Tinder a reușit să reducă timpul de încărcare de la 11,91 s la 4,69 s, dezvoltând PWA; în plus, aplicația are o greutate cu 90% mai mică decât echivalentul său nativ pentru Android.

Un indiciu că merită să ne concentrăm asupra acestei tehnologii este și faptul că unul dintre cele mai mari motoare pentru crearea de proiecte de e-commerce, Magento, a lansat în 2018 o versiune dev-kit a PWA Studio. Platforma permite crearea front-end-ului pe baza React pentru soluții de e-commerce cu suport PWA 'din cutie'.

Un sfat pentru cei care au deja un proiect online sau doar o idee de serviciu nou cu suport pentru dispozitive mobile: nu vă grăbiți să scrieți o aplicație nativă completă, ci mai întâi aruncați o privire asupra tehnologiei PWA. Poate fi cea mai bună soluție în ceea ce privește raportul calitate-preț pentru produsul dumneavoastră.

Puțin din practică. Pentru a crea o aplicație mobilă nativă simplă de știri, având în vedere că există deja un server REST pregătit, sunt necesare aproximativ 200-300 de ore om la fiecare platformă. La un preț mediu de piață de 1500-2000 ruble/oră, aplicația poate costa în jur de 1 milion de ruble. Dacă se dezvoltă o aplicație web cu suport complet PWA: notificări push, mod offline și alte funcții, atunci dezvoltarea va dura 200-300 de ore om, dar produsul va fi disponibil imediat pe toate platformele. Asta înseamnă o economie de aproximativ 2 ori, fără a menționa că nu va fi nevoie să plătiți taxe pentru publicația în magazinele de aplicații.

Serverless

Aceasta este o altă abordare modernă pentru dezvoltare. Datorită denumirii, mulți cred că este vorba într-adevăr despre dezvoltarea fără servere, că nu este necesar să scrieți cod back-end și că orice dezvoltator front-end poate crea o aplicație web completă. Dar nu este așa!

At crearea unei aplicații Serverless, serverul și baza de date sunt în continuare necesare. Principala diferență a acestui mod de abordare este că codul back-end este prezentat sub formă de funcții cloud (un alt nume pentru serverless este FaaS - Functions-as-a-Service) și permite aplicației să se scaleze rapid și ușor. În crearea unei astfel de aplicații, dezvoltatorul se poate concentra pe sarcinile de afaceri și nu trebuie să se gândească la scalarea și configurarea infrastructurii, ceea ce, ulterior, accelerează dezvoltarea aplicației și îi reduce costurile. Mai mult, abordarea Serverless va ajuta la economisirea pe chirie servere, deoarece folosește exact resursele necesare pentru a îndeplini sarcina, iar dacă nu există sarcină, timp server nu este folosit și, prin urmare, nici plătit.

De exemplu, compania media americană Bustle a reușit să reducă cheltuielile cu hosting peste 60% prin trecerea la Serverless. Iar compania Coca-Cola, în dezvoltarea unui sistem automatizat de vânzare a băuturilor prin automate, a reușit să scadă costurile de hosting de la 13.000 $ la 4.500 $ pe an datorită trecerii la Serverless.

În ultimii câțiva ani, din cauza noutății și limitărilor sale, Serverless a fost folosit în principal pentru proiecte mici, startup-uri și MVP-uri, dar astăzi, datorită evoluției software-ului, versatilității și puterii containerizării serverelor, apar instrumente care permit eliminarea limitărilor, simplificarea și accelerarea dezvoltării aplicațiilor cloud.
Aceasta înseamnă că scenariile de afaceri corporative în care modernizarea cloud-ului era anterior considerată imposibilă (de exemplu, pentru dispozitivele periferice, datele transmise sau aplicațiile cu starea păstrată), sunt acum o realitate. Instrumente promițătoare sunt kNative și Serverless enterprise.

Dar, cu toate acestea, Serverless nu este un panaceu pentru dezvoltarea aplicațiilor web. Ca orice altă tehnologie, are propriile sale avantaje și dezavantaje, iar alegerea acestui instrument trebuie făcută cu înțelegere și nu „să bați cuie cu un microscop”, doar pentru că este mai tehnologic.

Pentru a vă ajuta să înțelegeți, iată câteva exemple când ar trebui să luați în considerare Serverless în dezvoltarea unui nou serviciu web sau în îmbunătățirea unuia existent:

  • Când încărcătura serverului are un caracter periodic și plătiți pentru timpii de inactivitate. De exemplu, am avut un client cu o rețea de automate de cafea care trebuia să proceseze solicitări și să colecteze statistici doar de câteva sute sau mii de ori pe zi, iar noaptea numărul cererilor scădea la câteva zeci. În acest caz, este mult mai eficient să plătiți doar pentru utilizarea reală a resurselor, așa că am propus și implementat o soluție pe Serverless;
  • Dacă nu intenționați să vă implicați în detaliile tehnice ale infrastructurii și să plătiți prea mult pentru configurarea și suportul serverelor și al echilibratorului de încărcătură. De exemplu, atunci când dezvoltați un marketplace, nu știți exact care va fi traficul sau, dimpotrivă - planificați un trafic ridicat și doriți ca aplicația dumneavoastră să suporte cu siguranță încărcătura, atunci Serverless este o alegere excelentă.
  • Dacă trebuie să executați anumite evenimente în flux în cadrul aplicației principale, să înregistrați date secundare în tabele, să efectuați anumite calcule. De exemplu, să colectați date analitice despre acțiunile utilizatorului, să le procesați într-un mod specific și să le salvați în baza de date;
  • Dacă trebuie să simplificați, să unificați sau să accelerați munca actuală a aplicației. De exemplu, să creați servicii care îmbunătățesc performanța în procesarea imaginilor sau video, când utilizatorul încarcă un videoclip în cloud, iar transcodificarea este gestionată de o funcție separată, serverul principal continuând să funcționeze în mod normal.

Dacă trebuie să procesați evenimente de la servicii externe. De exemplu, să procesați răspunsuri de la sistemele de plată sau să redirecționați datele utilizatorilor către CRM pentru a accelera procesarea cererilor potențialilor clienți.
Dacă aveți o aplicație mare și unele părți ale aplicației pot fi implementate mai optim folosind un limbaj diferit față de cel principal. De exemplu, aveți un proiect pe Java și trebuie să adăugați o nouă funcționalitate, iar mâinile libere sunt insuficiente sau implementarea în acest limbaj poate durează mai mult timp și există deja o soluție pe alt limbaj, atunci Serverless vă poate ajuta și în acest sens.

Aceasta nu este toată lista de instrumente și tehnologii care merită atenție, am împărtășit doar ceea ce folosim zilnic în muncă și știm cu siguranță cum pot ajuta afacerea.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster