Тэхналагічныя трэнды вэб-распрацоўкі 2019

Увядзенне

Лічбавая трансфармацыя з кожным годам ахоплівае ўсё больш розных сфер жыцця і бізнэсу. Калі бізнэс жадае быць канкурэнтаздольным звычайных інфармацыйных сайтаў ужо нядосыць, неабходны мабільныя і вэб-прыкладанні, якія не проста даюць карыстачам інфармацыю, але і дазваляюць выконваць нейкія функцыі: атрымліваць або заказваць тавары і паслугі, падаваць прылады.

Тэхналагічныя трэнды вэб-распрацоўкі 2019

Так, напрыклад, сучасным банкам ужо недастаткова мець сайт з інфармацыяй, неабходна мець анлайн прылады для сваіх кліентаў, асабісты кабінет, дзе карыстач можа кіраваць рахункамі, інвестыцыямі, крэдытамі. Нават малому бізнэсу, для падвышэння канверсіі, неабходны зручныя прылады, напрыклад запіс на прыём да лекара ці цырульню, браніраванне століка ў рэстаране ці дзіцячага гульнявога пакоя для правядзення дня нараджэння.

А самім уладальнікам трэба своечасова атрымліваць інфармацыю ў зручным выглядзе па стане сваёй кампаніі, напрыклад, збор статыстычных дадзеных і аналітыкі па розных аддзелах вытворчасцей, або прадукцыйнасць аддзелаў. Часта кожны з аддзелаў, па-свойму збірае гэтыя дадзеныя, і нават могуць выкарыстоўваць розныя інструменты і ўладальніку трэба марнаваць шмат асабістага часу, каб разабрацца ва ўсім гэтым, ускосна ці прама гэта можа ўплываць на эфектыўнасць кампаніі і ў канчатковым рахунку на прыбытак. Тут таксама дапаможа лічбавая трансфармацыя і распрацоўка вэб-або мабільнага дадатку.

Тэхналогіі не стаяць на месцы і ўвесь час развіваюцца, і тое, што выкарыстоўвалі некалькі гадоў таму ўжо можа быць неактуальна сёння, ці тое, што не маглі зрабіць некалькі гадоў таму ўжо стала рэальнасцю. Існуе больш колькасць сучасных інструментаў, якія дапамагаюць ствараць вэб-і мабільныя прыкладанні хутчэй і якасней. Грунтуючыся на асабістых назіраннях і досведзе, жадаю падзяліцца сваім бачаннем, якія з тэхналогій і прылад будуць запатрабаваны хуткім часам і чаму на іх варта звярнуць увагу пры стварэнні сучаснага вэб-прыкладанні.

Single page application (аднастаронкавыя прыкладанні)

Давайце крыху вызначымся з тэрміналогіяй. Single Page Application (SPA) - гэта вэб-дадатак, кампаненты якога загружаюцца аднойчы на ​​адной старонцы, а кантэнт падгружаецца па неабходнасці. І пры пераходзе паміж часткамі прыкладання старонка не перазагружаецца цалкам, а толькі падгружаецца і адлюстроўваюцца неабходныя дадзеныя.

Аднастаронкавыя прыкладанні моцна выйграюць па хуткасці працы і выгодзе выкарыстання ў класічных web-прыкладанняў. Пры дапамозе SPA можна дамагчыся эфекту працы вэбсайта, як прыкладанні на дэсктоп, без перазагрузак і істотных затрымак.

Калі некалькі гадоў таму аднастаронкавыя прыкладанні практычна не падтрымлівалі пошукавую аптымізацыю і іх выкарыстоўвалі пераважна для стварэння асабістых кабінетаў і панэлі адміністравання, то сёння стварыць аднастаронкавы дадатак з поўнай падтрымкай пошукавай аптымізацыі (SEO) стала нашмат прасцей. Выкарыстоўваючы аднастаронкавыя прыкладанні з серверным рэндэрынгам сёння гэтая праблема цалкам знікла. Іншымі словамі, гэта такое ж аднастаронкавы дадатак, але пры першым запыце, сервер генеруе не проста дадзеныя, а стварае гатовую для адлюстравання HTML старонку і пошукавыя сістэмы атрымліваюць гатовыя старонкі з усёй мета-інфармацыяй і семантычнай разметкай.

C развіццём з развіццём інструментаў стварэння кліенцкі вэб-прыкладанняў, распрацоўка і пераход на аднастаронкавыя прыкладанні ў гэтым і наступных гадах будуць толькі расці. Калі ў вас стары дадатак, якое маральна састарэла і працуе павольна, ды яшчэ з поўнай перазагрузкай старонкі пры пераходзе паміж раздзеламі, то сёлета можаце смела абнаўляцца на хуткі аднастаронкавы дадатак - зараз добры час, тэхналогіі ўжо дазваляюць гэта зрабіць даволі хутка і якасна.

Мець сучасны і хуткі вэб-сайт гэта вельмі добра, але хачу шчыра вам паведаміць: не ўсе прыкладанні можна лёгка перавесці ў аднастаронкавыя, і пераход можа абысціся нятанна! Таму трэба разумець, каму і навошта патрэбен такі пераход.

Каб дапамагчы вам разабрацца, у табліцы ніжэй я прывяду некалькі прыкладаў, калі распрацоўка або пераход на SPA дарэчныя і абгрунтаваныя, а калі не.

ЗА

Калі вы жадаеце зрабіць сучаснае, хуткае прыкладанне і жадаеце, каб карысталіся не толькі вэб-версіяй, але і мабільнай ці нават дэсктопнай, а ўсе працэсы і вылічэнні адбываліся на выдаленым або хмарным серверы. Ды яшчэ і так, каб усе кліенты мелі адзін інтэрфейс узаемадзеяння і не было неабходнасці ўносіць кожны праўкі ў серверны код пры даданні новага кліента.

Напрыклад: сацыяльная сетка, агрэгатары, SaaS платформы (праграмнае забеспячэнне як хмарная паслуга), маркетплейсы

Калі ў вас ёсць крама або вэб-сэрвіс, вы ведаеце што ён павольны і людзі сыходзяць, хочаце зрабіць больш хуткім, разумееце каштоўнасць кліентаў і гатовы заплаціць за апгрэйд ад мільёна рублёў.

У вас ёсць мабільнае прыкладанне, якое выкарыстоўвае API сайта, а сайт пры гэтым павольны і з поўнымі перазагрузкамі кантэнту пры пераходзе паміж старонкамі

сУПРАЦЬ

Калі ваша мэтавая аўдыторыя не выкарыстоўвае сучасныя браўзэры і аксэсуары.

Напрыклад: спецыфічныя карпаратыўныя сферы, такія як распрацоўка ўнутраных сістэм для банкаў, медыцынскіх устаноў і адукацыі.

Асноўную дзейнасць вы вядзеце ў афлайне і не гатовы прадастаўляць якія-небудзь паслугі анлайн, і вам трэба проста прыцягнуць кліентаў.

Калі ў вас існуе інтэрнэт-крама ці вэб-сэрвіс, які і так добра прадае, вы не бачыце адтоку кліентаў і скарг

Калі ў вас ёсць працоўны дадатак, якое немагчыма адаптаваць пад SPA і трэба проста ўсё перапісваць з нуля і выкарыстоўваць іншыя тэхналогіі, а вы не гатовыя выдаткаваць на гэта некалькі мільёнаў.

Напрыклад: Ёсць скрынкавы сайт ці нейкі самапісны старажытны, маналітны код.

Прагрэсіўныя вэб -прыкладанні

Progressive Web applications (прагрэсіўнае вэб-прыкладанне) - гэта прадукт сумеснай эвалюцыі натыўнага прыкладання і вэб-сайта. Па сутнасці гэта вэб-дадатак, якое выглядае і паводзіць сябе як рэальнае натыўнае дадатак, можа атрымліваць пуш апавяшчэння, працаваць у афлайн-рэжыме і г.д. Пры гэтым карыстачу не трэба спампоўваць дадатак з AppStore або Google Play, а дастаткова проста захаваць на працоўны стол.

Як тэхналогія або падыход да распрацоўкі PWA развіваецца з 2015 года, а ў апошні час яшчэ і набірае вялікую папулярнасць у e-commerce сферы.

Некалькі рэальных прыкладаў з жыцця:

  • у мінулым годзе гатэль Best Western River North пасля таго, як запусціў новы сайт з падтрымкай PWA, змог павялічыць выручку на 300%;
  • арабская Авіта OpenSooq.com пасля стварэння падтрымкі PWA на сваім сайце змог павялічыць на 25% час наведвання сайта і на 260% колькасць лідаў;
  • вядомы сэрвіс для знаёмстваў Tinder змог паменшыць хуткасць загрузкі з 11.91с да 4.69с распрацаваўшы PWA, больш за тое, прыкладанне важыць на 90% менш свайго натыўнага Android аналага.

Аб тым, што варта звярнуць увагу на гэтую тэхналогію кажа і тое, што адзін з самых буйных рухавічкоў для стварэння e-commerce праектаў Magento ў 2018 годзе запусціў раннюю дэвелаперскую версію PWA Studio. Платформа дазваляе са скрынкі ствараць фронтэнд на базе React для сваіх e-commerce рашэнняў з падтрымкай PWA.

Парада для тых, у каго ўжо ёсць інтэрнэт-праект або толькі ідэя новага сэрвісу з падтрымкай мабільных прылад: не спяшаецеся пісаць паўнавартасны натыўны дадатак, а спачатку паглядзіце на тэхналогію PWA. Магчыма гэта будзе лепшае рашэнне па суадносінах кошту і якасці для вашага прадукта.

Крыху з практыкі. Каб стварыць простае натыўнае мабільнае прыкладанне навін пры ўмове, што ўжо ёсць гатовы REST сервер, неабходна прыкладна 200-300 чалавека-гадзін на кожную платформу. Пры сярэднім кошце па рынку за гадзіну распрацоўкі ў 1500-2000 руб. / Гадзіну, прыкладанне можа каштаваць каля 1 мільёна рублёў. Калі распрацоўваць вэб-дадатак з поўнай падтрымкай PWA: push апавяшчэннямі, афлайн рэжымам і іншым плюшкамі, то распрацоўка зойме 200-300 чалавека-гадзін, але прадукт адразу будзе даступны на ўсіх платформах. Гэта значыць эканомія прыкладна ў 2 разы, не кажучы ўжо пра тое, што не давядзецца плаціць узносаў для размяшчэння ў крамах прыкладанняў.

Без сервера

Гэта яшчэ адзін сучасны падыход да распрацоўкі. З-за назвы многія думаюць, што гэта сапраўды бессерверная распрацоўка, пісаць back-end код не трэба, а любы фронтэнд распрацоўшчык зможа зрабіць паўнавартаснае вэб-дадатак. Але гэта не так!

Пры стварэнні Serverless-прыкладанні сервер па-ранейшаму патрэбен і базы дадзеных таксама. Асноўнае адрозненне гэтага падыходу ў тым, што back-end код прадстаўлены ў выглядзе хмарных функцый (іншая назва serverless - FaaS, функцыі як сэрвіс або Functions-as-a-Service) і дазваляе з дадаткам хутка і лёгка маштабавацца. Пры стварэнні такога прыкладання распрацоўшчык можа сфакусавацца на бізнес-задачах і не думаць аб маштабаванні і наладзе інфраструктуры, што пасля паскарае распрацоўку прыкладання і зніжае яе кошт. Больш за тое, Serverless падыход дапаможа зэканоміць на арэндзе сервераў, бо ён выкарыстоўвае роўна столькі рэсурсаў, колькі трэба для выканання задачы, і калі няма нагрузкі, той серверны час наогул не выкарыстоўваецца і не аплачваецца.

Напрыклад, буйная Амерыканская медыйная кампанія Bustle, змагла паменшыць выдаткі на хостынг больш за на 60% пры пераходзе на Serverless. А кампанія Coca-cola, пры распрацоўцы аўтаматызаванай сістэмы продажу напояў праз аўтаматы, змагла паменшыць выдаткі на хостынг з $13000 да $4500 у год за кошт пераходу на Serverless.

