Webbutvecklingsteknologitrender 2019

Inledning

Digital transformation täcker fler och fler olika områden av livet och verksamheten varje år. Om ett företag vill vara konkurrenskraftigt räcker det inte längre med vanliga informationssajter, det behövs mobil- och webbapplikationer som inte bara ger användarna information, utan också låter dem utföra vissa funktioner: ta emot eller beställa varor och tjänster, tillhandahålla verktyg.

Webbutvecklingsteknologitrender 2019

Till exempel räcker det inte längre för moderna banker att ha en webbplats med information, de behöver ha onlineverktyg för sina kunder, ett personligt konto där användaren kan hantera konton, investeringar och lån. Även småföretag behöver praktiska verktyg för att öka konverteringarna, som att boka tid hos en läkare eller frisör, eller boka bord på en restaurang eller ett lekrum för barn för en födelsedagsfest.

Och ägarna själva behöver få aktuell information i en bekväm form om tillståndet för deras företag, till exempel insamling av statistiska data och analyser för olika produktionsavdelningar eller produktiviteten hos avdelningar. Ofta samlar varje avdelning in denna data på sitt eget sätt, och kan till och med använda olika verktyg och ägaren behöver lägga mycket personlig tid på att förstå allt detta, indirekt eller direkt kan detta påverka företagets effektivitet och i slutändan vinst. Digital transformation och webb- eller mobilapplikationsutveckling kommer också att hjälpa här.

Teknikerna står inte stilla och utvecklas ständigt, och det som användes för flera år sedan är kanske inte längre aktuellt idag, eller det som inte kunde göras för flera år sedan har redan blivit verklighet. Det finns modernare verktyg som hjälper dig att skapa webb- och mobilapplikationer snabbare och bättre. Baserat på personliga observationer och erfarenheter vill jag dela med mig av min vision om vilka teknologier och verktyg som kommer att efterfrågas inom en snar framtid och varför du bör vara uppmärksam på dem när du skapar en modern webbapplikation.

Ensidig applikation

Låt oss definiera terminologin lite. Single Page Application (SPA) är en webbapplikation vars komponenter laddas en gång på en sida och innehållet laddas efter behov. Och när du flyttar mellan sektioner av applikationen laddas sidan inte om helt, utan bara laddar och visar nödvändiga data.

Ensidiga applikationer drar stor nytta av klassiska webbapplikationer när det gäller hastighet och användarvänlighet. Med hjälp av SPA kan du uppnå effekten av att en webbplats fungerar som en applikation på ett skrivbord, utan omstarter och betydande förseningar.

Om ensidiga applikationer för några år sedan praktiskt taget inte stödde sökmotoroptimering och främst användes för att skapa personliga konton och administrationspaneler, har det idag blivit mycket lättare att skapa en ensidig applikation med fullt stöd för sökmotoroptimering (SEO). Genom att använda serverrenderade ensidiga applikationer idag har detta problem helt försvunnit. Med andra ord, detta är samma ensidiga applikation, men på den första begäran genererar servern inte bara data, utan skapar en HTML-sida redo för visning och sökmotorer tar emot färdiga sidor med all metainformation och semantisk uppmärkning .

Med utvecklingen av verktyg för att skapa webbapplikationer på klientsidan kommer utvecklingen och övergången till ensidiga applikationer bara att växa under detta och efterföljande år. Om du har en gammal applikation som är föråldrad och fungerar långsamt, och till och med med en fullständig omladdning av sidan när du växlar mellan sektioner, så kan du i år säkert uppgradera till en snabb ensidig applikation - nu är det en bra tid, tekniken tillåter dig redan att göra detta ganska snabbt och effektivt.

Att ha en modern och snabb webbplats är mycket bra, men låt mig säga dig ärligt: ​​inte alla applikationer kan enkelt konverteras till ensidiga applikationer, och övergången kan bli dyr! Därför måste du förstå vem som behöver en sådan övergång och varför.

För att hjälpa dig förstå kommer jag i tabellen nedan att ge några exempel på när det är lämpligt och motiverat att utveckla eller byta till ett SPA, och när det inte är det.

ЗА

Om du vill göra en modern, snabb applikation och vill använda inte bara webbversionen, utan även den mobila eller till och med stationära versionen, och alla processer och beräkningar sker på en fjärr- eller molnserver. Dessutom, så att alla klienter har ett interaktionsgränssnitt och det finns inget behov av att göra varje redigering av serverkoden när du lägger till en ny klient.

Till exempel: sociala nätverk, aggregatorer, SaaS-plattformar (programvara som en molntjänst), marknadsplatser

Om du har en butik eller webbtjänst vet du att det går långsamt och folk lämnar, du vill göra det snabbare, du förstår värdet av kunder och är redo att betala över en miljon rubel för en uppgradering.

Du har en mobilapplikation som använder webbplatsens API, men webbplatsen är långsam och har fullständig omladdning av innehåll när du flyttar mellan sidor

MOT

Om din målgrupp inte använder moderna webbläsare och enheter.

Till exempel: specifika företagsområden, såsom utveckling av interna system för banker, medicinska institutioner och utbildning.

Du bedriver dina huvudsakliga aktiviteter offline och är inte redo att tillhandahålla några tjänster online, och du behöver bara attrahera kunder.

Om du har en webbutik eller webbtjänst som redan säljer bra, ser du inte kundutflöde eller klagomål

Om du har en fungerande applikation som inte kan anpassas för SPA och du behöver bara skriva om allt från grunden och använda andra teknologier, och du är inte redo att lägga flera miljoner på detta.

Till exempel: Det finns en inramad webbplats eller någon form av hemskriven gammal, monolitisk kod.

Progressiva webbapplikationer

Progressiva webbapplikationer är produkten av den gemensamma utvecklingen av en inbyggd applikation och en webbplats. I huvudsak är detta en webbapplikation som ser ut och beter sig som en riktig inbyggd applikation, kan ta emot push-meddelanden, arbeta i offlineläge, etc. I det här fallet behöver användaren inte ladda ner applikationen från AppStore eller Google Play, utan bara spara den på skrivbordet.

Som en teknik eller metod för utveckling har PWA utvecklats sedan 2015, och har nyligen vunnit enorm popularitet inom e-handelsområdet.

Några exempel från verkligheten:

  • förra året kunde Best Western River North-hotellet öka intäkterna med 300 % efter att ha lanserat en ny PWA-aktiverad webbplats;
  • Arabiska Avito OpenSooq.com kunde, efter att ha skapat PWA-stöd på sin webbplats, öka besökstiden med 25 % och antalet potentiella kunder med 260 %;
  • den berömda dejtingtjänsten Tinder kunde minska laddningshastigheten från 11.91s till 4.69s genom att utveckla en PWA; dessutom väger applikationen 90% mindre än sin inhemska Android-motsvarighet.

Det faktum att det är värt att uppmärksamma denna teknik indikeras också av det faktum att en av de största motorerna för att skapa e-handelsprojekt, Magento, lanserade en tidig utvecklingsversion av PWA Studio 2018. Plattformen låter dig skapa en React-baserad frontend för dina e-handelslösningar med PWA-stöd.

Råd till dig som redan har ett internetprojekt eller bara en idé om en ny tjänst med stöd för mobila enheter: skynda dig inte att skriva en fullfjädrad inbyggd applikation, utan titta först på PWA-tekniken. Detta kan vara den bästa lösningen för pengarna för din produkt.

Lite från praktiken. För att skapa en enkel inbyggd mobilnyhetsapplikation, förutsatt att du redan har en färdig REST-server, behöver du cirka 200-300 mantimmar per plattform. Med det genomsnittliga marknadspriset för en utvecklingstimme på 1500-2000 rubel/timme, kan en applikation kosta cirka 1 miljon rubel. Om du utvecklar en webbapplikation med fullt PWA-stöd: pushnotiser, offlineläge och annat smått och gott, då kommer utvecklingen att ta 200-300 mantimmar, men produkten kommer omedelbart att finnas tillgänglig på alla plattformar. Det vill säga en besparing på cirka 2 gånger, för att inte tala om det faktum att du slipper betala avgifter för placering i applikationsbutiker.

Server

Detta är ett annat modernt synsätt på utveckling. På grund av namnet tror många att detta verkligen är serverlös utveckling, det finns inget behov av att skriva back-end-kod, och vilken front-end-utvecklare som helst kan skapa en fullfjädrad webbapplikation. Men det är inte sant!

