Mga uso sa teknolohiya ng web development 2019

Pagpapakilala

Sinasaklaw ng digital na pagbabagong-anyo ang higit na iba't ibang larangan ng buhay at negosyo bawat taon. Kung nais ng isang negosyo na maging mapagkumpitensya, hindi na sapat ang mga ordinaryong site ng impormasyon, kailangan ang mga mobile at web application na hindi lamang nagbibigay ng impormasyon sa mga user, ngunit pinapayagan din silang magsagawa ng ilang partikular na function: tumanggap o mag-order ng mga produkto at serbisyo, magbigay ng mga tool.

Mga uso sa teknolohiya ng web development 2019

Halimbawa, hindi na sapat para sa mga modernong bangko na magkaroon ng isang website na may impormasyon; kailangan nilang magkaroon ng mga online na tool para sa kanilang mga kliyente, isang personal na account kung saan maaaring pamahalaan ng user ang mga account, pamumuhunan, at mga pautang. Kahit na ang maliliit na negosyo ay nangangailangan ng mga maginhawang tool upang mapataas ang mga conversion, gaya ng pakikipag-appointment sa isang doktor o tagapag-ayos ng buhok, o pag-book ng mesa sa isang restaurant o playroom ng mga bata para sa isang birthday party.

At ang mga may-ari mismo ay kailangang makatanggap ng napapanahong impormasyon sa isang maginhawang form sa estado ng kanilang kumpanya, halimbawa, ang koleksyon ng statistical data at analytics para sa iba't ibang mga departamento ng produksyon, o ang pagiging produktibo ng mga departamento. Kadalasan, kinokolekta ng bawat departamento ang data na ito sa sarili nitong paraan, at maaaring gumamit pa ng iba't ibang tool at kailangang gumugol ng maraming personal na oras ang may-ari upang maunawaan ang lahat ng ito, sa hindi direkta o direkta na ito ay maaaring makaapekto sa kahusayan ng kumpanya at sa huli ay kita. Makakatulong din dito ang digital transformation at web o mobile application development.

Ang mga teknolohiya ay hindi tumitigil at patuloy na umuunlad, at kung ano ang ginamit ilang taon na ang nakakaraan ay maaaring hindi na nauugnay ngayon, o kung ano ang hindi maaaring gawin ilang taon na ang nakalipas ay naging isang katotohanan na. Mayroong mas modernong mga tool na makakatulong sa iyong lumikha ng mga web at mobile application nang mas mabilis at mas mahusay. Batay sa mga personal na obserbasyon at karanasan, gusto kong ibahagi ang aking pananaw kung aling mga teknolohiya at tool ang hihilingin sa malapit na hinaharap at kung bakit dapat mong bigyang pansin ang mga ito kapag gumagawa ng modernong web application.

Isang application na pahina

Bigyan natin ng kaunti ang terminolohiya. Ang Single Page Application (SPA) ay isang web application na ang mga bahagi ay na-load nang isang beses sa isang pahina, at ang nilalaman ay na-load kung kinakailangan. At kapag lumilipat sa pagitan ng mga seksyon ng application, ang pahina ay hindi ganap na nagre-reload, ngunit naglo-load lamang at nagpapakita ng kinakailangang data.

Malaki ang pakinabang ng mga single-page na application mula sa mga klasikong web application sa mga tuntunin ng bilis at kadalian ng paggamit. Sa tulong ng SPA, makakamit mo ang epekto ng isang website na gumagana tulad ng isang application sa isang desktop, nang walang mga pag-reboot at makabuluhang pagkaantala.

Kung ilang taon na ang nakalipas, halos hindi sinusuportahan ng mga single-page na application ang search engine optimization at pangunahing ginagamit para sa paglikha ng mga personal na account at mga panel ng administrasyon, ngayon ay naging mas madali ang paglikha ng isang solong-pahinang application na may ganap na suporta para sa search engine optimization (SEO). Gamit ang server-rendered single page applications ngayon, ang problemang ito ay ganap na nawala. Sa madaling salita, ito ay ang parehong solong-pahinang application, ngunit sa unang kahilingan, ang server ay bumubuo hindi lamang ng data, ngunit lumilikha ng isang HTML na pahina na handa para sa pagpapakita at ang mga search engine ay tumatanggap ng mga yari na pahina na may lahat ng meta impormasyon at semantic markup .

