Introduktion
Den digitala transformationen omfattar Är för Är fler och fler olika omrÄden inom livet och affÀrsverksamhet. 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Ä möjliggör olika funktioner: att fÄ eller bestÀlla varor och tjÀnster, samt tillhandahÄlla verktyg.

Till exempel Ă€r det inte lĂ€ngre tillrĂ€ckligt för moderna banker att bara ha en informationssajt; de behöver onlineverktyg för sina kunder, en personlig tjĂ€nst dĂ€r anvĂ€ndaren kan hantera sina konton, investeringar och lĂ„n. Ăven smĂ„företag behöver för att öka konverteringen tillgĂ€ngliga verktyg, som att boka tid för lĂ€karbesök eller frisör, samt att boka bord pĂ„ restaurang eller barnens lekplats för att fira födelsedag.
Ăgare behöver ocksĂ„ fĂ„ information i rĂ€tt tid och pĂ„ ett bekvĂ€mt sĂ€tt om sitt företags tillstĂ„nd, till exempel genom att samla in statistiska data och analyser om olika produktionsavdelningar eller avdelningars produktivitet. Ofta samlar varje avdelning dessa data pĂ„ sitt sĂ€tt och kan till och med anvĂ€nda olika verktyg, vilket gör att Ă€garen behöver spendera mycket tid pĂ„ att reda ut allt detta; det kan indirekt eller direkt pĂ„verka företagets effektivitet och slutligen vinsten. HĂ€r kan ocksĂ„ den digitala transformationen och utvecklingen av en webb- eller mobilapplikation hjĂ€lpa.
Tekniken stÄr inte still och utvecklas kontinuerligt. Det som anvÀndes för flera Är sedan kan redan vara irrelevant idag, eller nÄgot som inte kunde göras för nÄgra Är sedan har nu blivit verklighet. Det finns mÄnga moderna verktyg som hjÀlper till att skapa webb- och mobilapplikationer snabbare och med bÀttre kvalitet. Baserat pÄ mina personliga observationer och erfarenheter vill jag dela med mig av min syn pÄ vilka teknologier och verktyg som kommer att vara efterfrÄgade inom en snar framtid och varför man bör beakta dem vid skapandet av moderna webbapplikationer.
Single page application (en-sidiga applikationer)
LÄt oss reda ut nÄgra termer. En Single Page Application (SPA) Àr en webbapplikation vars komponenter laddas en gÄng pÄ en sida och vars innehÄll laddas vid behov. NÀr man navigerar mellan sektionerna av applikationen laddas sidan inte om helt, utan bara nödvÀndiga data laddas och visas.
Ensidiga applikationer vinner kraftigt i hastighet och anvÀndarvÀnlighet jÀmfört med klassiska webbapplikationer. Med hjÀlp av SPA kan man uppnÄ en webbplats effekt som en desktop-applikation, utan omladdningar och betydande fördröjningar.
Om för nÄgra Är sedan ensidiga applikationer knappt stödde sökmotoroptimering och frÀmst anvÀndes för att skapa anvÀndarpaneler och administrationsgrÀnssnitt, sÄ har det idag blivit mycket enklare att skapa en ensidig applikation med full sökmotoroptimeringsstöd (SEO). Genom att anvÀnda ensidiga applikationer med server-rendering har detta problem helt försvunnit. Med andra ord Àr det samma typ av ensidig applikation, men vid första begÀran genererar servern inte bara data, utan skapar en fÀrdig HTML-sida för visning, och sökmotorerna fÄr fÀrdiga sidor med all metadata och semantisk struktur.
Med utvecklingen av verktyg för att skapa klientbaserade webbapplikationer kommer utvecklingen och övergĂ„ngen till ensidiga applikationer under detta och kommande Ă„r endast att öka. Om du har en gammal applikation som Ă€r förĂ„ldrad och fungerar lĂ„ngsamt, och som dessutom krĂ€ver en fullstĂ€ndig omladdning av sidan nĂ€r man navigerar mellan sektioner, sĂ„ kan du i Ă„r tryggt uppgradera till en snabb ensidig applikation â nu Ă€r det en bra tid, teknologin tillĂ„ter att detta görs ganska snabbt och kvalitativt.
Att ha en modern och snabb webbplats Àr mycket bra, men jag vill Àrligt meddela dig: inte alla applikationer kan enkelt konverteras till ensidiga, och övergÄngen kan kosta en del! DÀrför Àr det viktigt att förstÄ vem och varför en sÄdan övergÄng behövs.
För att hjÀlpa dig att förstÄ kommer jag i tabellen nedan att ge nÄgra exempel pÄ nÀr utveckling eller övergÄng till SPA Àr lÀmpligt och motiverat, och nÀr det inte Àr det.
ZA
Om du vill skapa en modern, snabb applikation och vill att den ska anvÀndas inte bara som webbverson, utan Àven som mobil- eller desktopversion, dÀr alla processer och berÀkningar sker pÄ en fjÀrr- eller molnserver. Dessutom sÄ att alla kunder har ett gemensamt grÀnssnitt och det inte finns nÄgot behov av att justera serverkoden för varje ny kund som lÀggs till.
Till exempel: sociala nÀtverk, aggregatorer, SaaS-plattformar (programvara som en tjÀnst), marknadsplatser.
Om du har en butik eller en webbtjÀnst, vet du att den Àr lÄngsam och att folk lÀmnar, vill göra den snabbare, förstÄr vÀrdet av kunder och Àr villig att betala för uppgraderingar frÄn en miljon kronor.
Du har en mobilapplikation som anvÀnder API:et frÄn webbplatsen, medan webbplatsen Àr lÄngsam och har fullstÀndiga omladdningar av innehÄllet nÀr du navigerar mellan sidor.
MOT.
Om din mÄlgrupp inte anvÀnder moderna webblÀsare och enheter.
Till exempel: specifika företagssektorer, sÄsom utveckling av interna system för banker, medicinska institutioner och utbildning.
Du bedriver din huvudsakliga verksamhet offline och Àr inte beredd att erbjuda nÄgra tjÀnster online, och du behöver bara attrahera kunder.
Om du har en webbshop eller en webbtjÀnst som redan sÀljer bra, ser du ingen kundavgÄng eller klagomÄl.
Om du har en fungerande applikation som inte kan anpassas för SPA och behöver bara skrivas om frÄn grunden och anvÀnda andra teknologier, men du Àr inte beredd att spendera flera miljoner pÄ det.
Till exempel: Det finns en boxad webbplats eller nÄgon typ av gammal, monolitisk kod.
Progressiva webbapplikationer.
Progressiva webbapplikationer (PWA) Àr resultatet av ett gemensamt evolutionÀrt steg mellan inhemska applikationer och webbplatser. Egentligen Àr det en webbapplikation som ser ut och fungerar som en verklig inhemsk applikation, kan ta emot push-meddelanden, fungera offline osv. AnvÀndaren behöver inte ladda ner en app frÄn App Store eller Google Play, utan kan helt enkelt spara den pÄ skrivbordet.
Som teknik eller metod för utveckling av PWA har den utvecklats sedan 2015 och har pÄ senare tid ocksÄ fÄtt stor popularitet inom e-handelssektorn.
Flera verkliga exempel frÄn livet:
- Förra Äret kunde hotellet Best Western River North efter att ha lanserat en ny webbplats med PWA-support öka sin omsÀttning med 300%;
- Den arabiska plattformen Avito OpenSooq.com kunde efter att ha implementerat PWA-support pÄ sin webbplats öka besökstiden med 25% och antalet leads med 260%;
- Den kÀnda dejtingtjÀnsten Tinder kunde minska laddningstiden frÄn 11,91 sekunder till 4,69 sekunder genom att utveckla PWA, dessutom vÀger appen 90% mindre Àn sin inhemska Android-motsvarighet.
Att uppmÀrksamma denna teknologi bekrÀftas ocksÄ av att en av de största e-handelsmotorerna Magento 2018 lanserade en tidig utvecklarversion av PWA Studio. Plattformen möjliggör att skapa front-end baserat pÄ React för sina e-handelslösningar med PWA-support "out-of-the-box".
Ett tips för dem som redan har ett internetprojekt eller bara en idé om en ny tjÀnst med mobilstöd: skynda er inte att skriva en fullstÀndig inhemsk applikation, utan titta först pÄ PWA-teknologin. Det kan vara den bÀsta lösningen i förhÄllande till pris och kvalitet för din produkt.
Lite frÄn praktiken. För att skapa en enkel inhemsk mobilapp för nyheter, givet att det redan finns en fÀrdig REST-server, krÀvs cirka 200-300 arbetstimmar för varje plattform. Med ett genomsnittligt marknadspris pÄ 1500-2000 rubel/timme, kan appen kosta omkring 1 miljon rubel. Om man utvecklar en webbapplikation med full PWA-support: push-notiser, offline-lÀge och andra funktioner, tar utvecklingen ocksÄ 200-300 arbetstimmar, men produkten blir genast tillgÀnglig pÄ alla plattformar. Det innebÀr en besparing pÄ ungefÀr 2 gÄnger, för att inte tala om att man slipper betala avgifter för publicering i appbutiker.
Serverless
Detta Àr ett annat modernt tillvÀgagÄngssÀtt för utveckling. PÄ grund av namnet tror mÄnga att det verkligen handlar om en serverlös utveckling, att man inte behöver skriva backend-kod, och att vilken frontend-utvecklare som helst kan skapa en fullstÀndig webbapplikation. Men sÄ Àr det inte!
Vid skapandet av en Serverless-applikation behövs fortfarande en server och en databas. Den största skillnaden med denna metod Àr att back-end-koden presenteras i form av molnfunktioner (ett annat namn för serverless Àr FaaS, funktioner som tjÀnst) och möjliggör snabb och enkel skalning av applikationen. Vid skapandet av en sÄdan applikation kan utvecklaren fokusera pÄ affÀrsuppgifter och inte tÀnka pÄ skalning och konfiguration av infrastrukturen, vilket i sin tur pÄskyndar utvecklingen av applikationen och minskar dess kostnader. Dessutom kan Serverless-metoden hjÀlpa till att spara pÄ hyran servrar, eftersom den anvÀnder precis sÄ mycket resurser som behövs för att utföra uppgiften, och om det inte finns nÄgon belastning anvÀnds ingen servertid överhuvudtaget och betalas inte.
Till exempel lyckades det stora amerikanska medieföretaget Bustle minska sina kostnader med hosting över 60% nÀr de övergick till Serverless. Coca-Cola kunde, vid utvecklingen av ett automatiserat system för försÀljning av drycker genom automater, minska sina hostingkostnader frÄn $13 000 till $4 500 per Är genom att gÄ över till Serverless.
De senaste tvÄ Ären har Serverless, pÄ grund av sin nyhet och sina begrÀnsningar, frÀmst anvÀnts för smÄ projekt, startups och MVP, men idag, tack vare mjukvaruevolutionen, mÄngsidigheten och kraften i containerteknik, dyker det upp verktyg som gör att begrÀnsningar kan tas bort, vilket förenklar och pÄskyndar utvecklingen av molnapplikationer.
Detta innebÀr att företags affÀrsscenarier dÀr molnmodernisering tidigare ansÄgs omöjlig (till exempel för perifera enheter, överförda data eller tillstÄndsbevarande applikationer) nu Àr en verklighet. Bra verktyg med stor potential Àr kNative och Serverless enterprise.
Men med allt detta Àr Serverless inte en silverkula för utveckling av webbapplikationer. Precis som alla andra teknologier har den sina fördelar och nackdelar, och det Àr viktigt att vÀlja det hÀr verktyget med eftertanke, snarare Àn att "slÄ i spik med ett mikroskop" bara för att det Àr mer teknologiskt avancerat.
För att hjÀlpa dig att förstÄ, hÀr Àr nÄgra exempel pÄ nÀr du bör övervÀga Serverless vid utvecklingen av en ny eller förbÀttring av en befintlig webbservice:
- NÀr belastningen pÄ servern har en periodisk karaktÀr och du betalar för överbliven kapacitet. Till exempel hade vi en kund med ett nÀtverk av kaffemaskiner, och det var nödvÀndigt att hantera förfrÄgningar och samla statistik bara nÄgra hundra eller tusen gÄnger om dagen, medan antalet förfrÄgningar pÄ natten sjönk till ett par tiotal. I det hÀr fallet Àr det mycket effektivare att betala endast för den faktiska anvÀndningen av resurser, sÄ vi föreslog och implementerade en lösning med Serverless.
- Om du inte planerar att dyka ner i de tekniska detaljerna i infrastrukturen och betala för instĂ€llning och support av servrar och lastbalanserare. Till exempel, nĂ€r du utvecklar en marknadsplats vet du inte exakt vilken trafik som kommer att vara, eller tvĂ€rtom â du förutser hög trafik och vill att din applikation ska klara belastningen, dĂ„ Ă€r Serverless ett utmĂ€rkt val.
- Om det Àr nödvÀndigt att utföra nÄgon typ av strömevenemang i huvudapplikationen, registrera sidodata i tabeller, utföra vissa berÀkningar. Till exempel, samla in analytiska data om anvÀndarens ÄtgÀrder, bearbeta dem pÄ ett visst sÀtt och spara i databasen;
- Om du behöver förenkla, standardisera eller pÄskynda det nuvarande arbetet i applikationen. Till exempel, skapa tjÀnster som förbÀttrar prestandan för bild- eller videohantering, nÀr anvÀndaren laddar upp en video till molnet, och transkodningen hanteras av en separat funktion, medan huvudservern fortsÀtter att fungera som vanligt.
Om du behöver behandla hÀndelser frÄn externa tjÀnster. Till exempel, bearbeta svar frÄn betalningssystem, eller vidarebefordra 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 den kan implementeras mer optimalt med ett sprÄk som skiljer sig frÄn det huvudsakliga. Till exempel, om du har ett projekt i Java och behöver lÀgga till ny funktionalitet, men det finns inga lediga resurser, eller att implementeringen pÄ det aktuella sprÄket kan ta mer tid och det redan finns en lösning pÄ ett annat sprÄk, sÄ kan Serverless ocksÄ hjÀlpa till med detta.
Detta Àr lÄngt ifrÄn hela listan över verktyg och teknologier som förtjÀnar uppmÀrksamhet, jag har bara delat med mig av det vi sjÀlva anvÀnder varje dag i vÄrt arbete och vet precis hur de kan hjÀlpa företag.
KĂ€lla: habr.com
