Trends foar webûntwikkelingtechnology 2019

Ynlieding

Digitale transformaasje beslacht elk jier mear en mear ferskillende gebieten fan it libben en bedriuw. As in bedriuw konkurrearjend wêze wol, binne gewoane ynformaasjesides net mear genôch, mobyl- en webapplikaasjes binne nedich dy't brûkers net allinich ynformaasje leverje, mar ek bepaalde funksjes kinne útfiere: guod en tsjinsten ûntfange of bestelle, ark leverje.

Trends foar webûntwikkelingtechnology 2019

Bygelyks, it is net mear genôch foar moderne banken om in webside mei ynformaasje te hawwen; se moatte online ark hawwe foar har kliïnten, in persoanlik akkount wêr't de brûker akkounts, ynvestearrings en lieningen kin beheare. Sels lytse bedriuwen hawwe handige ark nedich om konversaasjes te fergrutsjen, lykas it meitsjen fan in ôfspraak mei in dokter of kapper, of it reservearjen fan in tafel yn in restaurant of in boarterskeamer foar in jierdeifeestje.

En de eigners sels moatte op 'e tiid ynformaasje krije yn in handige foarm oer de steat fan har bedriuw, bygelyks it sammeljen fan statistyske gegevens en analytiken foar ferskate produksjeôfdielingen, of de produktiviteit fan ôfdielingen. Faak sammelet elke ôfdieling dizze gegevens op har eigen manier, en kin sels ferskate ark brûke en de eigner moat in protte persoanlike tiid besteegje om dit alles te begripen, yndirekt as direkt, dit kin ynfloed hawwe op de effisjinsje en, úteinlik, winst fan it bedriuw. Digitale transformaasje en ûntwikkeling fan web- as mobile applikaasjes sille hjir ek helpe.

Technologien steane net stil en binne konstant yn ûntwikkeling, en wat in pear jier lyn brûkt waard, kin hjoeddedei net mear relevant wêze, of wat in pear jier lyn net dien wurde koe, is al in realiteit wurden. D'r binne mear moderne ark dy't jo helpe om web- en mobile applikaasjes rapper en better te meitsjen. Op grûn fan persoanlike waarnimmings en ûnderfining wol ik myn fyzje diele oer hokker technologyen en ark yn 'e heine takomst yn fraach sille wêze en wêrom't jo derop moatte betelje by it meitsjen fan in moderne webapplikaasje.

Applikaasje foar ien side

Litte wy de terminology in bytsje definiearje. Single Page Application (SPA) is in webapplikaasje wêrfan de komponinten ien kear op ien side wurde laden, en de ynhâld wurdt laden as nedich. En as jo ferpleatse tusken seksjes fan 'e applikaasje, wurdt de side net folslein opnij laden, mar allinich de nedige gegevens laden en werjaan.

Applikaasjes op ien side profitearje sterk fan klassike webapplikaasjes yn termen fan snelheid en gebrûksgemak. Mei help fan SPA kinne jo it effekt berikke fan in webside dy't wurket as in applikaasje op in buroblêd, sûnder herstarten en signifikante fertragingen.

As in pear jier lyn ien-side-applikaasjes praktysk gjin sykmasino-optimisaasje stipe en benammen brûkt waarden foar it meitsjen fan persoanlike akkounts en administraasjepanielen, hjoed is it meitsjen fan in single-side-applikaasje mei folsleine stipe foar sykmasino-optimisaasje (SEO) folle makliker wurden. Mei it brûken fan server-rendered single page-applikaasjes hjoed is dit probleem folslein ferdwûn. Mei oare wurden, dit is deselde ien-side-applikaasje, mar op it earste fersyk genereart de tsjinner net allinich gegevens, mar makket in HTML-side klear foar werjefte en sykmasines krije klearmakke siden mei alle meta-ynformaasje en semantyske markup .

