Tendințe în tehnologie de dezvoltare web 2019

Introducere

Transformarea digitală acoperă din ce în ce mai multe domenii diferite ale vieții și afacerii în fiecare an. Dacă o afacere vrea să fie competitivă, site-urile obișnuite de informare nu mai sunt suficiente, sunt necesare aplicații mobile și web care nu doar să ofere utilizatorilor informații, ci să le permită și să îndeplinească anumite funcții: să primească sau să comande bunuri și servicii, să ofere instrumente.

Tendințe în tehnologie de dezvoltare web 2019

De exemplu, nu mai este suficient ca băncile moderne să aibă un site web cu informații, ele trebuie să aibă instrumente online pentru clienții lor, un cont personal în care utilizatorul să poată administra conturi, investiții și împrumuturi. Chiar și întreprinderile mici au nevoie de instrumente convenabile pentru a crește conversiile, cum ar fi programarea la medic sau la coafor sau rezervarea unei mese la un restaurant sau la o cameră de joacă pentru copii pentru o petrecere de naștere.

Și proprietarii înșiși trebuie să primească informații în timp util într-o formă convenabilă despre starea companiei lor, de exemplu, colectarea de date statistice și analize pentru diferite departamente de producție sau productivitatea departamentelor. Adesea, fiecare departament colectează aceste date în felul său și poate chiar să folosească instrumente diferite, iar proprietarul trebuie să petreacă mult timp personal pentru a înțelege toate acestea, indirect sau direct, acest lucru poate afecta eficiența companiei și, în cele din urmă, profitul. Transformarea digitală și dezvoltarea de aplicații web sau mobile vor ajuta, de asemenea, aici.

Tehnologiile nu stau pe loc și evoluează constant, iar ceea ce a fost folosit în urmă cu câțiva ani poate să nu mai fie relevant astăzi, sau ceea ce nu se putea face în urmă cu câțiva ani a devenit deja realitate. Există instrumente mai moderne care vă ajută să creați aplicații web și mobile mai rapid și mai bine. Pe baza observațiilor și experienței personale, vreau să vă împărtășesc viziunea mea despre tehnologiile și instrumentele care vor fi solicitate în viitorul apropiat și de ce ar trebui să le acordați atenție atunci când creați o aplicație web modernă.

Aplicație pe o singură pagină

Să definim puțin terminologia. Single Page Application (SPA) este o aplicație web ale cărei componente sunt încărcate o dată pe o singură pagină, iar conținutul este încărcat după cum este necesar. Iar atunci când vă deplasați între secțiuni ale aplicației, pagina nu se reîncarcă complet, ci doar încarcă și afișează datele necesare.

Aplicațiile cu o singură pagină beneficiază foarte mult de aplicațiile web clasice în ceea ce privește viteza și ușurința în utilizare. Cu ajutorul SPA, puteți obține efectul unui site web care funcționează ca o aplicație pe un desktop, fără reporniri și întârzieri semnificative.

Dacă în urmă cu câțiva ani aplicațiile cu o singură pagină practic nu suportau optimizarea pentru motoarele de căutare și erau folosite în principal pentru crearea de conturi personale și panouri de administrare, astăzi crearea unei aplicații pe o singură pagină cu suport complet pentru optimizarea pentru motoarele de căutare (SEO) a devenit mult mai ușoară. Folosind astăzi aplicații cu o singură pagină redate pe server, această problemă a dispărut complet. Cu alte cuvinte, aceasta este aceeași aplicație cu o singură pagină, dar la prima solicitare, serverul nu generează doar date, ci creează o pagină HTML pregătită pentru afișare, iar motoarele de căutare primesc pagini gata făcute cu toate metainformațiile și marcajul semantic. .

Odată cu dezvoltarea instrumentelor pentru crearea de aplicații web pe partea clientului, dezvoltarea și tranziția la aplicații cu o singură pagină vor crește doar în acest an și în anii următori. Dacă aveți o aplicație veche care este învechită și funcționează lent și chiar și cu o reîncărcare completă a paginii atunci când comutați între secțiuni, atunci anul acesta puteți face upgrade la o aplicație rapidă de o pagină - acum este un moment bun, tehnologia vă permite deja pentru a face acest lucru destul de rapid și eficient.

A avea un site web modern și rapid este foarte bine, dar permiteți-mi să vă spun sincer: nu toate aplicațiile pot fi ușor convertite în aplicații cu o singură pagină, iar tranziția poate fi costisitoare! Prin urmare, trebuie să înțelegeți cine are nevoie de o astfel de tranziție și de ce.

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

PENTRU

Dacă vrei să faci o aplicație modernă, rapidă și vrei să folosești nu doar versiunea web, ci și versiunea mobilă sau chiar desktop, iar toate procesele și calculele au loc pe un server la distanță sau cloud. Mai mult, astfel încât toți clienții să aibă o singură interfață de interacțiune și să nu fie nevoie să faceți fiecare modificare a codului serverului atunci când adăugați un nou client.

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

Dacă ai un magazin sau un serviciu web, știi că este lent și oamenii pleacă, vrei să-l faci mai repede, înțelegi valoarea clienților și ești gata să plătești peste un milion de ruble pentru un upgrade.

Aveți o aplicație mobilă care utilizează API-ul site-ului, dar site-ul este lent și are reîncărcări complete de conținut atunci când vă deplasați între pagini

ÎMPOTRIVA

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

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

Vă desfășurați activitățile principale offline și nu sunteți pregătit să oferiți niciun serviciu online și trebuie doar să atrageți clienți.

Dacă aveți un magazin online sau un serviciu web care se vinde deja bine, nu vedeți ieșiri sau plângeri ale clienților

Dacă aveți o aplicație de lucru care nu poate fi adaptată pentru SPA și trebuie doar să rescrieți totul de la zero și să utilizați alte tehnologii și nu sunteți pregătit să cheltuiți câteva milioane pentru asta.

De exemplu: există un site în cutie sau un fel de cod antic, monolitic, scris acasă.

Aplicații web progresive

Aplicațiile web progresive sunt produsul evoluției comune a unei aplicații native și a unui site web. În esență, aceasta este o aplicație web care arată și se comportă ca o aplicație nativă reală, poate primi notificări push, poate lucra în modul offline etc. În acest caz, utilizatorul nu trebuie să descarce aplicația din AppStore sau Google Play, ci pur și simplu să o salveze pe desktop.

Ca tehnologie sau abordare a dezvoltării, PWA se dezvoltă din 2015 și a câștigat recent o popularitate enormă în domeniul comerțului electronic.

Câteva exemple din viața reală:

  • anul trecut, hotelul Best Western River North a reușit să crească veniturile cu 300% după lansarea unui nou site web compatibil PWA;
  • Arabă Avito OpenSooq.com, după ce a creat suport PWA pe site-ul său, a reușit să mărească timpul de vizitare a site-ului cu 25% și numărul de clienți potențiali cu 260%;
  • celebrul serviciu de întâlniri Tinder a reușit să reducă viteza de încărcare de la 11.91s la 4.69s prin dezvoltarea unui PWA; în plus, aplicația cântărește cu 90% mai puțin decât omologul său nativ Android.

Faptul că merită să acordați atenție acestei tehnologii este indicat și de faptul că unul dintre cele mai mari motoare pentru crearea de proiecte de comerț electronic, Magento, a lansat o versiune timpurie de dezvoltare a PWA Studio în 2018. Platforma vă permite să creați un front-end bazat pe React pentru soluțiile dvs. de comerț electronic cu suport PWA.

Sfat pentru cei care au deja un proiect pe Internet sau doar o idee pentru un nou serviciu cu suport pentru dispozitive mobile: nu vă grăbiți să scrieți o aplicație nativă cu drepturi depline, ci mai întâi uitați-vă la tehnologia PWA. Aceasta poate fi cea mai bună soluție raport calitate-preț pentru produsul dvs.

Puțin din practică. Pentru a crea o aplicație mobilă nativă simplă de știri, cu condiția să aveți deja un server REST gata făcut, aveți nevoie de aproximativ 200-300 de ore de lucru pe platformă. Cu prețul mediu de piață pentru o oră de dezvoltare fiind de 1500-2000 de ruble/oră, o aplicație poate costa aproximativ 1 milion de ruble. Dacă dezvoltați o aplicație web cu suport complet pentru PWA: notificări push, modul offline și alte bunătăți, atunci dezvoltarea va dura 200-300 de ore de lucru, dar produsul va fi disponibil imediat pe toate platformele. Adică o economie de aproximativ 2 ori, ca să nu mai vorbim de faptul că nu va trebui să plătești taxe pentru plasarea în magazinele de aplicații.

serverless

Aceasta este o altă abordare modernă a dezvoltării. Din cauza numelui, mulți oameni cred că aceasta este o dezvoltare cu adevărat fără server, nu este nevoie să scrieți cod back-end și orice dezvoltator front-end poate crea o aplicație web cu drepturi depline. Dar asta nu este adevărat!

Când creați o aplicație Serverless, aveți nevoie de un server și de o bază de date. Principala diferență a acestei abordări este că codul back-end este prezentat sub formă de funcții cloud (un alt nume pentru serverless este FaaS, functions as a service sau Functions-as-a-Service) și permite aplicației să se scaleze rapid și uşor. Atunci când creează o astfel de aplicație, dezvoltatorul se poate concentra pe problemele de afaceri și nu se poate gândi la scalarea și configurarea infrastructurii, ceea ce, ulterior, accelerează dezvoltarea aplicației și reduce costul acesteia. Mai mult, abordarea Serverless vă va ajuta să economisiți la închirierea serverelor, deoarece utilizează exact atâtea resurse cât este nevoie pentru a finaliza sarcina, iar dacă nu există încărcare, atunci timpul de server nu este folosit deloc și nu este plătit.

De exemplu, marea companie media americană Bustle a reușit să reducă costurile de găzduire cu peste 60% atunci când a trecut la Serverless. Iar compania Coca-Cola, când a dezvoltat un sistem automat pentru vânzarea băuturilor prin automate, a reușit să reducă costurile de găzduire de la 13000 USD la 4500 USD pe an, trecând la Serverless.

În ultimii câțiva ani, datorită 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 vă permit să eliminați restricțiile, să simplificați și să accelerați dezvoltarea aplicațiilor cloud.
Aceasta înseamnă că scenariile de afaceri ale întreprinderilor în care modernizarea cloudului era considerată anterior imposibilă (de exemplu, pentru dispozitive de vârf, date în tranzit sau aplicații cu stare) sunt acum o realitate. Instrumentele bune care arată multe promițătoare sunt kNative și Serverless enterprise.

Dar, cu toate acestea, Serverless nu este un glonț de argint pentru dezvoltarea de aplicații web. Ca orice altă tehnologie, are avantajele și dezavantajele sale și trebuie să alegeți acest instrument cu înțelegere și „nu loviți cuie cu un microscop” doar pentru că este mai avansat din punct de vedere tehnologic.

Pentru a vă ajuta să vă dați seama, iată câteva exemple de cazuri în care ați putea dori să luați în considerare Serverless atunci când dezvoltați un nou serviciu web sau îmbunătățiți un serviciu web actual:

  • Când încărcarea pe server este periodică și plătiți pentru capacitatea inactivă. De exemplu, aveam un client cu o rețea de aparate de cafea și era necesar să procesăm cererile și să colectăm statistici doar de câteva sute sau mii de ori pe zi, iar noaptea numărul cererilor a scăzut la câteva zeci. În acest caz, este mult mai eficient să plătești doar pentru utilizarea efectivă a resurselor, așa că am propus și implementat o soluție pe Serverless;
  • Dacă nu intenționați să vă scufundați în detaliile tehnice ale infrastructurii și să plătiți în exces pentru configurarea și întreținerea serverelor și a unui echilibrator. De exemplu, atunci când dezvoltați o piață, nu știți exact care va fi traficul sau invers - planificați mult trafic și astfel încât aplicația dvs. să reziste cu siguranță la încărcare, atunci Serverless este o alegere excelentă.
  • Dacă trebuie să efectuați unele evenimente de streaming în aplicația principală, scrieți date secundare în tabele, efectuați câteva calcule. De exemplu, colectați date analitice ale acțiunilor utilizatorului, procesați-le într-un anumit mod și salvați-le într-o bază de date;
  • Dacă trebuie să simplificați, unificați sau accelerați funcționarea curentă a aplicației. De exemplu, creați servicii de îmbunătățire a performanței pentru lucrul cu imagini sau videoclipuri, atunci când utilizatorul încarcă videoclipuri în cloud, iar o funcție separată se ocupă de transcodare, în timp ce serverul principal continuă să funcționeze normal.

Dacă trebuie să procesați evenimente de la servicii terțe. De exemplu, procesați răspunsurile de la sistemele de plată sau redirecționați datele utilizatorilor către CRM pentru a accelera procesarea solicitărilor de la potențiali 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 de cel principal. De exemplu, aveți un proiect în Java și trebuie să adăugați o nouă funcționalitate, dar nu aveți mâini libere, sau implementarea într-o anumită limbă poate dura mai mult și există deja o soluție în altă limbă, atunci Serverless vă poate ajuta si cu asta.

Aceasta nu este întreaga listă de instrumente și tehnologii care merită atenție; am împărtășit doar ceea ce noi înșine folosim în fiecare zi în munca noastră și știu exact cum pot ajuta afacerile.

Sursa: www.habr.com

Adauga un comentariu