När du skapar en serverlös applikation behöver du fortfarande en server och en databas. Den största skillnaden med detta tillvägagångssätt är att back-end-koden presenteras i form av molnfunktioner (ett annat namn för serverlös är FaaS, fungerar som en tjänst eller Functions-as-a-Service) och låter applikationen skalas snabbt och lätt. När man skapar en sådan applikation kan utvecklaren fokusera på affärsproblem och inte tänka på att skala och sätta upp infrastrukturen, vilket i efterhand snabbar upp applikationsutvecklingen och minskar dess kostnader. Dessutom kommer det serverlösa tillvägagångssättet att hjälpa dig att spara på serveruthyrning, eftersom den använder exakt så många resurser som behövs för att slutföra uppgiften, och om det inte finns någon belastning används inte servertiden alls och betalas inte för.

Till exempel kunde det stora amerikanska medieföretaget Bustle sänka hostingkostnaderna med mer än 60 % när man bytte till Serverless. Och Coca-Cola-företaget kunde, när de utvecklade ett automatiserat system för att sälja drycker genom varuautomater, minska värdkostnaderna från $13000 4500 till $XNUMX XNUMX per år genom att byta till Serverless.

Under de senaste åren, på grund av dess nyhet och dess begränsningar, har Serverless främst använts för små projekt, startups och MVPs, men idag, tack vare utvecklingen av mjukvara, mångsidigheten och kraften i servercontainerisering, dyker det upp verktyg som låter dig ta bort begränsningar, förenkla och påskynda utvecklingen av molnapplikationer .
Detta innebär att affärsscenarier där molnmodernisering tidigare ansågs omöjlig (till exempel för edge-enheter, data under överföring eller stateful applikationer) nu är verklighet. Bra verktyg som visar mycket lovande är kNative och Serverless enterprise.

Men trots allt detta är Serverless inte en silverkula för webbapplikationsutveckling. Som all annan teknik har den sina fördelar och nackdelar, och du måste välja det här verktyget med förståelse och "inte hamra spikar med ett mikroskop" bara för att det är mer tekniskt avancerat.

För att hjälpa dig ta reda på det, här är några exempel på när du kanske vill överväga serverlös när du utvecklar en ny eller förbättrar en befintlig webbtjänst:

  • När belastningen på servern är periodisk och du betalar för ledig kapacitet. Till exempel hade vi en kund med ett nätverk av kaffemaskiner och det var nödvändigt att behandla förfrågningar och samla in statistik bara några hundra eller tusen gånger om dagen, och på natten sjönk antalet förfrågningar till flera dussin. I det här fallet är det mycket mer effektivt att bara betala för den faktiska användningen av resurser, så vi föreslog och implementerade en lösning på Serverless;
  • Om du inte planerar att dyka in i de tekniska detaljerna i infrastrukturen och betala för mycket för att installera och underhålla servrar och en balanserare. Till exempel, när du utvecklar en marknadsplats vet du inte exakt vad trafiken kommer att bli, eller vice versa - du planerar mycket trafik och för att din applikation ska klara belastningen är Serverless ett utmärkt val.
  • Om du behöver utföra några strömmande händelser i huvudapplikationen, skriv sidodata i tabeller, utför några beräkningar. Till exempel, samla in analytisk data om användaråtgärder, bearbeta dem på ett visst sätt och spara dem i en databas;
  • Om du behöver förenkla, förena eller påskynda den nuvarande driften av applikationen. Skapa till exempel prestandaförbättrande tjänster för att arbeta med bilder eller videor, när användaren laddar upp video till molnet, och en separat funktion hanterar omkodning, medan huvudservern fortsätter att fungera som vanligt.

Om du behöver bearbeta händelser från tredjepartstjänster. Till exempel behandla svar från betalningssystem eller omdirigera användardata till CRM för att påskynda behandlingen av förfrågningar från potentiella kunder
Om du har en stor applikation och vissa delar av applikationen kan implementeras mer optimalt med ett annat språk än det huvudsakliga. Till exempel har du ett projekt i Java och du behöver lägga till ny funktionalitet, men du har inga fria händer, eller så kan implementering på ett visst språk ta längre tid och det finns redan en lösning på ett annat språk, då kan Serverless hjälpa med detta också.

Det här är inte hela listan över verktyg och tekniker som förtjänar uppmärksamhet, jag delade bara med oss ​​av vad vi själva använder varje dag i vårt arbete och vet exakt hur de kan hjälpa företag.

Källa: will.com

Lägg en kommentar