A szépség a szemlélőben rejlik

Már régóta foglalkozom web-alkalmazások fejlesztésével. Nagyon régóta. Az első web-alkalmazásaimat a Lotus Domino környezetében készítettem, amikor még a "google" szó nem volt ige, és az internetes információkereséshez az emberek a Yahoo!-t és a Rambler-t használták. Én viszont az Infoseek 'et használtam — nekik volt egy szűkítő keresési lehetőségük, és nem volt olyan borzalmasan túlzsúfolt a felületük, mint a Yahoo!-nak.Az alkalmazások fejlesztése, bármilyen alkalmazásé, nemcsak a webé — kreatív munka. Valószínűleg senki nem fog vitatkozni ezzel az állítással. A szépség a kreativitásban, olyan mint a gyakorlat a tudományos ismeretekben — az igazság kritériuma. De míg a tudományos gyakorlat objektív és mérésen alapul, a szépség szubjektív jelenség, attól függ, hogy ki nézi. Én is feltettem magamnak a kérdést, hogy számomra mi jelent egy szép web-alkalmazást?

(nem az én szemem, hanem egy női szem, de szerintem a női szem egy web-alkalmazásnál relevánsabb, mint a férfi, hiszen ez —

A szépség a szemlélőben rejlik

web-alkalmazás A folytatásban az én saját kritériumaim következnek arról, hogy melyik web-alkalmazás számít szépnek jelenleg. Nagyon szubjektív megfogalmazás, ami a személyes tapasztalataimon alapul. Lehet, hogy valakinek az én szép kritériumaim inkább a csúfság kritériumaivá válnak. Ne lepődjön meg, egyszerűen csak más élménye van.!)

És mivel benéztél a folytatásba, légy óvatos a hozzászólásokban, kérlek. hiszen ha abbahagyod a cikk olvasását, amint ami benne le van írva neked csúfnak vagy akár rondának tűnik, akkor nekem, mint szerzőnek, el kell olvasnom az összes hozzászólást.

Élőhely

Nem is tudom, vajon érdemes-e ezt a kritériumot kiemelni. A web-alkalmazások az interneten élnek, és muszáj, hogy megfeleljenek az internet törvényeinek (protokollok). Az internet alapvető protokolljai —

VLESS, WireGuard, OpenVPN, IKEv2

. Számos más protokollon alapulnak, de a web-alkalmazások esetében a legfontosabbnak tartom TCP és IP(pontosabban, a kiterjesztését -kérések) hatalmas terheléssel — 6 millió esemény másodpercenként. Minden keresztül halad a alapján HTTPS alapján TLS). Tehát egy szép web-alkalmazás elérhető HTTPS/TLS-en (alternatíva — HTTP-n), míg a többi protokoll (LDAP, RPC, IMAP4, POP3, SMTP, FTP, NNTP, …) minden egyes további támogatott protokollal csökkenti annak szépségét. Magának az alkalmazásnak segítségével ezek a kiegészítő protokollok külső forrásokat használhatnak.

Ami a WebSocket, bár nekem nincs elegendő tapasztalatom ennek a protokollnak a web-alkalmazásokkal való használatáról. Jól néz ki és ígéretes, de hogy mennyire stabil és praktikus — azt nem tudom megmondani.

Böngészők

A web application stands on the server side with one leg, and on the client side with the other. The client side is the browser. A modern browser provides many capabilities, which a modern web application can and should use to its advantage. A beautiful web application leverages modern browser technologies and does not have to function in browsers that do not support modern features. I understand that polyfills are a necessary measure, but they are not elegant. After all, it's not just developers who need to keep up with modern technologies; users and businesses are also involved.

Programming languages

In the realm of programming languages used for creating web applications, things can get very confusing. For the client side of web applications, there are numerous technologies that allow developers to ease the creation of the HTML/CSS/JS triad (which all modern browsers understand). However, I have closely worked with GWT and consider it beautiful when developers can see the original code in the browser rather than the result of compilation or transpilation. Therefore, the use of webpackand similar products for generating client-side code is, in my opinion, not attractive. The more the executable code in the browser resembles the original code created by the developer, the better. Don’t believe it? Try debugging code produced by GWT in production.

