Olen juba kaua arendanud veebirakendusi. VĂ€ga kaua. Oma esimesi veebirakendusi keskkonnas loomine toimus ajal, mil sĂ”na «google» ei olnud veel tegusĂ”na ja inimesed kasutasid teabe otsimiseks internetis Yahoo! ja Rambleri. Mina aga kasutasin â neil oli kitsendav otsing ja mittetĂ€navune, ĂŒlekoormatud liides nagu Yahoo-l.
Rakenduste arendamine, igasuguste rakenduste, mitte ainult veebirakenduste jaoks, on loominguline töö. Vaevalt keegi kahtleb selles vĂ€ites. Ja ilu loomingus on nagu praktika teaduse tundmises â tĂ”e kriteerium. Kuid kui teaduslik praktika on objektiivne ja pĂ”hineb mÔÔtmistel, siis ilu on subjektiivne asi, sĂ”ltudes sellest, kes vaatab. Seega esitasin endale kĂŒsimuse: mis on minu jaoks ilus veebirakendus?

(KDPV on pigem naiselik, kuid, IMHO, naise pilk KDPV-le on sobivam kui mehe oma, sest see on â !)
AlljĂ€rgnevalt on minu isiklikud kriteeriumid selle kohta, milline veebirakendus oleks praegu ilus. VĂ€ga subjektiivne ettekanne, mis tuleneb minu isiklikust kogemusest. VĂ”ib-olla tunduvad minu kauni kriteeriumid teistele hoopis koledatena. Ărge ĂŒllatuge, lihtsalt teie kogemus on erinev.
Ja kuna te juba olete siia jÔudnud, siis palun olge kommentaarides ettevaatlikud. Kui te saate artikli lugemise lÔpetada, niipea kui see teile nÀib kole vÔi isegi inetu, siis mina, autorina, pean lugema kÔiki kommentaare.
Elukeskkond
Protokollid
Ma ei teagi, kas on mĂ”tet eraldi vĂ€lja tuua see kriteerium. Veebirakendused elavad Internetis ja peavad vastama Interneti seadustele (protokollidele). Peamised protokollid Internetis â ja . Nende alusel pĂ”hinevad paljud teised protokollid, kuid veebirakenduste puhul pean oluliseks (tĂ€psemalt, selle laiendust baasil ). See, a beautiful web application is accessible via HTTPS/TLS (or HTTP as an option), while other protocols (LDAP, RPC, IMAP4, POP3, SMTP, FTP, NNTP, âŠ) make it less appealing with each additional supported protocol. The application itself can utilize these additional protocols to access external resources.
As for , I don't have enough experience using this protocol with web applications. It looks attractive and promising, but I can't say how stable and practical it is.
Brauserid
A web application stands on both sides: one foot on the server side and the other on the client side. The client side is the browser. Modern browsers provide , which modern web applications can and should leverage for their benefit. A beautiful web application takes advantage of modern browser capabilities and doesn't have to operate in those browsers that don't provide these features. I understand that are a necessary measure, but they are not ideal. After all, it's not only developers who have to keep up with modern technologies; users and businesses need to do so as well.
Programming Language
Veebirakenduste loomisel kasutatakse mitmeid programmeerimiskeeli, mis vĂ”ivad osutuda keeruliseks. Klientide veebirakenduste jaoks on mitmeid tehnoloogiaid, mis aitavad arendajal hĂ”lbustada HTML/CSS/JS trio loomist (mida kĂ”ik kaasaegsed brauserid mĂ”istavad). Kuid mina puutusin omal ajal kokku ja arvan, et on ilus, kui arendaja nĂ€eb brauseris originaalkoodi, mitte kompileerimise vĂ”i transpileerimise tulemust. SeetĂ”ttu pean mina selliste tooted nagu âGWTâ kliendikoodi genereerimiseks, IMHO, mitte vĂ€ga ilusaks. Mida rohkem on brauseris kĂ€itatav kood sarnane algkoodiga, mis on loodud arendaja poolt, seda parem. Ei usu? Proovi tootmiskeskkonnas siluda koodi, mis on loodud GWT-ga.
Serveripoolses osas on rohkem vabadust (Java, PHP, Perl, Python, C#, Ruby jne), kuid mulle tundub ilus, kui nii serveripoolsetes kui ka brauseripoolsetes rakendustes kasutatakse ĂŒhte programmeerimiskeelt â JavaScript. LĂ”ppude lĂ”puks , ja ĂŒhtsete meeskondade töö on produktiivsem.
Inimlikkus
Ilus veebirakendus peab olema kasulik. EelkÔige inimestele kui lÔppkasutajatele. SeetÔttu ei saa ma ilusat veebirakendust nimetada. . Tavalisele inimesele (mitte veebiarendajale) on nendega raske toime tulla. Veebiteenused on omamoodi ilusad,
Ilus veebirakendus peab olema intuitiivselt arusaadav. Selle ĂŒle vĂ”ib vaielda, see on ĂŒsna subjektiivne asi. Kuid UX kĂ”ik on palju lihtsam, kui kasutaja ei suuda rakendust kasutada ilma pĂŒha â halb UX, inetu veebirakendus. KĂ”ige ilusamad veebirakendused selle kriteeriumi jĂ€rgi vĂ”ivad kergesti olla kasutatavad lastelt, kes ei oska veel lugeda.
Tagasisuunatavus
Kaugel-kaugel olid programmid, mida sai kanda 3,5-tollistele kĂ”vaketastele, nĂŒĂŒd aga â USB-mĂ€lukandjatele vĂ”i tĂ”mmata otse veebist. Tavalise rakenduse kopeerimine ja selle kĂ€ivitamine teisel masinal on triviaalne ĂŒlesanne. Veebirakendustega on olukord pisut eriline. Internet on globaalne keskkond, kus pole vaja sama veebirakenduse kloone. Ăht Facebooki, Twitterit, Instagrami, Mail.ru vĂ”i Yandexit piisab. Ăks ja sama teema alusel vĂ”ivad eksisteerida erinevad veebirakendused, kuid erinevate sihtrĂŒhmadega (nĂ€iteks Facebook ja Vkontakte, Mail.ru ja Gmail, Google Maps ja Azure Maps). Selliste veebirakenduste globaalsete kĂ€ttesaadavuse tagamiseks on vajalikud, ĂŒtleme nii, "mitte triviaalne" riistvara. .
Ma ei ole kunagi töötanud veebirakendustega sellisel tasemel nagu arendaja ning ei kujuta ette, kuidas need seal sees vĂ€lja nĂ€evad. Selliste veebirakenduste töökorras hoidmiseks on vajalikke spetsialistide meeskondi ja eraldi andmekeskusi. Mind imetleb inimeste koostöövĂ”ime nii suurtes ulatustes ja selliste toodete loomine, kuid minu iluideaaliks on veebirakendus, mille saab kĂ€ivitada eraldi sĂŒlearvutil.
Kaunis veebi rakendus skaleerub mitte ainult ĂŒles ja laiemalt (kasutajatele), vaid ka alla ja sissepoole (arendajatele).
âAmfiibisuusâ
Kaasaegsete veebirakenduste kasutamiseks kasutatakse kahte tĂŒĂŒpi seadmeid:
- arvutid (sĂŒlearvutid, lauaarvutid);
- mobiilised seadmed (nutitelefonid ja tahvelarvutid);
Kusagil horisondil udub veel ââ, aga praegu on see vaid unistus.
Arvutid ja mobiilised seadmed erinevad ĂŒksteisest sama palju, kui maapealsed olendid erinevad vees elavatest. Need on erinevad keskkonnad, mis esitlevad erinevaid nĂ”udmisi neis elavatele olenditele (rakendustele). Kauni veebi rakendused ei ole need, mis sarnanevad , vaid need, mis vees â nagu kalad, maapinnal â nagu loomad, ja Ă”hus () â nagu linnud.
Ma ei pea ââ ilusaks, see on nagu proovida istuda kahe (SEO puhul kolme) tooli peal. Paremini on nagu Fiona Shrekist â pĂ€eval ĂŒks, öösel teine. Jah, kallim. Aga parem.
Ristjagamine
Olen juba mĂ€rkinud punktis âTagasiulatuv skaleeritavusâ, et vĂ”rgu globaalne olemus vĂ”imaldab meil omada ĂŒhte veebirakendust, mis teenindab kogu maailma. SeetĂ”ttu peab iga veebirakendus mingil mÀÀral eristuma teistest, et tagada enda ellujÀÀmine. Siiski, minu pikaajaline kogemus (e-kaubanduse kaupluste loomise raamistik) ĂŒtleb, et erinevate veebirakenduste vahel vĂ”ib olla rohkem ĂŒhist kui erinevusi. Ilus veebirakendus ei tohiks olla mitte ainult moodulaarne, vaid peaks ka jagama oma mooduleid teiste veebirakendustega. MĂ”nes mĂ”ttes peegeldab see idee JSR 168 ja JSR 286 ning sellistes raamistikedes nagu , ja sama Magento. Mida rohkem veebirakendustes kasutatavaid mooduleid on, seda ilusamaks ma seda pean. Ăhisloomine vĂ”imaldab luua kvaliteetsemaid mooduleid ja seega ka stabiilsemaid veebirakendusi.
Moodi mĂ”istes ei pea ma silmas selliseid teeke nagu jQuery vĂ”i RequireJS â pigem suuremaid mooduleid, nĂ€iteks pluginaid ja . Kuid ka teekide puhul kehtib vĂ€ide, et teegi laialdane kasutamine vĂ”imaldab selle kvaliteeti ja usaldusvÀÀrsust parandada.
Harvardi arhitektuur
, erinevalt praegu valitsevast bals , tĂ€hendab see koodi ja andmete eraldamist. Arhitektuur ei tĂ”usnud, kuid idee ise tundub mulle ilus. Eriti veebirakenduste jaoks. Iga staatika (HTML/CSS/JS/Pildid/âŠ) on kood. Seda saab ja tuleb vahemĂ€lustada nii serveripoolses kui ka kliendipoolses osas. 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 hĂ€irivad â see on mitmekeeline liides ja ajavööndid. Olen ise LĂ€tist, meil on kolm keelt: LV, RU, EN. Ilus veebirakendus peaks vĂ”imaldama mitte ainult mitme keele kasutamist rakenduses, vaid ka vĂ”imaldama suurendada kasutatavate keelte arvu vĂ€liste ressursside kaudu, nagu . See kehtib ka moodulite kohta, millest veebirakendus koosneb.
Ajavööndite osas on kĂ”ik lihtne: igal juhul, kui ei ole selge, kuidas kuupĂ€eva ja aega töödelda, tehke nii: kĂ”ik, mis asub serveris, lahkub serverist ja tuleb serverisse â UTC, kĂ”ik, mis kuvatakse kliendil â vastavalt kasutaja profiili ajavööndile. See on ilus.
Seppade asemel "Surma TĂ€hed"
Kaua aega tagasi oli igas suuremas linnas oma sepp. VĂ”ib-olla isegi mitte ĂŒks. MĂ”ned olid paremad, mĂ”ned halvemad. Oli seppi, kes olid tuntud ĂŒle kogu maailma, ja oli ka selliseid, kelle poole mindi lihtsalt vĂ€ljapÀÀsu puudumise tĂ”ttu. RĂ€ndasid sĂ”jad, epideemiad, looduskatastroofid. MĂ”ned linnad kadusid koos elanikega. Kuid sepanduse amet pĂŒsis elus. Kadunud linnade kohal ehitati uusi ja nendesse ilmusid samuti sepikojad.
Ja nĂŒĂŒd vaadake sellist teenust nagu . Kui juurduvad serverid, .
Minu arvates ei saa ilus veebirakendus olla nii suur nagu Facebook vĂ”i Mail.ru. See on juba lĂ€hemal "» ja ressursside osas, mis on vajalikud ehitamiseks, ja ressursside osas, mis on vajalikud töökindluse tagamiseks. Jah, juhul kui Facebook hĂ€vitatakse, ei kao inimkond, selle funktsioone vĂ”tavad kiiresti ĂŒle teised rakendused (nĂ€iteks Venemaa territoriaalsetes ja ĂŒmbritsevates, Instagram, Twitter, ...). Siiski on olulise osa inimkonna sulgemine ĂŒhte rakendusse ainulaadne. Eriti arvestades, et on olemas palju stabiilsemaid alternatiive (nĂ€iteks ).
KokkuvÔte
Kui sa lugesid lĂ”puni ja tunned segadust â "mille jaoks see oli?"", siis avaldan oma sĂŒgavat kaastunnet. Ma ei sundinud sind seda lugema. PĂŒĂŒdsin lihtsalt vĂ€ljendada oma mĂ”tteid sĂ”nades, et leida neid, kes mĂ”tlevad samamoodi. VĂ”ib-olla suudan nendega arutada mĂ”ningaid aspekte kaunite veebirakenduste loomisel ja saada vastuseid oma kĂŒsimustele. Ja neid on mul palju.
AitÀh lugemise eest.
Allikas: habr.com