Sa pagbuo ng mga tool para sa paglikha ng client-side web application, ang pagbuo at paglipat sa mga single-page na application ay lalago lamang sa mga ito at sa mga susunod na taon. Kung mayroon kang lumang application na lipas na at mabagal na gumagana, at kahit na may kumpletong pag-reload ng pahina kapag nagpalipat-lipat sa mga seksyon, sa taong ito maaari kang ligtas na mag-upgrade sa isang mabilis na isang-pahinang application - ngayon ay isang magandang panahon, pinapayagan ka na ng teknolohiya upang gawin ito nang mabilis at mahusay.

Ang pagkakaroon ng moderno at mabilis na website ay napakahusay, ngunit hayaan mong sabihin ko sa iyo nang tapat: hindi lahat ng application ay madaling ma-convert sa isang-pahinang application, at ang paglipat ay maaaring magastos! Samakatuwid, kailangan mong maunawaan kung sino ang nangangailangan ng gayong paglipat at bakit.

Upang matulungan kang maunawaan, sa talahanayan sa ibaba ay magbibigay ako ng ilang mga halimbawa kung kailan ang pagbuo o paglipat sa isang SPA ay angkop at makatwiran, at kung kailan hindi.

PARA SA

Kung gusto mong gumawa ng moderno, mabilis na application at nais mong gamitin hindi lamang ang web version, kundi pati na rin ang mobile o kahit desktop na bersyon, at lahat ng proseso at kalkulasyon ay nagaganap sa isang remote o cloud server. Bukod dito, upang ang lahat ng mga kliyente ay magkaroon ng isang interface ng pakikipag-ugnayan at hindi na kailangang gawin ang bawat pag-edit sa code ng server kapag nagdadagdag ng bagong kliyente.

Halimbawa: social network, aggregators, SaaS platforms (software as a cloud service), marketplaces

Kung mayroon kang isang tindahan o serbisyo sa web, alam mo na ito ay mabagal at ang mga tao ay umaalis, gusto mong gawin itong mas mabilis, naiintindihan mo ang halaga ng mga customer at handa kang magbayad ng higit sa isang milyong rubles para sa isang pag-upgrade.

Mayroon kang isang mobile application na gumagamit ng API ng site, ngunit ang site ay mabagal at may kumpletong pag-reload ng nilalaman kapag lumilipat sa pagitan ng mga pahina

LABAN

Kung ang iyong target na madla ay hindi gumagamit ng mga modernong browser at device.

Halimbawa: mga partikular na lugar ng korporasyon, tulad ng pagbuo ng mga panloob na sistema para sa mga bangko, institusyong medikal at edukasyon.

Isinasagawa mo ang iyong mga pangunahing aktibidad nang offline at hindi pa handang magbigay ng anumang mga serbisyo online, at kailangan mo lang manghikayat ng mga kliyente.

Kung mayroon kang online na tindahan o serbisyo sa web na mahusay na nagbebenta, hindi mo makikita ang pag-agos ng customer o mga reklamo

Kung mayroon kang gumaganang application na hindi maaaring iakma para sa SPA at kailangan mo lamang na muling isulat ang lahat mula sa simula at gumamit ng iba pang mga teknolohiya, at hindi ka pa handang gumastos ng ilang milyon para dito.

Halimbawa: May naka-box na site o ilang uri ng sinaunang, monolitikong code na isinulat sa bahay.

Mga Progresibong Web Application

Ang mga progresibong Web application ay produkto ng pinagsamang ebolusyon ng isang katutubong aplikasyon at isang website. Sa pangkalahatan, ito ay isang web application na mukhang at kumikilos tulad ng isang tunay na katutubong application, maaaring makatanggap ng mga push notification, gumana sa offline mode, atbp. Sa kasong ito, hindi kailangang i-download ng user ang application mula sa AppStore o Google Play, ngunit i-save lang ito sa desktop.

Bilang isang teknolohiya o diskarte sa pag-unlad, ang PWA ay umuunlad mula noong 2015, at kamakailan ay nakakuha ng napakalaking katanyagan sa larangan ng e-commerce.

Ilang halimbawa sa totoong buhay:

  • noong nakaraang taon, ang Best Western River North hotel ay nakapagpataas ng kita ng 300% pagkatapos maglunsad ng bagong website na pinagana ng PWA;
  • Ang Arabic Avito OpenSooq.com, pagkatapos lumikha ng suporta ng PWA sa website nito, ay nakapagpataas ng oras ng pagbisita sa site ng 25% at ang bilang ng mga lead ng 260%;
  • ang sikat na serbisyo sa pakikipag-date na Tinder ay nagawang bawasan ang bilis ng paglo-load mula 11.91s hanggang 4.69s sa pamamagitan ng pagbuo ng isang PWA; higit pa rito, ang application ay may timbang na 90% na mas mababa kaysa sa katutubong Android counterpart nito.

Ang katotohanan na ito ay nagkakahalaga ng pagbibigay pansin sa teknolohiyang ito ay ipinapahiwatig din ng katotohanan na ang isa sa pinakamalaking makina para sa paglikha ng mga proyektong e-commerce, ang Magento, ay naglunsad ng isang maagang bersyon ng pag-unlad ng PWA Studio noong 2018. Binibigyang-daan ka ng platform na lumikha ng frontend na nakabatay sa React out of the box para sa iyong mga solusyon sa e-commerce na may suporta sa PWA.

Payo para sa mga mayroon nang proyekto sa Internet o isang ideya lamang para sa isang bagong serbisyo na may suporta para sa mga mobile device: huwag magmadali upang magsulat ng isang ganap na katutubong application, ngunit tingnan muna ang teknolohiya ng PWA. Maaaring ito ang pinakamahusay na solusyon sa halaga para sa pera para sa iyong produkto.

Kaunti mula sa pagsasanay. Upang lumikha ng isang simpleng katutubong mobile na application ng balita, sa kondisyon na mayroon ka nang handa na REST server, kailangan mo ng humigit-kumulang 200-300 man-hours bawat platform. Sa average na presyo ng merkado para sa isang oras ng pag-unlad na 1500-2000 rubles / oras, ang isang aplikasyon ay maaaring nagkakahalaga ng halos 1 milyong rubles. Kung bumuo ka ng isang web application na may ganap na suporta para sa PWA: mga push notification, offline mode at iba pang goodies, aabutin ng 200-300 man-hours ang pag-develop, ngunit ang produkto ay magiging available kaagad sa lahat ng platform. Iyon ay, isang pagtitipid ng humigit-kumulang 2 beses, hindi sa banggitin ang katotohanan na hindi mo kailangang magbayad ng mga bayarin para sa paglalagay sa mga tindahan ng aplikasyon.

Walang server

Ito ay isa pang modernong diskarte sa pag-unlad. Dahil sa pangalan, maraming tao ang nag-iisip na ito ay tunay na walang server na pag-unlad, hindi na kailangang magsulat ng back-end na code, at anumang front-end na developer ay maaaring lumikha ng isang ganap na web application. Ngunit hindi iyon totoo!

Kapag gumagawa ng isang Serverless na application, kailangan mo pa rin ng isang server at isang database. Ang pangunahing pagkakaiba ng diskarteng ito ay ang back-end na code ay ipinakita sa anyo ng mga cloud function (isa pang pangalan para sa serverless ay FaaS, gumagana bilang isang serbisyo o Functions-as-a-Service) at pinapayagan ang application na mabilis na mag-scale at madali. Kapag gumagawa ng ganoong application, maaaring tumuon ang developer sa mga problema sa negosyo at hindi mag-isip tungkol sa pag-scale at pag-set up ng imprastraktura, na kasunod na nagpapabilis sa pagbuo ng application at binabawasan ang gastos nito. Bukod dito, ang Serverless na diskarte ay makakatulong sa iyo na makatipid sa mga pagrenta ng server, dahil gumagamit ito ng eksaktong maraming mapagkukunan kung kinakailangan upang makumpleto ang gawain, at kung walang pag-load, kung gayon ang oras ng server ay hindi ginagamit at hindi binabayaran.

Halimbawa, nagawang bawasan ng malaking American media company na Bustle ang mga gastos sa pagho-host nang higit sa 60% kapag lumipat sa Serverless. At ang kumpanya ng Coca-Cola, nang bumuo ng isang awtomatikong sistema para sa pagbebenta ng mga inumin sa pamamagitan ng mga vending machine, ay nagawang bawasan ang mga gastos sa pagho-host mula $13000 hanggang $4500 bawat taon sa pamamagitan ng paglipat sa Walang Server.