On the server side, there is more freedom (Java, PHP, Perl, Python, C#, Ruby, ...), but I believe it's beautiful when the same programming language—JavaScript—is used on both the server side and in the browser. After all, the language shapes thinking, and teams of like-minded individuals are more productive.

Humanity

A beautiful web application must be useful. Useful, primarily, for the human being as the end user. Therefore, I cannot call web servicesa beautiful web application. The average person (not a web developer) finds them difficult to navigate. Web services are beautiful in their own way,

A beautiful web application must have an intuitive interface. There can be arguments about UIwhat 'beauty' means—it’s quite subjective. But with UX it’s much simpler; if a user cannot use the application without the elusive OLVASD EL A HASZNÁLATI ÚTMUTATÓT , it’s poor UX and an unattractive web application. The most beautiful web applications, relative to this criterion, can be easily used by children who have not yet learned to read.

Visszafordítható Skálázhatóság

Réges-régen a programokat floppy lemezeken lehetett átvinni, ma már USB flash meghajtókon, vagy közvetlenül letölthetjük az Internetről. Egy egyszerű alkalmazást másolni és elindítani egy másik gépen – nem túl bonyolult feladat. A webalkalmazások helyzete kicsit más. Az Internet egy globális környezet, ahol nincs szükség a ugyanannak a webalkalmazásnak a klónjára. Az Interneten elegendő egy Facebook, Twitter, Instagram, Mail.ru vagy Yandex. Különböző webalkalmazások létezhetnek ugyanabban a tematikus niche-ben, különböző közönségekkel (mint a Facebook és a Vkontakte, Mail.ru és Gmail, Google Maps és Azure Maps). Az ilyen webalkalmazások globális elérhetőségéhez szükséges hardvererőforrások mondhatni, nem triviális.

Soha nem dolgoztam webalkalmazások ilyen szintjén fejlesztőként, és nem tudom, hogyan is működnek belül. Az ilyen webalkalmazások működésének biztosításához megfelelő szakemberekből álló csapatok és külön adatközpontok szükségesek.lenyűgöz a nagy léptékű együttműködés képessége az emberek között és az ilyen termékek létrehozása, de az én szépségideálom egy olyan webalkalmazás, amelyet egy külön laptopon el lehet indítani.

A szép webalkalmazás nemcsak felfelé és oldalirányban (a felhasználók számára) skálázódik, hanem lefelé és befelé is (a fejlesztők számára).

„Kétéltűség”

A modern webalkalmazásokhoz kétféle eszköz használatos:

  • számítógépek (laptopok, asztali gépek);
  • mobil eszközök (okostelefonok és táblagépek);

Valahol a horizonton megjelenik a „dolgok internete”, de egyelőre ennyi.

A számítógépek és a mobil eszközök közötti különbség olyan nagy, mint a szárazföldi lények és a vízi lények közötti különbség. Ezek különböző környezetek, és különböző követelményeket támasztanak a bennük élő lényekkel (programokkal) szemben. A szép webalkalmazások nem azok, amelyek hasonlítanak a kétéltűekre, hanem azok, amelyek a vízben – mint a halak, a szárazföldön – mint a vadállatok, és a levegőben (SEO) – mint a madarak.

Nem tartom szépségesnek a „kétéltűséget”, ez olyan, mint egy próbálkozás, hogy két (SEO esetén három) széken üljön. Jobb, ha olyan vagyok, mint Fiona a Shrekben – nappal egy, éjszaka egy másik. Igen, drágább. De jobb.

Keresztmegosztás

Már említettem a „Visszacsatolt Skálázhatóság” pontban, hogy a hálózat globális jellege lehetővé teszi, hogy egy webalkalmazás egy egész bolygón működjön. Ezért minden webalkalmazásnak valamilyen módon különböznie kell a többitől, hogy biztosítsa a fennmaradását. Mindazonáltal, a több éves tapasztalatom szerint Magento (e-kereskedelmi üzletek felépítésének keretrendszere) azt mondja, hogy a különböző webalkalmazások között a közös vonások száma gyakran nagyobb, mint a különbségeké. Egy szép webalkalmazásnak nemcsak modulárisnak kell lennie, hanem a moduljait más webalkalmazásokkal is meg kell osztania. Egy bizonyos mértékig ez az ötlet tükröződik a specifikációkban JSR 168 és JSR 286, valamint olyan keretrendszerekben, mint a WordPress, Django és ugyanaz a Magento. Minél több webalkalmazás használ egy adott modul a webalkalmazásból, annál szebb számomra. A kereszthasználat lehetővé teszi, hogy jobb minőségű modulokat hozzunk létre, és ennek következtében stabilabb webalkalmazásokat.

Modul alatt nem a jQuery vagy RequireJS típusú könyvtárakat értem — inkább nagyobb egységeket, mint a bővítmények a WordPress és Django-ben. De a könyvtárak esetében is igaz az a tétel, hogy a könyvtár széleskörű elterjedése lehetővé teszi, hogy jobb minőségű és megbízhatóbb legyen.

A Harvard architektúra

A Harvard architektúra, a jelenleg uralkodó Princeton elmélettel ellentétben, a kód és az adatok elválasztását jelenti. Az építkezés nem vált sikeressé, de maga az ötlet számomra gyönyörű. Különösen webalkalmazásoknál. Bármilyen statikus tartalom (HTML/CSS/JS/Képek/…) — ez kód. Ezt érdemes és szükséges is gyorsítótárazni, akár a szerveren, akár az ügyféloldalon. Az adatok pedig(szép) vagy REST/JSON SOAP (kicsit kevésbé szép). Vagy WebSockets/JSON (ez lehet a legjobb megoldás, de én még nem próbáltam)./XML Két dolog különösen aggaszt engem webalkalmazások fejlesztésekor — a mult nyelvű felület és az időzónák. Én Lettországból származom, ahol három nyelv van: LV, RU, EN. Egy szép webalkalmazásnak nemcsak azt kell lehetővé tennie, hogy több nyelvet használjanak az alkalmazásban, hanem lehetőséget kell biztosítania a használt nyelvek számának külső források által történő bővítésére is, például

Helyi alkalmazás

Crowdin . Ez ugyanolyan érvényes a webalkalmazást összeszerelő modulokra is.. Ez ugyanúgy igaz a modulokra is, amelyekből a webalkalmazás épül.

Az időzónákkal minden egyszerű: minden esetben, amikor nem világos, hogyan kell kezelni a dátumot és időt, a következőképpen járjunk el: minden, ami a szerveren fekszik, a szerverre megy és a szervertől érkezik — UTC, minden, ami a kliensnél megjelenik — a felhasználó profiljának időzónája szerint. Ez szép.

Kovácsműhelyek a „Halálcsillag” helyett

Réges-régen, minden nagyobb városban volt egy saját kovácsműhely. Lehet, hogy nem is egy. Néhány jobb, néhány rosszabb. Voltak kovács mesterek, akik világszerte ismertek voltak, és voltak olyanok is, akikhez csak szükségből mentek az emberek. Háborúk, járványok és természeti katasztrófák pusztítottak. Néhány város népességével együtt eltűnt. De a kovácsmesterség tovább élt. Az eltűnt városok helyére újakat építettek, és ezekben is megjelentek a kovácsműhelyek.

Most nézzük meg egy ilyen szolgáltatást, mint DNS. Amikor a gyökeres szerverek leállnak, az egész világ megrázkódik..

Megítélésem szerint egy szép webalkalmazás nem lehet akkora, mint a Facebook vagy a Mail.ru. Ez már közelít a „Halálcsillaghoz”, mind az építéséhez, mind a működése fenntartásához szükséges erőforrások szempontjából. Igen, ha a Facebook megsemmisül, az emberiség nem tűnik el, a funkcióit viszonylag gyorsan átveszik más alkalmazások (ugyanaz a VK Oroszország területén és környékén, Instagram, Twitter, …). Ennek ellenére a Föld jelentős részének egy alkalmazásra való rákényszerítése csúnyaság. Főleg, figyelembe véve a sokkal stabilabb alternatívákat (például torrents).

Összefoglaló

Ha eddig eljutottál, és zavarba ejtő érzésed van – „mi volt ez?“, akkor őszintén kifejezem együttérzésemet. Nem akartam rávenni, hogy olvasd. Csak megpróbáltam szavakba önteni a gondolataimat, hogy megtaláljam azokat, akik hasonlóan gondolkodnak. Lehet, hogy meg tudom beszélni velük a szép webalkalmazások készítésének néhány aspektusát, és választ kapni a kérdéseimre. Sok van belőlük.

Köszönöm, hogy elolvastad.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster