Technologietrends voor webontwikkeling 2019

Introductie

Digitale transformatie bestrijkt elk jaar steeds meer verschillende gebieden van het leven en het bedrijfsleven. Als een bedrijf concurrerend wil zijn, zijn gewone informatiesites niet langer voldoende; er zijn mobiele en webapplicaties nodig die gebruikers niet alleen van informatie voorzien, maar hen ook in staat stellen bepaalde functies uit te voeren: goederen en diensten ontvangen of bestellen, hulpmiddelen bieden.

Technologietrends voor webontwikkeling 2019

Het is voor moderne banken bijvoorbeeld niet langer voldoende om een ​​website met informatie te hebben; ze hebben online tools nodig voor hun klanten, een persoonlijke rekening waar de gebruiker rekeningen, beleggingen en leningen kan beheren. Zelfs kleine bedrijven hebben handige tools nodig om de conversie te verhogen, zoals het maken van een afspraak bij een dokter of kapper, of het reserveren van een tafel in een restaurant of een kinderspeelkamer voor een verjaardagsfeestje.

En de eigenaren zelf moeten tijdig informatie ontvangen in een handige vorm over de toestand van hun bedrijf, bijvoorbeeld het verzamelen van statistische gegevens en analyses voor verschillende productieafdelingen, of de productiviteit van afdelingen. Vaak verzamelt elke afdeling deze gegevens op zijn eigen manier en gebruikt mogelijk zelfs verschillende tools. De eigenaar moet veel persoonlijke tijd besteden om dit allemaal te begrijpen. Dit kan indirect of direct van invloed zijn op de efficiëntie van het bedrijf en uiteindelijk op de winst. Digitale transformatie en de ontwikkeling van web- of mobiele applicaties zullen hier ook helpen.

Technologieën staan ​​niet stil en evolueren voortdurend, en wat enkele jaren geleden werd gebruikt, is vandaag de dag misschien niet meer relevant, of wat enkele jaren geleden niet mogelijk was, is al werkelijkheid geworden. Er zijn modernere tools waarmee u sneller en beter web- en mobiele applicaties kunt maken. Op basis van persoonlijke observaties en ervaringen wil ik mijn visie delen over welke technologieën en tools in de nabije toekomst veel vraag zullen zijn en waarom je daar aandacht aan moet besteden bij het maken van een moderne webapplicatie.

Applicatie met één pagina

Laten we de terminologie een beetje definiëren. Single Page Application (SPA) is een webapplicatie waarvan de componenten één keer op één pagina worden geladen en de inhoud wordt geladen wanneer dat nodig is. En bij het wisselen tussen secties van de applicatie wordt de pagina niet volledig opnieuw geladen, maar worden alleen de benodigde gegevens geladen en weergegeven.

Single-page applicaties profiteren qua snelheid en gebruiksgemak enorm van klassieke webapplicaties. Met behulp van SPA kunt u het effect bereiken dat een website werkt als een applicatie op een desktop, zonder opnieuw opstarten en aanzienlijke vertragingen.

Als een paar jaar geleden applicaties met één pagina vrijwel geen zoekmachineoptimalisatie ondersteunden en voornamelijk werden gebruikt voor het maken van persoonlijke accounts en administratiepanelen, is het vandaag de dag veel eenvoudiger geworden om een ​​applicatie met één pagina te maken met volledige ondersteuning voor zoekmachineoptimalisatie (SEO). Met behulp van server-gerenderde applicaties met één pagina is dit probleem volledig verdwenen. Met andere woorden, dit is dezelfde applicatie met één pagina, maar op het eerste verzoek genereert de server niet alleen gegevens, maar creëert hij een HTML-pagina die klaar is voor weergave en zoekmachines ontvangen kant-en-klare pagina's met alle meta-informatie en semantische markeringen. .

Met de ontwikkeling van tools voor het maken van client-side webapplicaties zal de ontwikkeling en transitie naar single-page applicaties de komende jaren alleen maar toenemen. Als je een oude applicatie hebt die verouderd is en langzaam werkt, en zelfs als de pagina volledig opnieuw wordt geladen bij het schakelen tussen secties, dan kun je dit jaar veilig upgraden naar een snelle applicatie van één pagina - dit is een goed moment, de technologie staat je dit al toe om dit vrij snel en efficiënt te doen.

Het hebben van een moderne en snelle website is erg goed, maar laat ik je eerlijk zeggen: niet alle applicaties kunnen eenvoudig worden omgezet naar applicaties van één pagina, en de overstap kan duur zijn! Daarom moet je begrijpen wie zo’n transitie nodig heeft en waarom.

Om u dit te helpen begrijpen, zal ik in de onderstaande tabel enkele voorbeelden geven van wanneer het ontwikkelen van of het overstappen naar een SPA passend en gerechtvaardigd is, en wanneer dit niet het geval is.

ЗА

Als je een moderne, snelle applicatie wilt maken en niet alleen de webversie wilt gebruiken, maar ook de mobiele of zelfs desktopversie, en alle processen en berekeningen plaatsvinden op een externe of cloudserver. Bovendien zodat alle clients één interactie-interface hebben en het niet nodig is om elke wijziging in de servercode uit te voeren bij het toevoegen van een nieuwe client.

Bijvoorbeeld: sociaal netwerk, aggregators, SaaS-platforms (software as a cloud service), marktplaatsen

Als je een winkel of webservice hebt, weet je dat deze traag is en dat mensen weggaan, je wilt deze sneller maken, je begrijpt de waarde van klanten en bent bereid meer dan een miljoen roebel te betalen voor een upgrade.

U heeft een mobiele applicatie die de API van de site gebruikt, maar de site is traag en de inhoud wordt volledig opnieuw geladen wanneer u tussen pagina's beweegt

TEGEN

Als uw doelgroep geen moderne browsers en apparaten gebruikt.

Bijvoorbeeld: specifieke bedrijfsterreinen, zoals de ontwikkeling van interne systemen voor banken, medische instellingen en onderwijs.

U voert uw hoofdactiviteiten offline uit en bent nog niet klaar om online diensten aan te bieden, maar u hoeft alleen maar klanten aan te trekken.

Als je een webwinkel of webdienst hebt die al goed verkoopt, zie je geen uitstroom of klachten van klanten

Als je een werkende applicatie hebt die niet kan worden aangepast voor SPA en je hoeft alleen maar alles helemaal opnieuw te schrijven en andere technologieën te gebruiken, en je bent niet bereid om hier enkele miljoenen aan uit te geven.

Bijvoorbeeld: er is een site in een kader of een soort zelfgeschreven oude, monolithische code.

Progressive webapplicaties

Progressieve webapplicaties zijn het product van de gezamenlijke evolutie van een native applicatie en een website. In wezen is dit een webapplicatie die eruitziet en zich gedraagt ​​als een echte native applicatie, pushmeldingen kan ontvangen, in de offlinemodus kan werken, enz. In dit geval hoeft de gebruiker de applicatie niet te downloaden uit de AppStore of Google Play, maar deze eenvoudigweg op te slaan op het bureaublad.

Als technologie of ontwikkelingsbenadering is PWA in ontwikkeling sinds 2015 en heeft het onlangs een enorme populariteit verworven op het gebied van e-commerce.

Enkele voorbeelden uit het echte leven:

  • vorig jaar kon het Best Western River North hotel de omzet met 300% verhogen na de lancering van een nieuwe PWA-compatibele website;
  • Het Arabische Avito OpenSooq.com kon, na het creëren van PWA-ondersteuning op zijn website, de bezoektijd van de site met 25% en het aantal leads met 260% verhogen;
  • de bekende datingservice Tinder wist door de ontwikkeling van een PWA de laadsnelheid terug te brengen van 11.91s naar 4.69s; bovendien weegt de applicatie 90% minder dan zijn native Android-tegenhanger.

Dat het de moeite waard is om aandacht te besteden aan deze technologie blijkt ook uit het feit dat een van de grootste motoren voor het creëren van e-commerceprojecten, Magento, in 2018 een vroege ontwikkelingsversie van PWA Studio lanceerde. Met het platform kunt u kant-en-klaar een op React gebaseerde frontend creëren voor uw e-commerceoplossingen met PWA-ondersteuning.

Advies voor degenen die al een internetproject hebben of gewoon een idee hebben voor een nieuwe dienst met ondersteuning voor mobiele apparaten: haast je niet om een ​​volwaardige native applicatie te schrijven, maar kijk eerst naar PWA-technologie. Dit kan de beste prijs-kwaliteitverhouding zijn voor uw product.

Een beetje uit de praktijk. Om een ​​eenvoudige native mobiele nieuwsapplicatie te maken, mits je al over een kant-en-klare REST-server beschikt, heb je per platform ongeveer 200-300 manuren nodig. Omdat de gemiddelde marktprijs voor een uur ontwikkeling 1500-2000 roebel/uur bedraagt, kan een applicatie ongeveer 1 miljoen roebel kosten. Ontwikkel je een webapplicatie met volledige ondersteuning voor PWA: push notificaties, offline modus en andere goodies, dan duurt de ontwikkeling 200-300 manuren, maar is het product direct beschikbaar op alle platformen. Dat wil zeggen een besparing van ongeveer 2 keer, om nog maar te zwijgen van het feit dat u geen kosten hoeft te betalen voor plaatsing in applicatiewinkels.

Serverless

Dit is een andere moderne benadering van ontwikkeling. Vanwege de naam denken veel mensen dat dit echt serverloze ontwikkeling is, dat het niet nodig is om back-endcode te schrijven en dat elke front-endontwikkelaar een volwaardige webapplicatie kan maken. Maar dat is niet waar!

Wanneer u een serverloze applicatie maakt, heeft u nog steeds een server en een database nodig. Het belangrijkste verschil met deze aanpak is dat de back-endcode wordt gepresenteerd in de vorm van cloudfuncties (een andere naam voor serverless is FaaS, functioneert als een service of Functions-as-a-Service) en zorgt ervoor dat de applicatie snel en eenvoudig kan worden geschaald. gemakkelijk. Bij het maken van een dergelijke applicatie kan de ontwikkelaar zich concentreren op zakelijke problemen en niet nadenken over het schalen en opzetten van de infrastructuur, wat vervolgens de applicatieontwikkeling versnelt en de kosten ervan verlaagt. Bovendien helpt de Serverless-aanpak u te besparen op serverhuur, omdat het precies zoveel bronnen gebruikt als nodig is om de taak te voltooien, en als er geen belasting is, wordt de servertijd helemaal niet gebruikt en niet betaald.

Zo kon het grote Amerikaanse mediabedrijf Bustle de hostingkosten met ruim 60% verlagen door over te stappen op Serverless. En het bedrijf Coca-Cola kon bij het ontwikkelen van een geautomatiseerd systeem voor de verkoop van drankjes via automaten de hostingkosten verlagen van $13000 naar $4500 per jaar door over te stappen op Serverless.

Vanwege zijn nieuwigheid en beperkingen is Serverless de afgelopen jaren vooral gebruikt voor kleine projecten, startups en MVP’s, maar vandaag de dag, dankzij de evolutie van software, de veelzijdigheid en kracht van servercontainerisatie, zijn er tools in opkomst die stelt u in staat beperkingen op te heffen, de ontwikkeling van cloudapplicaties te vereenvoudigen en te versnellen.
Dit betekent dat bedrijfsscenario's waarin cloudmodernisering voorheen als onmogelijk werd beschouwd (bijvoorbeeld voor edge-apparaten, gegevens in transit of stateful applicaties) nu werkelijkheid zijn. Goede tools die veelbelovend zijn, zijn kNative en Serverless enterprise.

Maar ondanks dit alles is Serverless geen wondermiddel voor de ontwikkeling van webapplicaties. Net als elke andere technologie heeft het zijn voor- en nadelen, en je moet dit gereedschap met begrip kiezen, en “geen spijkers slaan met een microscoop”, alleen maar omdat het technologisch geavanceerder is.

Om u te helpen dit uit te zoeken, volgen hier enkele voorbeelden van wanneer u Serverless zou kunnen overwegen bij het ontwikkelen van een nieuwe of het verbeteren van een huidige webservice:

  • Wanneer de belasting van de server periodiek is en u betaalt voor inactieve capaciteit. We hadden bijvoorbeeld een klant met een netwerk van koffiemachines en het was nodig om slechts een paar honderd tot duizend keer per dag verzoeken te verwerken en statistieken te verzamelen, en 's nachts daalde het aantal verzoeken tot enkele tientallen. In dit geval is het veel efficiënter om alleen te betalen voor het daadwerkelijke gebruik van de bronnen. Daarom hebben we een oplossing op Serverless voorgesteld en geïmplementeerd;
  • Als u niet van plan bent om in de technische details van de infrastructuur te duiken en te veel te betalen voor het opzetten en onderhouden van servers en een balancer. Wanneer u bijvoorbeeld een marktplaats ontwikkelt, weet u niet precies wat het verkeer zal zijn, of andersom: u plant veel verkeer en zodat uw applicatie zeker bestand is tegen de belasting, dan is Serverless een uitstekende keuze.
  • Als u enkele streaminggebeurtenissen in de hoofdtoepassing moet uitvoeren, schrijf dan de zijgegevens in tabellen en voer enkele berekeningen uit. Verzamel bijvoorbeeld analytische gegevens van gebruikersacties, verwerk deze op een bepaalde manier en sla deze op in een database;
  • Als u de huidige werking van de applicatie wilt vereenvoudigen, verenigen of versnellen. Creëer bijvoorbeeld prestatieverbeterende services voor het werken met afbeeldingen of video's, wanneer de gebruiker video naar de cloud uploadt, en een aparte functie zorgt voor de transcodering, terwijl de hoofdserver normaal blijft werken.

Als u gebeurtenissen van services van derden moet verwerken. Verwerk bijvoorbeeld reacties van betalingssystemen of stuur gebruikersgegevens door naar CRM om de verwerking van verzoeken van potentiële klanten te versnellen
Als u een grote applicatie heeft en sommige delen van de applicatie optimaal kunnen worden geïmplementeerd in een andere taal dan de hoofdtaal. Heeft u bijvoorbeeld een project in Java en moet u nieuwe functionaliteit toevoegen, maar heeft u geen vrije handen, of kan de implementatie in een bepaalde taal langer duren en is er al een oplossing in een andere taal, dan kan Serverless u helpen hiermee ook.

Dit is niet de hele lijst met tools en technologieën die aandacht verdienen; ik heb zojuist gedeeld wat we zelf elke dag in ons werk gebruiken en precies weten hoe ze het bedrijfsleven kunnen helpen.

Bron: www.habr.com

Voeg een reactie