Mei de ûntwikkeling fan ark foar it meitsjen fan webapplikaasjes oan kliïnten, sil de ûntwikkeling en oergong nei applikaasjes op ien side allinich groeie yn dit en folgjende jierren. As jo ​​​​in âlde applikaasje hawwe dy't ferâldere is en stadich wurket, en sels mei in folsleine side opnij laden by it wikseljen tusken seksjes, dan kinne jo dit jier feilich opwurdearje nei in rappe applikaasje fan ien side - no is in goede tiid, technology lit jo al om dit frij fluch en effisjint te dwaan.

In moderne en rappe webside hawwe is heul goed, mar lit my jo earlik sizze: net alle applikaasjes kinne maklik wurde omsetten nei applikaasjes op ien side, en de oergong kin djoer wêze! Dêrom moatte jo begripe wa't sa'n oergong nedich is en wêrom.

Om jo te helpen te begripen, sil ik yn 'e tabel hjirûnder wat foarbylden jaan fan wannear't it ûntwikkeljen of oerstapjen nei in SPA passend en rjochtfeardige is, en wannear net.

OER

As jo ​​​​in moderne, rappe applikaasje wolle meitsje en net allinich de webferzje wolle brûke, mar ek de mobile of sels buroblêdferzje, en alle prosessen en berekkeningen fynt plak op in ôfstân of wolkserver. Boppedat, sadat alle kliïnten ien ynteraksje-ynterface hawwe en d'r gjin need is om elke bewurking oan 'e serverkoade te meitsjen by it tafoegjen fan in nije kliïnt.

Bygelyks: sosjaal netwurk, aggregators, SaaS-platfoarms (software as wolktsjinst), merkplakken

As jo ​​in winkel of webtsjinst hawwe, wite jo dat it stadich is en minsken ferlitte, jo wolle it flugger meitsje, jo begripe de wearde fan klanten en binne ree om mear as in miljoen roebel te beteljen foar in upgrade.

Jo hawwe in mobile applikaasje dy't de API fan 'e side brûkt, mar de side is stadich en hat folsleine ynhâld opnij laden as jo tusken siden ferpleatse

TSJIN

As jo ​​doelgroep gjin moderne browsers en apparaten brûkt.

Bygelyks: spesifike bedriuwsgebieten, lykas de ûntwikkeling fan ynterne systemen foar banken, medyske ynstellingen en ûnderwiis.

Jo fiere jo haadaktiviteiten offline en binne net ree om online tsjinsten te leverjen, en jo moatte gewoan klanten oanlûke.

As jo ​​in online winkel of webtsjinst hawwe dy't al goed ferkeapet, sjogge jo gjin klantútstream of klachten

As jo ​​​​in wurkjende applikaasje hawwe dy't net kinne wurde oanpast foar SPA en jo moatte gewoan alles fanôf it begjin opnij skriuwe en oare technologyen brûke, en jo binne net ree om ferskate miljoenen op dit te besteegjen.

Bygelyks: Der is in doaze side of in soarte fan thússkreaune âlde, monolityske koade.

Progressive webapplikaasjes

Progressive webapplikaasjes binne it produkt fan 'e mienskiplike evolúsje fan in lânseigen applikaasje en in webside. Yn essinsje is dit in webapplikaasje dy't sjocht en gedraacht as in echte native applikaasje, kin push-notifikaasjes ûntfange, wurkje yn offline modus, ensfh. Yn dit gefal hoecht de brûker de applikaasje net te downloaden fan 'e AppStore of Google Play, mar bewarje it gewoan op it buroblêd.

As technology as oanpak foar ûntwikkeling hat PWA sûnt 2015 ûntwikkele en hat koartlyn enoarme populariteit opdien op it fjild fan e-commerce.

Guon foarbylden fan it echte libben:

  • ferline jier, it Best Western River Noard hotel koe tanimme ynkomsten mei 300% nei in lansearring fan in nije PWA-ynskeakele webside;
  • Arabysk Avito OpenSooq.com, nei it meitsjen fan PWA-stipe op har webside, koe de tiid fan it besykjen fan 'e side mei 25% ferheegje en it oantal leads mei 260%;
  • de ferneamde dating tsjinst Tinder koe ferminderje it laden snelheid fan 11.91s nei 4.69s troch it ûntwikkeljen fan in PWA; boppedat, de applikaasje weaget 90% minder as syn lânseigen Android tsjinhinger.

It feit dat it wurdich is om omtinken te jaan oan dizze technology wurdt ek oanjûn troch it feit dat ien fan 'e grutste motoren foar it meitsjen fan e-commerce-projekten, Magento, in iere ûntwikkelingferzje fan PWA Studio yn 2018 lansearre. It platfoarm lit jo in React-basearre frontend út it fak meitsje foar jo e-commerce-oplossingen mei PWA-stipe.

Advys foar dyjingen dy't al in ynternetprojekt hawwe of gewoan in idee hawwe foar in nije tsjinst mei stipe foar mobile apparaten: haast net om in folweardige native applikaasje te skriuwen, mar sjoch earst nei PWA-technology. Dit kin de bêste oplossing foar wearde foar jild wêze foar jo produkt.

In bytsje út 'e praktyk. Om in ienfâldige native mobile nijsapplikaasje te meitsjen, op betingst dat jo al in klearmakke REST-tsjinner hawwe, hawwe jo sawat 200-300 manoeren per platfoarm nedich. Mei de gemiddelde merkpriis foar in oere fan ûntwikkeling is 1500-2000 roebel / oere, kin in applikaasje sawat 1 miljoen roebel kostje. As jo ​​in webapplikaasje ûntwikkelje mei folsleine PWA-stipe: push-notifikaasjes, offline modus en oare guod, dan sil de ûntwikkeling 200-300 manoeren nimme, mar it produkt sil fuortendaliks beskikber wêze op alle platfoarms. Dat is, in besparring fan likernôch 2 kear, net te hawwen oer it feit dat jo gjin fergoedingen hoege te beteljen foar pleatsing yn applikaasjewinkels.

Tsjinnerleas

Dit is in oare moderne oanpak fan ûntwikkeling. Fanwege de namme tinke in protte minsken dat dit wirklik serverleaze ûntwikkeling is, d'r is gjin ferlet om back-end-koade te skriuwen, en elke front-end-ûntwikkelder kin in folsleine webapplikaasje meitsje. Mar dat is net wier!

By it meitsjen fan in Serverless-applikaasje hawwe jo noch in server en in databank nedich. It wichtichste ferskil fan dizze oanpak is dat de back-end-koade wurdt presintearre yn 'e foarm fan wolkfunksjes (in oare namme foar serverless is FaaS, funksjonearret as in tsjinst as Functions-as-a-Service) en lit de applikaasje fluch skaalje en maklik. By it meitsjen fan sa'n applikaasje kin de ûntwikkelder rjochtsje op saaklike problemen en net tinke oer skaalfergrutting en it opsetten fan 'e ynfrastruktuer, dy't dêrnei applikaasjeûntwikkeling fersnelt en syn kosten ferminderet. Boppedat sil de Serverless-oanpak jo helpe te besparjen op tsjinnerferhier, om't it krekt safolle boarnen brûkt as nedich om de taak te foltôgjen, en as d'r gjin lading is, dan wurdt servertiid hielendal net brûkt en wurdt net betelle.

Bygelyks, it grutte Amerikaanske mediabedriuw Bustle koe de hostingkosten mei mear as 60% ferminderje by it oerstapjen nei Serverless. En it Coca-Cola-bedriuw, by it ûntwikkeljen fan in automatisearre systeem foar it ferkeapjen fan dranken fia automaten, koe hostingkosten ferminderje fan $ 13000 nei $ 4500 yn 't jier troch te wikseljen nei Serverless.

