Vývoju webových aplikácií sa venujem už dlho. Pred dlhým časom. Vaše prvé webové aplikácie v prostredí Stvoril som v tých dňoch, keď slovo "google" ešte nebolo sloveso a na vyhľadávanie informácií na internete ľudia používali Yahoo! a Rambler. Použil som to 'om - mali zúžené vyhľadávanie a nie také škaredé preťažené rozhranie ako Yahoo!
Vývoj aplikácií, akýchkoľvek aplikácií, nielen pre web, je kreatívna práca. Je nepravdepodobné, že by s týmto tvrdením niekto polemizoval. A krása v kreativite je ako prax vo vedeckom poznaní - kritérium pravdy. Ale ak je vedecká prax objektívna a založená na meraniach, potom je krása subjektívnym predmetom, v závislosti od toho, kto sa pozerá. Spýtal som sa teda sám seba, aká je pre mňa osobne krásna webová aplikácia?

(na KDPV oko nie je moje, je to ženské oko, ale IMHO je ženské oko na KDPV vhodnejšie ako mužské, pretože - !)
Pod strihom sú moje vlastné kritériá na to, akú webovú aplikáciu možno v súčasnosti považovať za krásnu. Veľmi subjektívne tvrdenie založené na mojej osobnej skúsenosti. Možno sa niekomu moje kritériá krásy budú zdať ako kritériá škaredosti. Nečuduj sa, len máš inú skúsenosť.
A keďže ste už zadali strih, buďte opatrní vo svojich komentároch. Ak totiž dokážete prestať čítať článok hneď, ako sa vám to, čo je v ňom uvedené, zdá škaredé alebo dokonca škaredé, tak ja ako autor som nútený čítať všetky komentáre.
Habitat
Protokoly
Ani neviem, či sa oplatí robiť toto kritérium samostatne. Webové aplikácie žijú na webe a sú nútené dodržiavať zákony webu (protokoly). Hlavné protokoly na internete sú: и . Na nich je založených mnoho ďalších protokolov, no pre webové aplikácie považujem za najdôležitejšie (alebo skôr jeho rozšírenie na základni ). To znamená, že krásna webová aplikácia je dostupná cez HTTPS/TLS (voliteľne - cez HTTP) a ďalšie protokoly (LDAP, RPC, IMAP4, POP3, SMTP, FTP, NNTP, ...) ju robia menej krásnou s každým dodatočne podporovaným protokol. Samotná aplikácia môže využívať externé zdroje pomocou týchto dodatočných protokolov.
Pokiaľ ide o , potom nemám dostatok skúseností s používaním tohto protokolu s webovými aplikáciami. Vyzerá to krásne a sľubne, ale nemôžem povedať, aké je to stabilné a praktické.
Prehliadače
Webová aplikácia má iba jednu nohu na strane servera a druhú na strane klienta. Klientskou stranou je prehliadač. Moderný prehliadač poskytuje , ktorý moderná webová aplikácia môže a mala by využiť vo svoj prospech. Krásna webová aplikácia využíva moderné možnosti prehliadača a nevyžaduje sa, aby fungovala v prehliadačoch, ktoré neposkytujú moderné možnosti. Rozumiem tomu - je to nevyhnutné opatrenie, ale je to škaredé. V konečnom dôsledku nielen vývojári musia držať krok s modernými technológiami, to platí aj pre používateľov a podniky.
YAP
S programovacími jazykmi, ktoré sa používajú na vytváranie webových aplikácií, je všetko veľmi mätúce. Pre klientsku stranu webových aplikácií existuje množstvo technológií, ktoré umožňujú vývojárom uľahčiť vytváranie HTML/CSS/JS triády (niečo, čomu rozumejú všetky moderné prehliadače). Ale raz som prišiel do úzkeho kontaktu s a myslím si, že je krásne, keď vývojár vidí pôvodný kód v prehliadači a nie výsledok kompilácie alebo transpilácie. Preto používajte 'a podobné produkty na generovanie klientskeho kódu, IMHO, sú škaredé. Čím viac je kód, ktorý beží v prehliadači, podobný zdrojovému kódu vytvorenému vývojárom, tým lepšie. neveríš mi? Skúste odladiť kód generovaný GWT vo výrobe.
Na strane servera je väčšia voľnosť (Java, PHP, perl, python, C#, Ruby, ...), ale zdá sa mi, že je krásne, keď sa na strane servera aj v prehliadač - JavaScript. Stále a tímy rovnako zmýšľajúcich ľudí sú produktívnejšie.
ľudskosť
Krásna webová aplikácia by mala byť užitočná. Užitočné predovšetkým pre ľudí ako konečného spotrebiteľa. Preto to nemôžem nazvať krásnou webovou aplikáciou . Pre bežného človeka (nie webového vývojára) je ťažké s nimi pracovať. Webové služby sú krásne svojím vlastným spôsobom,
Krásna webová aplikácia by mala mať intuitívne rozhranie. O tom sa dá polemizovať To je dosť subjektívna vec. Nos všetko je oveľa jednoduchšie, ak používateľ nemôže používať aplikáciu bez cenného - zlé UX, škaredá webová aplikácia. Najkrajšie webové aplikácie vzhľadom na toto kritérium môžu ľahko používať deti, ktoré ešte nevedia čítať.
Inverzná škálovateľnosť
Kedysi sa programy dali prenášať na diskety, teraz - na flash disky alebo okamžite stiahnuť z internetu. Skopírovanie bežnej aplikácie a jej spustenie na inom počítači je triviálna úloha. Situácia s webovými aplikáciami je trochu zvláštna. Sieť je globálne prostredie, v ktorom nie je potrebné mať klony rovnakej webovej aplikácie. Na internete stačí jeden Facebook, Twitter, Instagram, Mail.ru alebo Yandex. Môžete mať rôzne webové aplikácie v rovnakom tematickom výklenku, ale s rôznym publikom (napríklad Facebook a Vkontakte, Mail.ru a Gmail, Mapy Google a Azure Maps). Na zabezpečenie globálnej dostupnosti takýchto webových aplikácií sú potrebné hardvérové zdroje, povedzme, .
S webovými aplikáciami tejto úrovne som ako vývojár nikdy nepracoval a netuším, ako vo vnútri fungujú. Na zabezpečenie funkčnosti takýchto webových aplikácií sú potrebné tímy relevantných špecialistov a samostatné dátové centrá. Obdivujem schopnosť ľudí spolupracovať v takom rozsahu a vytvárať takéto produkty, no mojím štandardom krásy je webová aplikácia, ktorú je možné spustiť na samostatnom notebooku.
Krásna webová aplikácia sa mení nielen smerom nahor a von (pre používateľov), ale aj smerom nadol a dovnútra (pre vývojárov).
"Obojživelnosť"
Na prístup k moderným webovým aplikáciám sa používajú dva typy zariadení:
- počítače (notebooky, stolné počítače);
- mobilné zariadenia (smartfóny a tablety);
Niekde na obzore sa črtá viac""Ale to je zatiaľ všetko.
Počítače sa líšia od mobilných zariadení rovnako, ako sa suchozemské tvory líšia od vodného vtáctva. Sú to rôzne prostredia a kladú rôzne nároky na tvory (programy) v nich žijúce. Krásne webové aplikácie nie sú tie, ktoré vyzerajú a tí vo vode sú ako ryby, na zemi ako zvieratá a vo vzduchu () - ako vtáky.
Podľa mňa je to škaredé"“, je to ako snažiť sa sedieť na dvoch (so SEO - troch) stoličkách. Lepšie ako Fiona zo Shreka – jedna cez deň a druhá v noci. Áno, drahšie. Ale lepšie.
Krížové zdieľanie
Už som poznamenal v odseku „Reverzná škálovateľnosť“, že globálnosť siete umožňuje mať jednu webovú aplikáciu na planétu. Každá webová aplikácia sa preto musí aspoň trochu odlišovať od ostatných, aby bola zabezpečená jej existencia. Avšak moje dlhoročné skúsenosti s (rámec pre budovanie e-commerce obchodov) hovorí, že medzi jednotlivými webovými aplikáciami môže byť viac podobností ako rozdielov. Skvelá webová aplikácia by nemala byť len modulárna, ale mala by svoje moduly zdieľať aj s inými webovými aplikáciami. Do určitej miery sa táto myšlienka odráža v JSR 168 a JSR 286 a frameworky ako napr , a to isté MagentoČím viac modulov webová aplikácia používa, tým je podľa mňa krajšia. Krížové zdieľanie umožňuje vytvárať kvalitnejšie moduly a v dôsledku toho stabilnejšie webové aplikácie.
Modulom nemyslím knižnice ako jQuery alebo RequireJS - skôr väčšie entity, ako sú pluginy v и . Ale pre knižnice platí aj téza, že rozšírené rozšírenie knižnice umožňuje robiť ju lepšou a udržateľnejšou.
Harvardská architektúra
, na rozdiel od aktuálne vládnuceho plesu , znamená oddelenie kódu a údajov. Architektúra sa neujala, ale samotná myšlienka sa mi osobne zdá krásna. Najmä pre webové aplikácie. Akýkoľvek statický (HTML/CSS/JS/obrázky/…) je kód. Môže a mal by byť uložený do vyrovnávacej pamäte buď na strane servera alebo na strane klienta. A dáta sú / (krásne) resp / (trochu menej pekné). Alebo WebSockets/JSON (možno je to najlepšia možnosť, ale neskúšal som to).
lokalizácia
Pri vývoji webových aplikácií ma znepokojujú najmä dve veci – viacjazyčné rozhranie a časové pásma. Pochádzam z Lotyšska, používame tri jazyky: LV, RU, EN. Krásna webová aplikácia by vám mala umožňovať nielen používanie viacerých jazykov v samotnej aplikácii, ale tiež by vám mala umožniť rozšíriť počet používaných jazykov pomocou externých zdrojov, ako napr. . To isté platí pre moduly, z ktorých je webová aplikácia zostavená.
S časovými pásmami je všetko jednoduché, vo všetkých prípadoch, keď nie je jasné, ako spracovať dátum a čas, urobte toto: všetko, čo je na serveri, ide na server a pochádza zo servera - UTC, všetko, čo sa zobrazuje na klientovi - podľa časového pásma z užívateľského profilu. To je krásny.
Forge namiesto Hviezd smrti
Kedysi malo každé viac či menej veľké mesto svoju vyhňu. Možno nie sám. Niektoré sú lepšie, niektoré horšie. Boli kováči známi po celom svete a boli aj takí, ku ktorým prišli, pretože neexistovala alternatíva. Boli vojny, epidémie a prírodné katastrofy. Spolu s obyvateľstvom zanikli aj niektoré mestá. Ale kováčske remeslo zostalo živé. Na mieste zaniknutých miest vznikali nové a objavili sa v nich aj vyhne.
Teraz sa pozrite na službu ako . Keď vypadnú koreňové servery, .
Podľa mňa krásna webová aplikácia nemôže byť taká veľká ako Facebook alebo Mail.ru. Toto je už bližšie k "„ako z hľadiska zdrojov potrebných na výstavbu, tak aj zdrojov potrebných na udržanie prevádzkyschopnosti. Áno, ak bude Facebook zničený, ľudstvo nezmizne, jeho funkcie rýchlo prevezmú iné aplikácie (to isté na území Ruskej federácie a priľahlých oblastí, Instagram, Twitter, ...). Uzamknutie významnej časti populácie planéty do jednej aplikácie však nie je pekné. Navyše, vzhľadom na dostupnosť oveľa udržateľnejších alternatív (napr. ).
Zhrnutie
Ak ste dočítali až do konca a ste zmätení – “Čo to bolo?„Potom ti vyjadrujem úprimnú sústrasť. Nenútil som ťa to čítať. Len som sa snažil dať svoje myšlienky do slov, aby som našiel ostatných, ktorí zmýšľajú rovnako. Možno s nimi môžem prediskutovať niektoré aspekty vytvárania krásnych webových aplikácií a nájsť odpovede na moje otázky. A mám ich veľa.
Vďaka za prečítanie.
Zdroj: hab.com