Sa nakalipas na ilang taon, dahil sa pagiging bago nito at mga limitasyon nito, ang Serverless ay pangunahing ginagamit para sa maliliit na proyekto, mga startup at MVP, ngunit ngayon, salamat sa ebolusyon ng software, ang versatility at kapangyarihan ng containerization ng server, umuusbong ang mga tool na nagbibigay-daan sa iyong alisin ang mga paghihigpit, pasimplehin at pabilisin ang pagbuo ng mga cloud application .
Nangangahulugan ito na ang mga sitwasyon sa negosyo ng enterprise kung saan ang cloud modernization ay dating itinuturing na imposible (halimbawa, para sa mga edge na device, data sa transit, o stateful application) ay isa na ngayong realidad. Ang magagandang tool na nagpapakita ng maraming pangako ay kNative at Serverless enterprise.

Ngunit sa kabila ng lahat ng ito, ang Serverless ay hindi isang silver bullet para sa pagbuo ng web application. Tulad ng anumang iba pang teknolohiya, mayroon itong mga pakinabang at disadvantages, at kailangan mong piliin ang tool na ito nang may pag-unawa, at "hindi martilyo ang mga kuko gamit ang isang mikroskopyo" dahil lamang ito ay mas advanced sa teknolohiya.

Upang matulungan kang malaman ito, narito ang ilang halimbawa kung kailan mo gustong isaalang-alang ang Serverless kapag bumubuo ng bago o nagpapahusay ng kasalukuyang serbisyo sa web:

  • Kapag panaka-nakang ang load sa server at nagbabayad ka para sa idle capacity. Halimbawa, mayroon kaming isang kliyente na may network ng mga coffee machine at kinakailangang iproseso ang mga kahilingan at mangolekta ng mga istatistika lamang ng ilang daan o libong beses sa isang araw, at sa gabi ay bumaba ang bilang ng mga kahilingan sa ilang dosena. Sa kasong ito, mas mahusay na magbayad lamang para sa aktwal na paggamit ng mga mapagkukunan, kaya iminungkahi at ipinatupad namin ang isang solusyon sa Serverless;
  • Kung wala kang planong sumisid sa mga teknikal na detalye ng imprastraktura at sobrang bayad para sa pag-set up at pagpapanatili ng mga server at isang balancer. Halimbawa, kapag bumubuo ng isang marketplace, hindi mo alam kung ano mismo ang magiging trapiko, o kabaliktaran - nagpaplano ka ng maraming trapiko at upang ang iyong aplikasyon ay siguradong makatiis sa pagkarga, kung gayon ang Serverless ay isang mahusay na pagpipilian.
  • Kung kailangan mong magsagawa ng ilang mga kaganapan sa streaming sa pangunahing application, isulat ang data sa gilid sa mga talahanayan, magsagawa ng ilang mga kalkulasyon. Halimbawa, mangolekta ng analytical data ng mga aksyon ng user, iproseso ang mga ito sa isang tiyak na paraan at i-save ang mga ito sa isang database;
  • Kung kailangan mong pasimplehin, pag-isahin o pabilisin ang kasalukuyang operasyon ng application. Halimbawa, lumikha ng mga serbisyong nagpapahusay sa pagganap para sa pagtatrabaho sa mga larawan o video, kapag nag-upload ang user ng video sa cloud, at isang hiwalay na function ang humahawak sa transcoding, habang ang pangunahing server ay patuloy na gumagana bilang normal.

Kung kailangan mong iproseso ang mga kaganapan mula sa mga serbisyo ng third-party. Halimbawa, iproseso ang mga tugon mula sa mga sistema ng pagbabayad, o i-redirect ang data ng user sa CRM upang mapabilis ang pagproseso ng mga kahilingan mula sa mga potensyal na kliyente
Kung mayroon kang isang malaking application at ang ilang bahagi ng application ay maaaring ipatupad nang mas mahusay gamit ang isang wika na naiiba sa pangunahing isa. Halimbawa, mayroon kang proyekto sa Java at kailangan mong magdagdag ng bagong functionality, ngunit wala kang anumang mga libreng kamay, o ang pagpapatupad sa isang partikular na wika ay maaaring magtagal at mayroon nang solusyon sa ibang wika, pagkatapos ay makakatulong ang Serverless kasama din ito.

Hindi ito ang buong listahan ng mga tool at teknolohiya na nararapat pansinin; Ibinahagi ko lang kung ano mismo ang ginagamit natin araw-araw sa ating trabaho at alam kung paano sila makakatulong sa negosyo.

Pinagmulan: www.habr.com

Magdagdag ng komento