Ma olen juba pikka aega tegelenud veebirakenduste arendamisega. TĂ”eliselt pikka aega. Oma esimesed veebirakendused lĂ”in ma keskkonnas , kui sĂ”na «google» ei olnud veel tegusĂ”na, ja internetis infokogumiseks kasutasid inimesed Yahoo! ja Ramblerit. Mina kasutasin âi â neil oli kitsendav otsing ja vĂ€hem kaootiline kasutajaliides kui Yahoo-l.
Rakenduste arendamine, igasuguste rakenduste, mitte ainult veebirakenduste, on loominguline töö. Harva keegi vaidlustab selle vĂ€ite. Kuid ilu loomingus, see on nagu praktika teaduslikus tunnetamises â tĂ”e kriteerium. Kuid teaduslik praktika on objektiivne ja pĂ”hineb mÔÔtmistel, samas kui ilu on subjektiivne, sĂ”ltudes vaatajast. Nii ma kĂŒsisin endalt, mis on minu arvates ilus veebirakendus?

(KĂŒpsenud, minu jaoks pole see esteetika, aga IMHO, naiselik vaade on sellel teemal kohasem, kui mehelik, sest see on â !)
Allpool jagan enda kriteeriume, mille alusel vĂ”ib praegust veebirakendust pidada ilusaks. VĂ€ga subjektiivne esitlus, mis tuleneb minu isiklikust kogemusest. VĂ”imalik, et mĂ”nele tunduvad mu ilu kriteeriumid hoopis koleduse kriteeriumid. Ărge imestage, teie kogemus on lihtsalt erinev.
Ja kuna te juba allpool olete, siis palun olge kommentaarides ettevaatlikud. Kui te saate artikli lugemise lÔpetada, kui selle sisu tundub teile kole vÔi isegi vastik, siis mina, autori poole, pean lugema kÔiki kommentaare.
Elukeskkond
Protokollid
Ma ei teagi, kas selle kriteeriumi eraldi vĂ€lja toomine on vajalik. Veebirakendused elavad Internetis ja peavad vastama vĂ”rgu seadustele (protokollidele). Peamised protokollid Internetis on ja . Nendele pĂ”hinevad paljud teised protokollid, kuid ma pean veebirakenduste jaoks kĂ”ige olulisemaks (vĂ”i pigem selle laiendust pĂ”hjal ). See tĂ€hendab, et ilus veebirakendus on saadaval HTTPS/TLS kaudu (vĂ”imalus â HTTP kaudu), kuid kĂ”ik teised protokollid (LDAP, RPC, IMAP4, POP3, SMTP, FTP, NNTP, âŠ) muudavad selle vĂ€hem ilusaks iga uue toetatava protokolliga. Ise rakendus vĂ”ib nende tĂ€iendavate protokollide abil kasutada vĂ€liseid ressursse.
Mis puudutab , aga mul ei ole piisavalt kogemusi selle protokolli kasutamise osas veebirakendustes. See nĂ€eb vĂ€lja ilus ja lubav, kuid kui stabiilne ja praktiline see on â seda ma ei oska öelda.
Brauserid
Veebirakendus toetab serveripoolt vaid ĂŒhe jalaga, teine ââon kliendipool. Kliendipool on brauser. Kaasaegne brauser pakub mida kaasaegne veebirakendus saab ja peab oma huvides kasutama. Kaunis veebirakendus kasutab kaasaegseid brauserite vĂ”imalusi ja ei pea töötama brauserites, mis neid ei toeta. Ma mĂ”istan, et on sunnitud lahendus, kuid see ei ole ilus. LĂ”ppude lĂ”puks ei tohiks ainult arendajad kaasas kĂ€ia kaasaegsete tehnoloogiatega, see puudutab ka kasutajaid ja Ă€ri.
KTP
Veebirakenduste loomiseks kasutatavate programmeerimiskeeltega on kÔik vÀga keeruline. Veebirakenduste kliendipoolte jaoks on palju tehnoloogiaid, mis vÔimaldavad arendajal lihtsustada HTML/CSS/JS triadi loomist (kui need on kÔik kaasaegsete brauserite arusaadavad). Kuid mina puutusin omal ajal tihedalt kokku ja pean ilusaks, kui arendaja nÀeb brauseris algset koodi, mitte kompileerimise vÔi transpileerimise tulemust. SeetÔttu on 's ja sarnaste toodete kasutamine kliendikoodi genereerimiseks, IMHO, inetuks. Mida rohkem on brauseris tÀidetav kood sarnane arendaja loodud algkoodiga, seda parem. Ei usu? Proovi debugida tootmises GWT loodud koodi.
Serveripoolsetes rakendustes on rohkem vabadust (Java, PHP, Perl, Python, C#, Ruby jne), kuid mulle tundub ilusam, kui serveripoolses ja brauseris kasutatakse ĂŒht programmeerimiskeelt â JavaScripti. LĂ”ppude lĂ”puks , ja sarnaste mĂ”tteviisidega meeskonnad on produktiivsemad.
Inimlikkus
Kaunis veebirakendus peab olema kasulik. EelkĂ”ige peab see olema kasulik inimesele, kui lĂ”ppkasutajale. SeetĂ”ttu ei saa ma nimetada kauniks veebirakenduseks . TĂŒĂŒpilisel inimesel (mitte veebi arendajal) on nende kasutamine keeruline. Veebiteenused on ilusad omal moel,
Kaunis veebirakendus peab omama intuitiivselt arusaadavat liidest. VĂ”ib vaielda, ' kas see on pĂ€ris subjektiivne asi. Kuid on palju lihtsam, kui kasutaja ei saa rakendust kasutada ilma ihaldatud â halb UX, inetuks veebirakenduseks. KĂ”ige ilusamad veebirakendused selle kriteeriumi suhtes saavad lastega, kes ei oska veel lugeda, kergesti hakkama.
Tagasiulatuvus
Kaua aega tagasi oli programme vĂ”imalik kanda disketidel, nĂŒĂŒd - mĂ€lupulkadel vĂ”i laadida otse Internetist. Tavalise rakenduse kopeerimine ja selle kĂ€ivitamine teisel masinal on triviaalne ĂŒlesanne. Veebirakenduste puhul on olukord aga veidi eriline. VĂ”rk on globaalne keskkond, kus pole vaja omada ĂŒhe ja sama veebirakenduse kloone. Internetis piisab ĂŒhest Facebookist, Twitterist, Instagramist, Mail.ru vĂ”i Yandexist. Samas teemas vĂ”ib olla erinevaid veebirakendusi, kuid erinevate sihtrĂŒhmadega (nĂ€iteks Facebook ja Vkontakte, Mail.ru ja Gmail, Google Maps ja Azure Maps). Nende veebirakenduste globaalsete kĂ€ttesaadavuse tagamiseks on vajalikud, ĂŒtleme nii, .
Ma ei ole kunagi töötanud veebirakendustega sellisel tasemel arendajana ja ei kujuta ette, kuidas need seestpoolt toimivad. Nende veebirakenduste toimimise tagamiseks on vajalikud vastava ala spetsialistide meeskonnad ning eraldi andmekeskused. Mind imetleb inimeste vĂ”ime koostööd teha sellisel skaalal ja selliste toodete loomine, kuid minu iluideaal on veebirakendus, mida saab kĂ€ivitada eraldi sĂŒlearvutis.
Kaunis veebirakendus ei skaala mitte ainult ĂŒlespoole ja laiali (kasutajate jaoks), vaid ka allapoole ja sissepoole (arendajate jaoks).
âAmfiibsusâ
Kaasaegsete veebirakenduste kasutamiseks kasutatakse kahte tĂŒĂŒpi seadmeid:
- arvutid (sĂŒlearvutid, lauaarvutid);
- mobiilsed seadmed (nutitelefonid ja tahvelarvutid);
Kusagil horisondi taga kumab veel ââ, aga praegu on see nii.
Arvutid erinevad mobiilseadmetest sama palju kui maismaaolendid vees elavatest olenditest. Need on erinevad keskkonnad ja need seavad neis elavatele olenditele (programmidele) erinevad nÔudmised. Kaunid veebirakendused ei ole need, mis sarnanevad , vaid need, mis vees - nagu kalad, maal - nagu loomad, ja Ôhus () - nagu linnud.
Ma pean '' inetu, see on nagu proovida istuda kahel (SEO puhul - kolmel) toolil. Parem olla nagu Fiona Shrekist - pĂ€eva jooksul ĂŒks, öösel teine. Jah, see on kallim. Aga parem.
Cross-sharing
Olen juba maininud jaotises âTagasiulatuv skaleeritavusâ, et vĂ”rgu globaalsus vĂ”imaldab luua ĂŒhte veebirakendust kĂ”igile. SeetĂ”ttu peaks iga veebirakendus mĂ”nevĂ”rra erinema teistest, et tagada oma ellujÀÀmine. Sellegipoolest ĂŒtleb minu aastatepikkune kogemus (e-kaubanduse jaoks mĂ”eldud raamistik), et erinevate veebirakenduste vahel vĂ”ib olla rohkem ĂŒhist, kui erinevusi. Kaunis veebirakendus ei peaks mitte ainult olema modulaarne, vaid ka jagama oma mooduleid teiste veebirakendustega. Teatud mÀÀral peegeldab seda ideed JSR 168 ja JSR 286 ning sellised raamistikud nagu , ja sama Magento. Mida rohkem mooduleid veebirakenduses kasutatakse, seda ilusam see minu jaoks on. Ristjagamine vĂ”imaldab luua kvaliteetsemaid mooduleid ja seega stabiilsemaid veebirakendusi.
Moodulina ei mĂ”tle ma sellistele teekidele nagu jQuery vĂ”i RequireJS â pigem suurematele struktuuridele, nagu pluginad ja . Kuid ka teekide puhul kehtib vĂ€ide, et teegi laialdane levik vĂ”imaldab selle kvaliteeti ja vastupidavust suurendada.
Harvardi arhitektuur
, erinevalt praegusest valitsevast , eeldab koodi ja andmete lahusust. Arhitektuur ei saanud tuule tiibadesse, kuid idee iseenesest tundub mulle ilus. Eriti veebirakenduste jaoks. Iga staatika (HTML/CSS/JS/Pildid/âŠ) on kood. Seda saab ja tuleb vahemĂ€lustada nii serveripoolselt kui ka kliendipoolselt. Andmed on / (ilus) vĂ”i / (veidi vĂ€hem ilus). VĂ”i WebSockets/JSON (vĂ”ib-olla parim variant, kuid ma pole proovinud).
Lokaliseerimine
On kaks asja, mis mind veebirakenduste arendamisel eriti muretsema panevad â see on mitmekeelne liides ja ajavööndid. Olen ise LĂ€tist, meil on kasutusel kolm keelt: LV, RU, EN. Kaunis veebirakendus peaks vĂ”imaldama mitte ainult kasutada mitmeid keeli rakenduses, vaid ka laiendama kasutatavate keelte arvu vĂ€liste ressursside abil, nagu . See kehtib ka moodulite kohta, millest veebirakendus on kokku pandud.
Kellaegade on lihtsad: kĂ”ik, mis asub serveris, lahkub serverist ja naaseb serverisse â UTC, kĂ”ik, mis kuvatakse kliendile â vastavalt kasutaja profiili ajavööndile. See on ilus.
Seppade töötoad asemel "Surma TÀhed"
Amorani kord, igas suurimas linnas oli oma sepikoja. VÔib-olla isegi mitmeid. MÔned paremad, mÔned halvemad. Oli sepikoja meistreid, kes olid tuntud kogu maailmas, ja oli ka selliseid, kelle juurde mindi sunniviisiliselt. LÀbisid sÔjad, epideemiad, loodusÔnnetused. MÔned linnad kadusid koos rahvaga. Kuid sepatööd elas edasi. Kadunud linnade asemele ehitati uusi, kuhu ilmusid samuti sepikojad.
Ja nĂŒĂŒd vaadake sellist teenust nagu . Kui juurdeteenused kukuvad kokku, .
Minu arvates ei saa ilus veebirakendus olla sama suur kui Facebook vĂ”i Mail.ru. See lĂ€heneb juba "" nii ehitamiseks vajalike ressursside kui ka nende sĂ€ilitamiseks vajalike ressursside osas. Jah, kui Facebook hĂ€vitatakse, ei kao inimkond, selle funktsioonid vĂ”tavad kiiresti ĂŒle teised rakendused (nĂ€iteks Venemaa ja lĂ€hiriikide territooriumil, Instagram, Twitter jne). Siiski, olulise osa inimkonna seottamine ĂŒhte rakendusse â see ei ole ilus. Veelgi enam, kui olemas on palju stabiilsemaid alternatiive (nĂ€iteks ).
Elulookirjeldus
Kui olete lĂ”puni lugenud ja tunnete segadust â "mida see oli?", siis vĂ€ljendan teile oma siirat kaastunnet. Ma ei sundinud teid seda lugema. Ma lihtsalt proovisin oma mĂ”tteid sĂ”nadesse panna, et leida neid, kes mĂ”tleksid samamoodi. VĂ”ib-olla suudan arutada nendega mĂ”ningaid aspekte ilusate veebirakenduste loomisel ja leida vastuseid oma kĂŒsimustele. Ja neid mul on palju.
AitÀh lugemise eest.
Allikas: habr.com
