Trendovi tehnologije web razvoja 2019

Uvod

Digitalna transformacija svake godine pokriva sve više različitih područja života i poslovanja. Ako poduzeće želi biti konkurentno, obične informativne stranice više nisu dovoljne, potrebne su mobilne i web aplikacije koje korisnicima ne samo da pružaju informacije, već im omogućavaju i obavljanje određenih funkcija: primanje ili naručivanje roba i usluga, pružanje alata.

Trendovi tehnologije web razvoja 2019

Na primjer, modernim bankama više nije dovoljno da imaju web stranicu sa informacijama, već moraju imati online alate za svoje klijente, lični račun na kojem korisnik može upravljati računima, investicijama i kreditima. Čak i malim preduzećima su potrebni praktični alati za povećanje konverzija, kao što je zakazivanje termina kod doktora ili frizera, ili rezervacija stola u restoranu ili dečijoj igraonici za rođendansku zabavu.

I sami vlasnici moraju dobiti pravovremene informacije u prikladnom obliku o stanju svoje kompanije, na primjer, prikupljanje statističkih podataka i analitiku za različite proizvodne odjele ili produktivnost odjela. Često, svako odjeljenje prikuplja ove podatke na svoj način, a može čak i koristiti različite alate i vlasnik mora potrošiti dosta ličnog vremena da sve to shvati, posredno ili direktno to može uticati na efikasnost kompanije i, u konačnici, na profit. Digitalna transformacija i razvoj web ili mobilnih aplikacija također će pomoći ovdje.

Tehnologije ne miruju i stalno se razvijaju, a ono što se koristilo prije nekoliko godina danas možda više nije relevantno, ili ono što se prije nekoliko godina nije moglo učiniti je već postalo stvarnost. Postoje moderniji alati koji vam pomažu da brže i bolje kreirate web i mobilne aplikacije. Na osnovu ličnih zapažanja i iskustva, želim da podelim svoje viđenje koje tehnologije i alati će biti traženi u bliskoj budućnosti i zašto na njih treba obratiti pažnju prilikom kreiranja moderne web aplikacije.

Aplikacija na jednoj stranici

Hajde da malo definišemo terminologiju. Single Page Application (SPA) je web aplikacija čije se komponente učitavaju jednom na jednoj stranici, a sadržaj se učitava po potrebi. A kada se krećete između dijelova aplikacije, stranica se ne učitava u potpunosti, već samo učitava i prikazuje potrebne podatke.

Aplikacije na jednoj stranici imaju velike koristi od klasičnih web aplikacija u smislu brzine i jednostavnosti korištenja. Uz pomoć SPA, možete postići efekat web stranice koja radi kao aplikacija na desktopu, bez ponovnog pokretanja i značajnih kašnjenja.

Ako prije nekoliko godina jednostrane aplikacije praktički nisu podržavale optimizaciju za tražilice i uglavnom su se koristile za kreiranje osobnih računa i administrativnih panela, danas je kreiranje jednostranične aplikacije s punom podrškom za optimizaciju za tražilice (SEO) postalo mnogo lakše. Korištenjem aplikacija za jednu stranicu koje se danas prikazuju na serveru, ovaj problem je potpuno nestao. Drugim riječima, ovo je ista aplikacija za jednu stranicu, ali na prvi zahtjev server ne generiše samo podatke, već kreira HTML stranicu spremnu za prikaz i pretraživači primaju gotove stranice sa svim meta informacijama i semantičkim oznakama .

Sa razvojem alata za kreiranje web aplikacija na strani klijenta, razvoj i prelazak na jednostrane aplikacije samo će rasti u ovoj i narednim godinama. Ako imate staru aplikaciju koja je zastarjela i radi sporo, pa čak i s potpunim ponovnim učitavanjem stranice prilikom prebacivanja između odjeljaka, onda ove godine možete sigurno nadograditi na brzu aplikaciju na jednoj stranici - sada je dobro vrijeme, tehnologija vam već omogućava da to uradi prilično brzo i efikasno.

Imati modernu i brzu web stranicu je jako dobro, ali da vam kažem iskreno: ne mogu se sve aplikacije lako pretvoriti u aplikacije na jednoj stranici, a prijelaz može biti skup! Stoga morate razumjeti kome je potrebna takva tranzicija i zašto.

Da biste lakše razumjeli, u donjoj tabeli ću dati nekoliko primjera kada je razvoj ili prelazak na SPA prikladan i opravdan, a kada nije.

O

Ako želite napraviti modernu, brzu aplikaciju i želite koristiti ne samo web verziju, već i mobilnu ili čak desktop verziju, a svi procesi i proračuni se odvijaju na udaljenom ili cloud serveru. Štaviše, tako da svi klijenti imaju jedno interakcijsko sučelje i nema potrebe za svakim uređivanjem koda servera prilikom dodavanja novog klijenta.

Na primjer: društvene mreže, agregatori, SaaS platforme (softver kao usluga u oblaku), tržnice

Ako imate prodavnicu ili web servis, znate da je spor i da ljudi odlaze, želite da to učinite brže, razumijete vrijednost kupaca i spremni ste platiti preko milion rubalja za nadogradnju.

Imate mobilnu aplikaciju koja koristi API web-lokacije, ali web lokacija je spora i ima potpuno ponovno učitavanje sadržaja kada se krećete između stranica

PROTIV

Ako vaša ciljna publika ne koristi moderne pretraživače i uređaje.

Na primjer: specifične korporativne oblasti, kao što je razvoj internih sistema za banke, medicinske ustanove i obrazovanje.

Svoje glavne aktivnosti obavljate van mreže i niste spremni pružati bilo kakve usluge na mreži, već samo trebate privući kupce.

Ako imate online prodavnicu ili web uslugu koja se već dobro prodaje, ne vidite odliv kupaca ili pritužbe

Ako imate funkcionalnu aplikaciju koja se ne može prilagoditi za SPA i samo trebate sve prepisati ispočetka i koristiti druge tehnologije, a niste spremni potrošiti nekoliko miliona na to.

Na primjer: postoji stranica u kutiji ili neka vrsta drevnog monolitnog koda pisanog kod kuće.

Progresivne web aplikacije

Progresivne web aplikacije su proizvod zajedničke evolucije izvorne aplikacije i web stranice. U suštini, ovo je web aplikacija koja izgleda i ponaša se kao prava nativna aplikacija, može primati push obavijesti, raditi u offline modu itd. U tom slučaju korisnik ne mora preuzeti aplikaciju sa AppStore-a ili Google Play-a, već je jednostavno spremiti na radnu površinu.

Kao tehnologija ili pristup razvoju, PWA se razvija od 2015. godine, a nedavno je stekao ogromnu popularnost u polju e-trgovine.

Neki primjeri iz stvarnog života:

  • prošle godine, hotel Best Western River North uspio je povećati prihod za 300% nakon pokretanja nove web stranice s omogućenom PWA;
  • Arapski Avito OpenSooq.com, nakon kreiranja PWA podrške na svojoj web stranici, uspio je povećati vrijeme posjete stranici za 25% i broj potencijalnih klijenata za 260%;
  • Poznati servis za upoznavanje Tinder uspio je smanjiti brzinu učitavanja sa 11.91 s na 4.69 s razvojem PWA; štoviše, aplikacija je 90% manja od svog izvornog Android kolege.

Da je vredno obratiti pažnju na ovu tehnologiju govori i činjenica da je jedan od najvećih motora za kreiranje e-commerce projekata, Magento, 2018. godine pokrenuo ranu razvojnu verziju PWA Studio. Platforma vam omogućava da iz kutije kreirate React-bazirani frontend za vaša rješenja e-trgovine s PWA podrškom.

Savjet za one koji već imaju internetski projekt ili samo ideju za novu uslugu s podrškom za mobilne uređaje: nemojte žuriti s pisanjem punopravne izvorne aplikacije, već prvo pogledajte PWA tehnologiju. Ovo bi moglo biti najbolje rješenje za vrijednost za novac za vaš proizvod.

Malo iz prakse. Da biste kreirali jednostavnu mobilnu aplikaciju za vijesti, pod uvjetom da već imate gotov REST server, potrebno vam je otprilike 200-300 radnih sati po platformi. Uz prosječnu tržišnu cijenu za sat razvoja 1500-2000 rubalja/sat, aplikacija može koštati oko 1 milion rubalja. Ako razvijete web aplikaciju s punom podrškom za PWA: push obavijesti, offline način rada i druge pogodnosti, tada će razvoj trajati 200-300 radnih sati, ali će proizvod odmah biti dostupan na svim platformama. Odnosno, ušteda je otprilike 2 puta, a da ne spominjemo činjenicu da nećete morati plaćati naknade za smještaj u trgovinama aplikacija.

Serverless

Ovo je još jedan moderan pristup razvoju. Zbog imena, mnogi ljudi misle da je ovo zaista razvoj bez servera, nema potrebe za pisanjem back-end koda, a svaki front-end programer može kreirati punopravnu web aplikaciju. Ali to nije istina!