Апошнія пару гадоў з-за навізны і сваіх абмежаванняў Serverless у асноўным выкарыстоўваўся для невялікіх праектаў, стартапаў і MVP, але сёння, дзякуючы эвалюцыі праграмнага забеспячэння, універсальнасці і магутнасці кантэйнерызацыі сервераў, з'яўляюцца прылады, якія дазваляюць прыбраць абмежаванні, спрасціць і паскорыць распрацоўку хмарных прыкладанняў .
Гэта азначае, што карпаратыўныя бізнэс-сцэнары, у якіх хмарная мадэрнізацыя раней лічылася немагчымай (напрыклад, для перыферыйных прылад, якія перадаюцца дадзеных або прыкладанняў з захаваннем стану), зараз з'яўляецца рэальнасцю. Добрымі прыладамі, якія падаюць вялікія надзеі, з'яўляюцца kNative і Serverless enterprise.

Але пры гэтым, Serverless не з'яўляецца срэбнай куляй для распрацоўкі вэб-прыкладанняў. Як і любая іншая тэхналогія яна мае свае добрыя якасці і недахопы, і трэба з разуменнем выбіраць гэту прыладу, а «не забіваць цвікі мікраскопам», толькі таму, што ён тэхналагічней.

Каб дапамагчы вам разабрацца, вось некалькі прыкладаў, калі варта задумацца аб Serverless пры распрацоўцы новага або ўдасканаленні бягучага вэб-сэрвісу:

  • Калі нагрузка на сервер мае перыядычны характар ​​і вы плаціце за просты магутнасцей. Напрыклад, у нас быў кліент з сеткай кававых аўтаматаў і неабходна было апрацоўваць запыты і збіраць статыстыку ўсяго толькі некалькі сотняў ці тысяч разоў у дзень, а ўначы колькасць запытаў падала да некалькіх дзясяткаў. У дадзеным выпадку нашмат больш эфектыўна плаціць толькі за рэальнае выкарыстанне рэсурсаў, таму мы прапанавалі і рэалізавалі рашэнне на Serverless;
  • Калі вы не плануеце апускацца ў тэхнічныя дэталі інфраструктуры і пераплачваць за настройку і падтрымку сервераў і балансавальніка. Напрыклад, пры распрацоўцы маркетплейса вы сапраўды не ведаеце якая будзе наведвальнасць ці наадварот - плануеце вялікую наведвальнасць і каб ваша прыкладанне напэўна вытрымала нагрузку, то Serverless - выдатны выбар.
  • Калі неабходна выконваць нейкія струменевыя падзеі ў працы асноўнага дадатку, запісваць пабочныя дадзеныя ў табліцы, выконваць нейкія вылічэнні. Напрыклад, збіраць аналітычныя дадзеныя дзеянняў карыстача, апрацоўваць іх вызначанай выявай і захоўваць у базу дадзеных;
  • Калі трэба спрасціць, уніфікаваць ці паскорыць бягучую працу прыкладання. Напрыклад, стварыць якая паляпшае прадукцыйнасць сэрвісы па працы з выявамі ці відэа, калі карыстач загружае відэа, у воблака, і транскодзінгам займаецца асобная функцыя, асноўны сервер пры гэтым працягвае працаваць у штатным рэжыме.

Калі трэба апрацоўваць падзеі са іншых сэрвісаў. Напрыклад, апрацоўваць адказы ад плацежных сістэм, ці перанакіроўваць карыстацкія дадзеныя ў CRM для паскарэння апрацоўкі запытаў патэнцыйных кліентаў
Калі ў вас вялікае прыкладанне і некаторыя часткі прыкладання могуць быць рэалізаваны больш аптымальна, выкарыстоўваючы мову, які адрозніваецца ад асноўнага. Напрыклад, у вас праект на Java і трэба дадаць новы функцыянал, а вольных рук няма, ці на дадзенай мове рэалізацыя можа заняць большы час і ёсць ужо рашэнне на іншай мове, то Serverless можа дапамагчы і ў гэтым.

Гэта далёка не ўвесь пералік інструментаў і тэхналогій, якія заслугоўваюць увагі, я толькі падзяліўся тым, што мы самі выкарыстоўваем кожны дзень у працы і сапраўды ведаем, як яны могуць дапамагчы бізнэсу.

Крыніца: habr.com

Дадаць каментар