Sissejuhatus
Digitaalne transformatsioon hĂ”lmab iga aastaga ĂŒha rohkem erinevaid elu- ja Ă€rivaldkondi. Kui ettevĂ”te soovib olla konkurentsivĂ”imeline, ei piisa ainult tavalisest teabesaitidest; vajalikud on mobiilsed ja veebirakendused, mis mitte ainult ei edasta teavet, vaid vĂ”imaldavad ka teatud funktsioone: kaupade ja teenuste tellimine vĂ”i saamine, tööriistade pakkumine.

NĂ€iteks ei piisa tĂ€napĂ€eva pankade jaoks ainult veebilehe olemasolust, mis sisaldab teavet; vajalikud on veebitööriistad oma klientidele, nĂ€iteks isiklikud kontod, kus kasutajad saavad oma kontosid, investeeringuid ja laene hallata. Isegi vĂ€ikeettevĂ”tted vajavad konversiooni suurendamiseks mugavaid tööriistu, nagu nĂ€iteks arstile vĂ”i juuksurile aja broneerimine, restorani laua broneerimine vĂ”i lasteringi ruumi broneerimine sĂŒnnipĂ€eva pidamiseks.
Omandite omanikele on oluline saada Ă”igeaegselt teavet oma ettevĂ”tte seisundi kohta mugaval viisil, nĂ€iteks statistiliste andmete ja analĂŒĂŒsiga erinevate tootmisosakondade kohta vĂ”i osakondade tootlikkust. Sageli koguvad iga osakond neid andmeid erinevalt ja vĂ”ivad isegi kasutada erinevaid tööriistu, mistĂ”ttu peab omanik oma isiklikku aega tootlikult kasutama, et kogu see teave selgeks saada; see vĂ”ib kaudselt vĂ”i otseselt mĂ”jutada ettevĂ”tte efektiivsust ja lĂ”puks ka kasumit. Siin aitab digitaalne transformatsioon ja veeb- vĂ”i mobiilirakenduste arendamine.
Tehnoloogiad ei seisa paigal ja arenevad pidevalt ning see, mida kasutati paar aastat tagasi, ei pruugi tĂ€na enam asjakohane olla, vĂ”i see, mida ei suudetud paar aastat tagasi teostada, on nĂŒĂŒdseks reaalsuseks saanud. TĂ€napĂ€eval on olemas rohkem kaasaegseid tööriistu, mis aitavad luua veeb- ja mobiilirakendusi kiiremini ja kvaliteetsemalt. Olles teinud isiklikke tĂ€helepanekuid ja omades kogemusi, tahan jagada oma nĂ€gemust, millised tehnoloogiad ja tööriistad tulevad lĂ€hitulevikus nĂ”udlusele ning miks nendele tuleks tĂ€helepanu pöörata kaasaegsete veebirakenduste loomisel.
Ăhe lehe rakendus (single page application)
Tulge, mÀÀratleme veidi terminoloogiat. Ăhe Lehe Rakendus (SPA) on veebirakendus, mille komponente laaditakse ĂŒks kord ĂŒhele lehele ning sisu laaditakse vajadusel. Ja rakenduse jaotiste vahel liikudes ei laadita lehte tĂ€ielikult uuesti, vaid laaditakse ja kuvatakse ainult vajalikud andmed.
Ăhe lehe rakendused vĂ”idavad oluliselt kiiruselt ja kasutusmugavuselt klassikaliste veebirakenduste ĂŒle. SPA abil on vĂ”imalik saavutada veebisaidi toimivus, nagu desktopp rakendusel, ilma laadimisteta ja mĂ€rkimisvÀÀrsete viivitusteta.
Kui paar aastat tagasi ei toetatud ĂŒhe lehe rakendusi praktiliselt ĂŒldse otsingumootori optimeerimist ja neid kasutati peamiselt isiklike konto ja halduspaneelide loomiseks, siis tĂ€na on ĂŒhe lehe rakenduse loomine tĂ€ieliku otsingumootori optimeerimise (SEO) toega palju lihtsam. Kasutades serveriteenuse renderdamisega SPA-sid on see probleem tĂ€ielikult kadunud. TeisisĂ”nu, see on sama ĂŒhe lehe rakendus, kuid esmasel pĂ€ringul genereerib server mitte lihtsalt andmeid, vaid loob valmis HTML lehe kuvamiseks, ning otsingumootorid saavad valmis lehed koos kogu meta-informatsiooniga ja semantilise tĂ€histusega.
Kliendipoolsete veebirakenduste loomise tööriistade arengu kĂ€igus kasvab arendus ja ĂŒleminek ĂŒhe lehe rakendustele sel aastal ja tulevikus ainult. Kui teil on vana rakendus, mis on moraalselt aegunud ja töötab aeglaselt, veel tĂ€islehe laadimisega jaotiste vahel liikudes, siis sel aastal vĂ”ite julgelt uuendada kiireks ĂŒhe lehe rakenduseks â praegu on hea aeg, tehnoloogiad vĂ”imaldavad selle kiiresti ja kvaliteetselt teostada.
Omada kaasaegset ja kiiret veebisaiti on vĂ€ga hea, kuid pean ausalt ĂŒtlema: mitte kĂ”ik rakendused ei ole lihtsalt ĂŒhe lehe rakendusteks muudetavad, ja vahetus vĂ”ib osutuda kulukaks! SeetĂ”ttu on oluline mĂ”ista, kellele ja miks selline ĂŒleminek vajalik on.
Selleks, et aidata teil mĂ”ista, olen allolevas tabelis toonud mitmeid nĂ€iteid, millal arendus vĂ”i ĂŒleminek SPA-le on asjakohane ja pĂ”hjendatud, ning millal ei ole.
ZA
Kui soovite luua kaasaegse, kiire rakenduse ning soovite, et seda kasutataks mitte ainult veebiversioonis, vaid ka mobiili- vĂ”i isegi lauaarvuti versioonis, ning et kĂ”ik protsessid ja arvutused toimuksid kauges vĂ”i pilveserveris. Lisaks soovite, et kĂ”ik kliendid omaksid ĂŒhte suhtlusliidest ning ei oleks vajadust iga kord serverikoodi muuta, kui lisatakse uus klient.
NÀiteks: sotsiaalne vÔrgustik, agregaatide teenused, SaaS platvormid (tarkvara kui teenus), turuplatsid
Kui teil on pood vÔi veebiteenus, tead, et see on aeglane ja inimesed lahkuvad, soovite selle kiiremaks muuta, mÔistate klientide vÀÀrtust ja olete valmis uuendamise eest maksma alates miljonist rublast.
Teil on mobiilirakendus, mis kasutab saidi API-d, kuid saidi kiirus on madal ja sisu laaditakse tĂ€ielikult ĂŒmber, kui lehtede vahel liikuda.
VASTU
Kui teie sihtrĂŒhm ei kasuta kaasaegseid brausereid ja seadmeid.
NĂ€iteks: spetsiifilised ettevĂ”tte valdkonnad, nagu sise sĂŒsteemide arendamine pankades, meditsiiniasutustes ja hariduses.
Teie pÔhi tegevus toimub offline ning te ei ole valmis pakkuma mingeid teenuseid veebis, ning teil on vaja lihtsalt kliente meelitada.
Kui teil on olemas veebipood vĂ”i teenus, mis juba hĂ€sti mĂŒĂŒb, te ei nĂ€e klientide lahkumist ega kaebusi.
Kui teil on toimiv rakendus, mida ei saa SPA-ks kohandada ja peate kĂ”ik nullist ĂŒmber kirjutama ning kasutama teisi tehnoloogiaid, kuid te ei ole valmis selleks kulutama mitmeid miljonit.
NÀiteks: on kastisait vÔi mingi vananenud, monoliitne kood.
Progressiivsed veebirakendused
Progressiivsed veebirakendused (Progressive Web Applications) â see on toode, mis on loodud natiivrakenduse ja veebisaidi koostöös. EessĂ”nas on see veebirakendus, mis nĂ€eb vĂ€lja ja kĂ€itub nagu tĂ”eline natiivrakendus, vĂ”ib saada push-teateid, töötada offline-reĆŸiimis jne. Samuti ei pea kasutaja rakendust AppStore'ist vĂ”i Google Play'st alla laadima, piisab lihtsalt töölauale salvestamisest.
Kuna PWA tehnoloogia vÔi arenduslÀhenemine on arenenud alates 2015. aastast, on see viimastel aegadel ka tohutult populaarsust kogunud e-kaubanduse valdkonnas.
MÔned reaalsed elulised nÀited:
- Eelmisel aastal suutsid Best Western River North hotell, pÀrast uue PWA-toega veebilehe kÀivitamist, suurendada oma tulu 300%;
- Araabia Avito OpenSooq.com suutis pĂ€rast PWA toe loomist oma veebilehel suurendada kĂŒlastusaega 25% ja mĂŒĂŒgivihjete arvu 260%;
- Tuntud tutvumisteenus Tinder suutis vÀhendada laadimisaega 11.91 s-lt 4.69 s-le, arendades PWA-d, veelgi enam, rakendus kaalub 90% vÀhem kui selle natiivne Androidi analoog.
TĂ”ik, et sellele tehnoloogiale tuleks tĂ€helepanu pöörata, on see, et ĂŒks suurimaid e-kaubanduse projektide arendamise mootoritest, Magento, kĂ€ivitas 2018. aastal varase arendajaversiooni PWA Studiost. Platvorm vĂ”imaldab âkarbist vĂ€ljaâ luua Reacti pĂ”hjal esipaneeli oma e-kaubanduse lahendustele PWA toega.
NÔuanne neile, kellel on juba internetiprojekt vÔi ainult idee uue teenuse loomiseks mobiilsete seadmete toega: Àrge kiirustage kirjutama tÀisversiooni natiivset rakendust, vaid vaadake esmalt PWA technologiat. VÔib-olla on see teie toote jaoks parim hind-kvaliteedi suhe.
Natuke praktikast. Lihtsa uudiste natiivse mobiilirakenduse loomiseks, tingimusel et olemas on REST server, kulub umbes 200-300 inime-tundi iga platvormi kohta. Keskmise turuhinna korral 1500-2000 rubla/tund vĂ”ib rakendus maksma minna umbes 1 miljon rubla. Kui arendada veebirakendust koos tĂ€ieliku PWA toega: push-teavitustega, offline-reĆŸiimi ja muude lisafunktsioonidega, siis arendus vĂ”tab 200-300 inime-tundi, kuid toode on kohe kĂ”igil platvormidel saadaval. See tĂ€hendab umbes 2-kordset sÀÀstu, rÀÀkimata sellest, et ei pea maksma tasusid rakenduste poodidesse paigutamiseks.
Serverless
See on veel ĂŒks tĂ€napĂ€evane lĂ€henemine arendusele. Nime tĂ”ttu arvavad paljud, et see on tĂ”eliselt serverivaba arendus, back-end koodi kirjutamine ei ole vajalik ja iga front-end arendaja suudab luua tĂ€isfunksionaalse veebirakenduse. Kuid see pole tĂ”si!
Serverless-rakenduse loomisel on server siiski vajalik ja andmebaasid samuti. Peamine erinevus selle lĂ€henemise puhul on see, et tagakoodi esitavad pilvefunktsioonid (Serverlessi teine nimetus on FaaS, funktsioonid teenusena) ja see vĂ”imaldab rakendust kiiresti ja lihtsalt skaleerida. Sellise rakenduse loomisel saab arendaja keskenduda Ă€rieesmĂ€rkidele, mitte skalaarimisele ja infrastruktuuri seadistamisele, mis kiirendab rakenduse arendamist ja vĂ€hendab selle kogumakse. Veelgi enam, Serverless lĂ€henemine aitab sÀÀsta ĂŒĂŒri serverid, kuna see kasutab tĂ€pselt nii palju ressursse, kui on vajalik ĂŒlesande tĂ€itmiseks, ja kui koormust ei ole, siis serveri aega ei kasutata ja ei tasustata.
NĂ€iteks suutis suur Ameerika meediakompanii Bustle vĂ€hendada kulusid hostimine rohkem kui 60% ĂŒleminekul Serverlessile. Coca-Cola suutis automatiseeritud jookide mĂŒĂŒgisuhtes masinate kaudu arendamisel vĂ€hendada hostimise kulusid $13000-lt $4500-le aastas Serverlessile ĂŒlemineku tĂ”ttu.
Viimased paar aastat on Serverlessi peamiselt kasutatud vÀikestes projektides, idufirmades ja MVP-des uudsuse ja piirangute tÔttu, kuid tÀnapÀeval, tÀnu tarkvara arengule, serverite konteinerimise universaalsusele ja vÔimsusele, ilmuvad tööriistad, mis vÔimaldavad piiranguid kÔrvaldada, lihtsustada ja kiirendada pilverakenduste arendamist.
See tĂ€hendab, et ettevĂ”tte Ă€ri stsenaariumid, kus varem peeti pilveuuendust vĂ”imatuks (nĂ€iteks servaseadmete, edastatud andmete vĂ”i oleku sĂ€ilitamise rakenduste jaoks), on nĂŒĂŒd reaalsus. Hea tööriist, mis tĂ”otab suurt potentsiaali, on kNative ja Serverless enterprise.
Kuid kÔigist neist tuleb mÀrkida, et Serverless ei ole hÔbedane kuul veebirakenduste arendamiseks. Nagu iga teine tehnoloogia, on tal oma eelised ja puudused ning seda tööriista tuleb valida arusaamisega, mitte 'naela naela mikroskoobiga', ainult sellepÀrast, et see on tehnoloogilisem.
Et aidata teil aru saada, on siin mÔned nÀited, millal tasub mÔelda Serverlessile uue veebiteenuse arendamise vÔi olemasoleva tÀiustamise puhul:
- Kui serveri koormus on perioodiline ja maksate ressursi seisu eest. NĂ€iteks meil oli klient, kellel oli kohvimasinate vĂ”rgustik ja kes pidi töötlema pĂ€ringuid ning koguma statistikat vaid paarisaja vĂ”i tuhande korda pĂ€evas, kuid öösel langes pĂ€ringute arv paarikĂŒmnele. Sellisel juhul on oluliselt tĂ”husam maksta ainult reaalse ressursikasutuse eest, seetĂ”ttu pakkusime ja rakendasime lahenduse Serverless;
- Kui te ei plaani sĂŒveneda infrastruktuuri tehnilistesse detailidesse ja ĂŒle maksta serverite ja koormuse tasakaalustaja seadistamise ning hooldamise eest. NĂ€iteks, kui arendate turuplatvormi, ei tea te tĂ€pselt, milline on kĂŒlastatavus, vĂ”i vastupidi â plaanite suurt kĂŒlastatavust ja soovite, et teie rakendus taluks koormust, siis on Serverless suurepĂ€rane valik.
- Kui on vaja teostada mĂ”ningaid voogedastusĂŒritusi pĂ”hioskuses, salvestada kĂ”rvalandmeid tabelitesse, teostada mĂ”ningaid arvutusi. NĂ€iteks, koguda analĂŒĂŒtilisi andmeid kasutaja tegevuste kohta, töödelda neid teatud viisil ja salvestada andmebaasi;
- Kui on vajalik lihtsustada, ĂŒhtlustada vĂ”i kiirendada rakenduse praegust tööd. NĂ€iteks luua jĂ”udlust parandavad teenused piltide vĂ”i videote töötlemiseks, kui kasutaja laadib video pilve ja eraldi funktsioon tegeleb transkodeerimisega, samas kui pĂ”hiserver töötab tavapĂ€rasel viisil.
Kui on vaja töötleda sĂŒndmusi vĂ€listelt teenustelt. NĂ€iteks töötleda maksesĂŒsteemidelt vastuseid vĂ”i suunata kasutajaandmed CRM-i, et kiirendada potentsiaalsete klientide pĂ€ringute töötlemist.
Kui teil on suur rakendus ja mÔned rakenduse osad vÔiksid olla rakendatud efektiivsemalt, kasutades keelt, mis erineb pÔhikeelest. NÀiteks, teil on projekt Java-s ja peate lisama uue funktsionaalsuse, kuid kÀsitsi on kÀed vabad ja antud keeles rakendamine vÔib vÔtta rohkem aega. Serverless vÔib abiks olla ka sellel juhul.
See pole kaugeltki kogu tööriistade ja tehnoloogiate loetelu, mis vÀÀrivad tÀhelepanu; jagan vaid seda, mida me iga pÀev oma töös kasutame ja teame tÀpselt, kuidas need saavad aidata Àri.
Allikas: habr.com