Yn 'e ôfrûne pear jier, fanwegen syn nijichheid en syn beheiningen, is Serverless benammen brûkt foar lytse projekten, opstarten en MVP's, mar hjoed, tank oan 'e evolúsje fan software, de veelzijdigheid en krêft fan serverkontainerisaasje, binne ark opkommende dat kinne jo beheiningen ferwiderje, de ûntwikkeling fan wolkapplikaasjes ferienfâldigje en fersnelle.
Dit betsjut dat saaklike senario's fan bedriuwen wêr't wolkmodernisaasje earder as ûnmooglik waard beskôge (bygelyks foar râneapparaten, gegevens yn transit, of steatlike applikaasjes) no in realiteit binne. Goede ark dy't in protte belofte toane binne kNative en Serverless ûndernimming.

Mar nettsjinsteande dit alles is Serverless gjin sulveren kûgel foar ûntwikkeling fan webapplikaasjes. Lykas alle oare technology, it hat syn foardielen en neidielen, en jo moatte kieze dit ark mei begryp, en "net hammer spikers mei in mikroskoop" krekt omdat it is mear technologysk avansearre.

Om jo te helpen it út te finen, binne hjir wat foarbylden fan wannear't jo miskien wolle beskôgje Serverless by it ûntwikkeljen fan in nije of it ferbetterjen fan in hjoeddeistige webtsjinst:

  • As de lading op 'e tsjinner periodyk is en jo betelje foar idle kapasiteit. Bygelyks, wy hiene in klant mei in netwurk fan kofje masines en it wie nedich om te ferwurkjen fersiken en sammelje statistiken mar in pear hûndert of tûzen kear deis, en nachts it oantal oanfragen sakke nei ferskate tsientallen. Yn dit gefal is it folle effisjinter om allinich te beteljen foar it eigentlike gebrûk fan boarnen, dus wy foarstelde en ymplementeare in oplossing op Serverless;
  • As jo ​​net fan plan te dûke yn de technyske details fan de ynfrastruktuer en overpay foar it opsetten en ûnderhâlden fan tsjinners en in balancer. Bygelyks, by it ûntwikkeljen fan in merkplak, wite jo net krekt wat it ferkear sil wêze, of oarsom - jo binne fan plan in soad ferkear en sadat jo applikaasje wis is om de lading te wjerstean, dan is Serverless in poerbêste kar.
  • As jo ​​​​wat streaming-eveneminten moatte útfiere yn 'e haadapplikaasje, skriuw sydgegevens yn tabellen, fier wat berekkeningen. Sammelje bygelyks analytyske gegevens fan brûkersaksjes, ferwurkje se op in bepaalde manier en bewarje se yn in databank;
  • As jo ​​​​de hjoeddeistige wurking fan 'e applikaasje moatte ferienfâldigje, ferienigje of fersnelle. Bygelyks, meitsje prestaasjes ferbetterje tsjinsten foar it wurkjen mei ôfbyldings of fideos, as de brûker uploadt fideo nei de wolk, en in aparte funksje behannelet transcoding, wylst de wichtichste tsjinner bliuwt te operearjen as normaal.

As jo ​​​​eveneminten moatte ferwurkje fan tsjinsten fan tredden. Ferwurkje bygelyks antwurden fan betellingssystemen, of omliede brûkersgegevens nei CRM om de ferwurking fan oanfragen fan potensjele kliïnten te fersnellen
As jo ​​​​in grutte applikaasje hawwe en guon dielen fan 'e applikaasje kinne optimaal ymplementearre wurde mei in oare taal as de haadtaal. Jo hawwe bygelyks in projekt yn Java en jo moatte nije funksjonaliteit tafoegje, mar jo hawwe gjin frije hannen, of ymplemintaasje yn in bepaalde taal kin langer duorje en d'r is al in oplossing yn in oare taal, dan kin Serverless helpe mei dit ek.

Dit is net de folsleine list fan ark en technologyen dy't oandacht fertsjinje; Ik haw gewoan dield wat wy sels elke dei brûke yn ús wurk en wit krekt hoe't se it bedriuw kinne helpe.

Boarne: www.habr.com

Add a comment