Kada kreirate aplikaciju bez servera, i dalje su vam potrebni server i baza podataka. Glavna razlika ovog pristupa je u tome što je pozadinski kod predstavljen u obliku cloud funkcija (drugi naziv za bez servera je FaaS, funkcije kao usluga ili Funkcije-kao-Service) i omogućava aplikaciji da se brzo skalira i lako. Prilikom kreiranja takve aplikacije, programer se može fokusirati na poslovne probleme i ne razmišljati o skaliranju i postavljanju infrastrukture, što naknadno ubrzava razvoj aplikacije i smanjuje njenu cijenu. Štaviše, pristup bez servera će vam pomoći da uštedite na iznajmljivanju servera, jer koristi tačno onoliko resursa koliko je potrebno da izvrši zadatak, a ako nema opterećenja, onda se vreme servera uopšte ne koristi i ne plaća se.

Na primjer, velika američka medijska kompanija Bustle uspjela je smanjiti troškove hostinga za više od 60% prelaskom na Serverless. A kompanija Coca-Cola, kada je razvijala automatizovani sistem za prodaju pića putem automata, uspela je da smanji troškove hostovanja sa 13000 dolara na 4500 dolara godišnje prelaskom na serverless.

U posljednjih nekoliko godina, zbog svoje novosti i ograničenja, Serverless se uglavnom koristio za male projekte, startupe i MVP-ove, ali danas, zahvaljujući evoluciji softvera, svestranosti i moći kontejnerizacije servera, pojavljuju se alati koji omogućavaju vam da uklonite ograničenja, pojednostavite i ubrzate razvoj aplikacija u oblaku.
To znači da su poslovni scenariji preduzeća u kojima se modernizacija oblaka ranije smatrala nemogućom (na primjer, za rubne uređaje, podatke u tranzitu ili aplikacije sa statusom) sada realnost. Dobri alati koji obećavaju mnogo su kNative i Serverless enterprise.

Ali uprkos svemu tome, Serverless nije srebrni metak za razvoj web aplikacija. Kao i svaka druga tehnologija, ona ima svoje prednosti i nedostatke, a ovaj alat morate odabrati s razumijevanjem, a „ne zabijati eksere mikroskopom“ samo zato što je tehnološki napredniji.

Da biste to lakše shvatili, evo nekoliko primjera kada biste mogli uzeti u obzir bez servera kada razvijate novu ili poboljšavate trenutnu web uslugu:

  • Kada je opterećenje na serveru periodično i plaćate neaktivni kapacitet. Na primjer, imali smo klijenta sa mrežom aparata za kafu i bilo je potrebno obrađivati ​​zahtjeve i prikupljati statistiku svega nekoliko stotina ili hiljada puta dnevno, a noću je broj zahtjeva pao na nekoliko desetina. U ovom slučaju je mnogo efikasnije plaćati samo stvarnu upotrebu resursa, pa smo predložili i implementirali rješenje na Serverless;
  • Ako ne planirate uroniti u tehničke detalje infrastrukture i preplatiti za postavljanje i održavanje servera i balansera. Na primjer, kada razvijate marketplace, ne znate točno kakav će biti promet, ili obrnuto - planirate puno prometa i kako bi vaša aplikacija sigurno izdržala opterećenje, onda je Serverless odličan izbor.
  • Ako trebate izvršiti neke streaming događaje u glavnoj aplikaciji, upišite bočne podatke u tabele, izvršite neke kalkulacije. Na primjer, prikupiti analitičke podatke o radnjama korisnika, obraditi ih na određeni način i pohraniti u bazu podataka;
  • Ako trebate pojednostaviti, unificirati ili ubrzati trenutni rad aplikacije. Na primjer, kreirajte usluge koje poboljšavaju performanse za rad sa slikama ili video zapisima, kada korisnik učitava video u oblak, a posebna funkcija upravlja transkodiranjem, dok glavni server nastavlja da radi normalno.

Ako trebate obraditi događaje iz usluga trećih strana. Na primjer, obraditi odgovore iz platnih sistema ili preusmjeriti korisničke podatke na CRM kako biste ubrzali obradu zahtjeva potencijalnih klijenata
Ako imate veliku aplikaciju i neki dijelovi aplikacije se mogu optimalnije implementirati koristeći jezik koji se razlikuje od glavnog. Na primjer, imate projekt u Javi i trebate dodati novu funkcionalnost, ali nemate slobodne ruke, ili implementacija na datom jeziku može potrajati duže, a već postoji rješenje na drugom jeziku, tada Serverless može pomoći sa ovim takođe.

Ovo nije cijela lista alata i tehnologija koje zaslužuju pažnju, samo sam podijelio ono što i sami svakodnevno koristimo u svom radu i znamo kako tačno mogu pomoći poslovanju.

izvor: www.habr.com

Dodajte komentar