ilu on vaataja silmades

Olen veebirakendusi arendanud juba pikka aega. Kaua aega tagasi. Teie esimesed veebirakendused keskkonnas Lootos doomino Ma lĂ”in neil pĂ€evil, mil sĂ”na "google" ei olnud veel tegusĂ”na ja Internetist teabe otsimiseks kasutasid inimesed Yahoo! ja Rambler. Ma kasutasin seda Infootsing'om - neil oli kitsenev otsing ja mitte nii kole ĂŒlekoormatud liides nagu Yahoo!

Rakenduste arendamine, kĂ”ik rakendused, mitte ainult veebi jaoks, on loominguline töö. On ebatĂ”enĂ€oline, et keegi selle vĂ€itega vaidleks. Ja ilu loovuses on nagu praktika teaduslikes teadmistes – tĂ”e kriteerium. Aga kui teaduspraktika on objektiivne ja pĂ”hineb mÔÔtmistel, siis ilu on subjektiivne teema, olenevalt sellest, kes vaatab. Seega kĂŒsisin endalt, mis on minu jaoks isiklikult ilus veebirakendus?

ilu on vaataja silmades

(KDPV puhul ei ole silm minu, see on naise silm, kuid IMHO, naise silm KDPV suhtes on sobivam kui mehe oma, sest see on KDPV!)

LĂ”ike all on minu enda kriteeriumid, millist veebirakendust vĂ”ib praegu ilusaks pidada. Minu isikliku kogemuse pĂ”hjal vĂ€ga subjektiivne vĂ€ide. VĂ”ib-olla tunduvad minu ilu kriteeriumid mĂ”nele inetuse kriteeriumina. Ärge ĂŒllatuge, teil on lihtsalt teistsugune kogemus.

Ja kuna olete juba lÔikes osalenud, olge oma kommentaarides ettevaatlik. LÔppude lÔpuks, kui saate artikli lugemise lÔpetada kohe, kui selles vÀljaöeldu tundub teile inetu vÔi isegi inetu, siis olen autorina sunnitud kÔik kommentaarid lÀbi lugema.

Elupaik

Protokollid

Ma isegi ei tea, kas tasub seda kriteeriumi eraldi teha. Veebirakendused elavad veebis ja on sunnitud jÀrgima veebiseadusi (protokolle). Peamised Interneti-protokollid on jÀrgmised: TCP О IP. Nendel pÔhinevad paljud teised protokollid, kuid veebirakenduste puhul pean kÔige olulisemaks HTTP (vÔi Ôigemini selle laiendus HTTPS alusel TLS). See tÀhendab, et ilus veebirakendus on saadaval HTTPS/TLS-i kaudu (valikuliselt - HTTP kaudu) ja muud protokollid (LDAP, RPC, IMAP4, POP3, SMTP, FTP, NNTP, ...) muudavad selle iga tÀiendavalt toetatavaga vÀhem ilusaks. protokolli. Rakendus ise saab neid lisaprotokolle kasutades kasutada vÀliseid ressursse.

suhtes WebSocket, siis pole mul selle protokolli veebirakendustega piisavalt kogemusi. See nÀeb ilus ja paljutÔotav vÀlja, kuid ma ei oska öelda, kui stabiilne ja praktiline see on.

Brauserid

Veebirakendusel on ainult ĂŒks jalg serveri poolel, teine ​​​​kliendi poolel. Kliendipool on brauser. Kaasaegne brauser pakub Palju asju, mida kaasaegne veebirakendus saab ja peaks enda huvides Ă€ra kasutama. Kaunis veebirakendus kasutab kaasaegseid brauseri vĂ”imalusi ja ei pea töötama brauserites, mis ei paku kaasaegseid vĂ”imalusi. Ma saan aru, et polĂŒtĂ€idised - see on vajalik meede, kuid see on kole. LĂ”puks ei pea moodsate tehnoloogiatega sammu pidama ainult arendajad, see kehtib ka kasutajate ja ettevĂ”tete kohta.

JP

Programmeerimiskeeltega, mida veebirakenduste loomiseks kasutatakse, on kĂ”ik vĂ€ga segane. Veebirakenduste kliendipoole jaoks on palju tehnoloogiaid, mis vĂ”imaldavad arendajal hĂ”lbustada HTML/CSS/JS triaadi loomist (millest saavad aru kĂ”ik kaasaegsed brauserid). Kuid omal ajal puutusin tihedalt kokku G.W.T. ja minu arvates on ilus, kui arendaja nĂ€eb brauseris algset koodi, mitte kompileerimise vĂ”i ĂŒlekandmise tulemust. SeetĂ”ttu kasutage veebipakk'ja sarnased tooted kliendikoodi IMHO genereerimiseks on inetud. Mida sarnasem on brauseris töötav kood arendaja loodud lĂ€htekoodiga, seda parem. Ei usu mind? Proovige siluda GWT tootmisprotsessis loodud koodi.

Serveri poolel on rohkem vabadust (Java, PHP, perl, python, C#, Ruby, ...), kuid mulle tundub, et see on ilus, kui sama programmeerimiskeelt kasutatakse nii serveri poolel kui ka brauser – JavaScript. Ikkagi keel mÀÀrab mĂ”tlemise, ja sarnaselt mĂ”tlevate inimeste meeskonnad on produktiivsemad.

Inimlikkus

Ilus veebirakendus peaks kasuks tulema. Kasulik ennekÔike inimestele kui lÔpptarbijale. SeetÔttu ei saa ma seda ilusaks veebirakenduseks nimetada veebiteenused. Tavainimesel (mitte veebiarendajal) on nendega raske töötada. Veebiteenused on omal moel ilusad,

Ilusal veebirakendusel peaks olema intuitiivne liides. Selle ĂŒle vĂ”ib vaielda UISee on ĂŒsna subjektiivne asi. Nina UX kĂ”ik on palju lihtsam, kui kasutaja ei saa rakendust ilma vÀÀrtusliketa kasutada RTFM - halb UX, kole veebirakendus. Selle kriteeriumi kĂ”ige ilusamaid veebirakendusi saavad hĂ”lpsasti kasutada lapsed, kes veel lugeda ei oska.

Pöördmastaapsus

Kunagi sai programme ĂŒle kanda diskettidele, nĂŒĂŒd - mĂ€lupulkadele vĂ”i kohe Internetist alla laadida. Tavalise rakenduse kopeerimine ja selle teises masinas kĂ€ivitamine on tĂŒhine ĂŒlesanne. MĂ”nevĂ”rra eriline on olukord veebirakendustega. VĂ”rk on globaalne keskkond, milles ei ole vaja sama veebirakenduse kloone. Internetis piisab ĂŒhest Facebookist, Twitterist, Instagramist, Mail.ru-st vĂ”i Yandexist. Samas temaatilises niĆĄis vĂ”ivad olla erinevad veebirakendused, kuid erineva sihtrĂŒhmaga (nt Facebook ja Vkontakte, Mail.ru ja Gmail, Google Maps ja Azure Maps). Selliste veebirakenduste ĂŒlemaailmse kĂ€ttesaadavuse tagamiseks on vaja riistvararessursse. mittetriviaalne.

Ma pole kunagi arendajana sellisel tasemel veebirakendustega töötanud ja mul pole Ă”rna aimugi, kuidas need sees töötavad. Selliste veebirakenduste funktsionaalsuse tagamiseks on vaja vastavate spetsialistide meeskondi ja eraldi andmekeskusi. Imetlen inimeste vĂ”imet sellises mahus koostööd teha ja selliseid tooteid luua, kuid minu ilustandardiks on veebirakendus, mida saab kĂ€ivitada eraldi sĂŒlearvutis.

Kaunis veebirakendus ei skaala mitte ainult ĂŒles ja vĂ€ljapoole (kasutajate jaoks), vaid ka alla ja sissepoole (arendajate jaoks).

"amfiibsus"

Kaasaegsetele veebirakendustele juurdepÀÀsuks kasutatakse kahte tĂŒĂŒpi seadmeid:

  • arvutid (sĂŒlearvutid, lauaarvutid);
  • mobiilseadmed (nutitelefonid ja tahvelarvutid);

Kusagil silmapiiril paistab rohkem "asjade internet"Aga see selleks korraks.

Arvutid erinevad mobiilseadmetest sama palju kui maismaaloomad veelindudest. Need on erinevad keskkonnad ja seavad neis elavatele olenditele (programmidele) erinevad nĂ”udmised. Ilusad veebirakendused ei ole need, mis vĂ€lja nĂ€evad kahepaiksedja need, kes on vees, on nagu kalad, maal nagu loomad ja Ă”hus (SEO) – nagu linnud.

Ma arvan, et see on kole"amfiibsus“, see on nagu proovimine istuda kahel (SEO-ga – kolmel) toolil. Parem nagu Fiona Shrekist – ĂŒks pĂ€eval ja teine ​​öösel. Jah, kallim. Aga parem.

Ristjagamine

MĂ€rkasin juba lĂ”igus “Reverse Scalability”, et vĂ”rgu globaalsus vĂ”imaldab ĂŒhe veebirakenduse olemasolu planeedi kohta. SeetĂ”ttu peab iga veebirakendus oma pĂŒsimajÀÀmise tagamiseks teistest vĂ€hemalt mĂ”nevĂ”rra erinema. KĂŒll aga minu aastatepikkune kogemus Magento (e-poe poodide ehitamise raamistik) ĂŒtleb, et ĂŒksikute veebirakenduste vahel vĂ”ib olla rohkem sarnasusi kui erinevusi. SuurepĂ€rane veebirakendus ei peaks olema mitte ainult modulaarne, vaid ka jagama oma mooduleid teiste veebirakendustega. Mingil mÀÀral kajastub see idee spetsifikatsioonid JSR 168 ja JSR 286 ning raamistikud nagu WordPress, Django ja sama MagentoMinu arvates on veebirakenduse moodulite rohkus seda ilusam. Ristjagamine vĂ”imaldab luua kvaliteetsemaid mooduleid ja selle tulemusel stabiilsemaid veebirakendusi.

Mooduli all ei pea ma silmas selliseid teeke nagu jQuery vĂ”i RequireJS – pigem suuremaid ĂŒksusi, nĂ€iteks pluginaid WordPress Đž Django. Kuid raamatukogude puhul kehtib ka vĂ€itekiri, et raamatukogu laialdane levik vĂ”imaldab seda paremaks ja jĂ€tkusuutlikumaks muuta.

Harvardi arhitektuur

Harvardi arhitektuur, erinevalt praegu valitsevast pallist Princeton, tÀhendab koodi ja andmete eraldamist. Arhitektuur ei tÔusnud, aga idee ise tundub mulle isiklikult ilus. Eriti veebirakenduste jaoks. Igasugune staatiline (HTML/CSS/JS/Images/
) on kood. Seda saab ja tuleks vahemÀllu salvestada kas serveri vÔi kliendi poolel. Ja andmed on REST/JSON (ilus) vÔi SOAP/XML (veidi vÀhem ilus). VÔi WebSockets/JSON (vÔib olla parim valik, aga ma pole seda proovinud).

Lokaliseerimine

Veebirakenduste arendamisel puudutavad mind eriti kaks asja – mitmekeelne liides ja ajavööndid. Olen pĂ€rit LĂ€tist, meil on kasutusel kolm keelt: LV, RU, EN. Ilus veebirakendus ei peaks mitte ainult vĂ”imaldama teil rakenduses endas kasutada mitut keelt, vaid vĂ”imaldama teil ka laiendada kasutatavate keelte arvu vĂ€liste ressursside, nĂ€iteks tunglemine. Sama kehtib ka moodulite kohta, millest veebirakendus kokku pannakse.

Ajavööndite puhul on kÔik lihtne, kÔigil juhtudel, kui pole selge, kuidas kuupÀeva ja kellaaega töödelda, tehke nii: kÔik, mis on serveris, lÀheb serverisse ja pÀrineb serverist - UTC, kÔik, mida kliendil kuvatakse - vastavalt ajavööndile kasutajaprofiilist. See on ilus.

SurmatÀhtede asemel sepised

Ammu oli igal enam-vĂ€hem suurel linnal oma sepikoda. VĂ”ib-olla mitte ĂŒksi. MĂ”ned on paremad, mĂ”ned on halvemad. Seppasid tunti ĂŒle maailma ja oli ka neid, kelle juurde nad tulid, sest alternatiivi polnud. Oli sĂ”du, epideemiaid ja looduskatastroofe. MĂ”ned linnad kadusid koos elanikkonnaga. Kuid sepatöö jĂ€i elama. Kadunud linnade asemele ehitati uued ja neisse tekkisid ka sepikojad.

NĂŒĂŒd vaadake sellist teenust nagu DNS. Kui juurserverid kaovad, kogu maailm on palavikus.

Minu arvates ei saa ilus veebirakendus olla nii suur kui Facebook vĂ”i Mail.ru. See on juba lĂ€hemal "SurmatĂ€ht"nii ehitamiseks vajalike ressursside kui ka töövĂ”ime sĂ€ilitamiseks vajalike ressursside osas. Jah, kui Facebook hĂ€vitatakse, siis inimkond ei kao, selle funktsioonid vĂ”tavad kiiresti ĂŒle teised rakendused (sama VC Vene Föderatsiooni territooriumil ja seda ĂŒmbritsevatel aladel, Instagram, Twitter, ...). MĂ€rkimisvÀÀrse osa planeedi elanikkonnast ĂŒhe rakendusega lukustamine pole aga ilus. Lisaks, arvestades palju sÀÀstvamate alternatiivide (nt. torrentit).

KokkuvÔte

Kui olete lĂ”puni lugenud ja olete segaduses - "Mis see oli?"SeejĂ€rel avaldan teile siirast kaastunnet. Ma ei sundinud sind seda lugema. Üritasin lihtsalt oma mĂ”tteid sĂ”nadesse panna, et leida teisi, kes samamoodi mĂ”tlevad. VĂ”ib-olla saan nendega arutada ilusate veebirakenduste loomise aspekte ja leida vastused oma kĂŒsimustele. Ja mul on neid palju.

TĂ€name lugemast.

Allikas: www.habr.com

Ostke DDoS-kaitsega saitide jaoks usaldusvÀÀrne hostimine, VPS VDS-serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster