Bukuria është në sytë e shikuesit

Unë kam qenë i angazhuar në zhvillimin e aplikacioneve web për një kohë të gjatë. Shumë kohë. Aplikacionet e mia të para web i kam krijuar në ambientin Lotus Domino kur fjala «google» ende nuk ishte një folje, dhe për të kërkuar informacion në internet njerëzit përdornin Yahoo! dhe Rambler. Unë personalisht kam përdorur Infoseeksepse ata kishin një kërkim më të fokusuar dhe një ndërfaqe jo aq të ndërlikuar si Yahoo!

Zhvillimi i aplikacioneve, çdo lloj aplikacioni, jo vetĂ«m pĂ«r web — Ă«shtĂ« njĂ« punĂ« kreative. NjĂ«ra Ă«shtĂ« e sigurt, askush nuk do tĂ« diskutojĂ« pĂ«r kĂ«tĂ« deklaratĂ«. Dhe bukuria nĂ« krijimtari Ă«shtĂ«, ashtu si praktika nĂ« njohjen shkencore — kriteri i tĂ« vĂ«rtetĂ«s. Por nĂ«se praktika shkencore Ă«shtĂ« objektive dhe bazohet nĂ« matje, atĂ«herĂ« bukuria Ă«shtĂ« njĂ« subjektivitet, varet nga ai qĂ« po shikon. KĂ«shtu qĂ« unĂ« e kam bĂ«rĂ« pyetjen, çfarĂ« pĂ«r mua personalisht Ă«shtĂ« njĂ« aplikacion web i bukur?

Bukuria është në sytë e shikuesit

(në KDPV nuk është sy i imi, është sy femrash, por, IMHO, syri femëror në KDPV është më i përshtatshëm se ai mashkullor, sepse ky është KDPV!)

Poshtë janë kriteret e mia personale për atë çka një aplikacion web mund të konsiderohet si i bukur në këtë moment. Një paraqitje shumë subjektive, e ndikuar nga përvoja ime personale. Ndoshta disa të tjerë do ta konsiderojnë kriterin tim për bukurinë si një kriter për shëmtinë. Mos u habitni, thjesht keni një përvojë tjetër.

Dhe që kur keni hyrë poshtë, ju lutem të jeni të kujdesshëm në komentet. Sepse, nëse mund të ndaloni së lexuari artikullin sapo ajo që po prezantohet duket e shëmtuar ose madje e tmerrshme për ju, unë, si autor, duhet të lexoj të gjitha komentet.

Mjedisi i Jetesës

Protokollet

Nuk e di nĂ«se vlen tĂ« shĂ«nohet veçmas ky kriter. Aplikacionet web jetojnĂ« nĂ« Internet dhe janĂ« tĂ« detyruar tĂ« pĂ«rputhen me Ligjet e Internetit (protokollet). Protokollet kryesore nĂ« Internet janĂ« TCP dhe IP. NĂ« to bazohet njĂ« numĂ«r i madh protokollesh tĂ« tjerĂ«, por pĂ«r aplikacionet web unĂ« mendoj se mĂ« i rĂ«ndĂ«sishmi Ă«shtĂ« HTTP (nĂ« fakt, zgjerimi i tij HTTPS nĂ« bazĂ« tĂ« TLS). Pra, njĂ« aplikacion web i bukur Ă«shtĂ« i aksesueshĂ«m pĂ«rmes HTTPS/TLS (si njĂ« opsion — pĂ«rmes HTTP), dhe protokollet e tjera (LDAP, RPC, IMAP4, POP3, SMTP, FTP, NNTP, ...) e bĂ«jnĂ« atĂ« mĂ« pak tĂ« bukur me çdo protokoll shtesĂ« qĂ« mbĂ«shtetje. Aplikacioni vetĂ« mund tĂ« pĂ«rdorĂ« kĂ«to protokolle shtesĂ« pĂ«r tĂ« pĂ«rdorur burime tĂ« jashtme.

Sa i pĂ«rket WebSocket, kĂ«shtu qĂ« nuk kam pĂ«rvojĂ«n e mjaftueshme nĂ« pĂ«rdorimin e kĂ«tij protokolli me aplikacionet web. Duket bukur dhe e perspektivĂ«s, por sa stabil dhe praktik Ă«shtĂ« — nuk mund ta them.

Shfletuesit

A web application stands partially on the server side and partially on the client side. The client side is the browser. A modern browser provides a lot of features, which a modern web application can and should use for its benefit. A well-designed web application utilizes the modern capabilities of browsers and isn’t obligated to work in browsers that don’t support these capabilities. I understand that polyfills are a necessary measure, but they're not appealing. After all, it's not just developers who need to keep up with modern technologies; users and businesses need to as well.

Programming Languages

The world of programming languages used to create web applications is quite complex. For the client side of web applications, there are numerous technologies that allow developers to simplify the creation of the HTML/CSS/JS triad (which all modern browsers understand). However, I've had significant experience with GWT and I find it appealing when developers can see the original code in the browser instead of the output of compilation or transpilation. Therefore, using webpackand similar tools for generating client-side code is, in my opinion, unattractive. The closer the executable code in the browser resembles the original code written by the developer, the better. Don’t believe me? Try debugging production code generated by GWT.

On the server side, there is more freedom (Java, PHP, Perl, Python, C#, Ruby, ...), but it seems to me that it is beautiful when both the server side and the browser use the same programming language — JavaScript. After all, the language defines thinking, and teams of like-minded individuals are more productive.

Humanity

A beautiful web application should be useful. Useful, first and foremost, for the person as the end consumer. Therefore, I cannot call web servicesa beautiful web application. It's difficult for an ordinary person (not a web developer) to navigate them. Web services have their own beauty,

A beautiful web application should have an intuitive interface. There can be debates over UI‘what beauty is — it’s quite a subjective matter. But with UX , it’s much simpler when the user cannot use the application without the coveted RTFM. — UX i dobĂ«t, aplikacion web i shĂ«mtuar. Aplikacionet web mĂ« tĂ« bukura nĂ« kĂ«tĂ« kriter mund tĂ« pĂ«rdoren lehtĂ«sisht nga fĂ«mijĂ«t qĂ« ende nuk dinĂ« tĂ« lexojnĂ«.

Ritmi i Tundjes

Dikur, programet mund tĂ« transferoheshin nĂ« disqe, tani — nĂ« USB ose menjĂ«herĂ« tĂ« shkarkohen nga Interneti. TĂ« kopjosh njĂ« aplikacion tĂ« zakonshĂ«m dhe ta shkosh nĂ« njĂ« makinĂ« tjetĂ«r Ă«shtĂ« njĂ« detyrĂ« triviale. Por situata me aplikacionet web Ă«shtĂ« paksa ndryshe. Interneti Ă«shtĂ« njĂ« mjedis global, ku nuk ka nevojĂ« tĂ« kesh klone tĂ« njĂ«jtit aplikacion web. NjĂ« Facebook, Twitter, Instagram, Mail.ru ose Yandex mjafton. Mund tĂ« kemi aplikacione tĂ« ndryshme web nĂ« tĂ« njĂ«jtĂ«n niĆŸĂ« tematike, por me audienca tĂ« ndryshme (si Facebook dhe Vkontakte, Mail.ru dhe Gmail, Google Maps dhe Azure Maps). Burimet harduerike pĂ«r tĂ« siguruar aksesin global pĂ«r kĂ«to aplikacione web janĂ« tĂ« nevojshme, tĂ« themi. jo triviale.

Kurrë nuk kam punuar me aplikacione web të këtij niveli si zhvillues dhe nuk e kam idenë se si janë ato, brenda. Për të siguruar funksionimin e këtyre aplikacioneve web nevojiten ekipe specialistësh përkatës dhe qendra të veçanta të të dhënave. Më fascinon aftësia e njerëzve për të bërë kooperim në këto përmasa dhe për të krijuar produkte të tilla, por standardi im i bukurisë është një aplikacion web që mund të aktivizohet në një laptop të veçantë.

Një aplikacion web i bukur është i shkallëzuar jo vetëm lart dhe gjerë (për përdoruesit), por edhe poshtë dhe brenda (për zhvilluesit).

„Amfibi“

Për të arritur në aplikacionet moderne web përdoren dy lloje pajisjesh:

  • kompjuterĂ« (laptopĂ«, desktopĂ«);
  • pajisje mobile (smartphone dhe tabletĂ«);

Diku nĂ« horizont paraqitet edhe „internetin e gjĂ«rave“, por pĂ«r tani Ă«shtĂ« kĂ«shtu.

KompjuterĂ«t dallojnĂ« nga pajisjet mobile nĂ« mĂ«nyrĂ« tĂ« njĂ«jtĂ« siq dallohen krijesat tokĂ«sore nga ato ujore. KĂ«to janĂ« mjedise tĂ« ndryshme dhe ata kanĂ« kĂ«rkesa tĂ« ndryshme pĂ«r krijesat qĂ« jetojnĂ« nĂ« to (programet). Aplikacionet web tĂ« bukura nuk janĂ« ato qĂ« ngjajnĂ« me amfibitĂ«, por ato qĂ« nĂ« ujĂ« — si peshqit, nĂ« tokĂ« — si kafshĂ«t, e nĂ« ajĂ«r (SEO) — si zogjtĂ«.

Mendoj se „amfibia“ Ă«shtĂ« e shĂ«mtuar, Ă«shtĂ« si njĂ« pĂ«rpjekje pĂ«r tĂ« qĂ«ndruar mbi dy (me SEO — tre) karrige. MĂ« mirĂ« si Fiona nga Shrek — gjatĂ« ditĂ«s njĂ«ra, e natĂ«n tjetra. Po, mĂ« shtrenjtĂ«. Por mĂ« mirĂ«.

Pjesa e Kryqëzimit

Kam kam e theksuar në pikën "Shkallëzim të Kundërt", që globaliteti i Internetit ofron mundësinë për të pasur një aplikacion web për Planetin. Prandaj, çdo aplikacion web duhet të jetë ndryshe nga të tjerët me diçka, që të sigurojë mbijetesën e tij. Megjithatë, përvoja ime shumëvjeçare me Magento (kornizë për ndërtimin e dyqaneve e-commerce) thotë se midis aplikacioneve të veçanta web mund të ketë më shumë të përbashkëta sesa dallime. Një aplikacion web i bukur jo vetëm që duhet të jetë modular, por gjithashtu duhet të ndajnë modulet e tij me aplikacione të tjera web. Në një farë mënyre, kjo ide reflektohet në specifikimet JSR 168 dhe JSR 286 dhe kornizat si WordPress, Django dhe po ajo Magento. Sa më shumë module të aplikacionit web përdoren nga aplikacione të tjera web, aq më i bukur është ai sipas mendimit tim. NdSharing-i ndihmon në krijimin e moduleve me cilësi më të lartë dhe, si pasojë, aplikacioneve web më stabile.

Me modul nuk nĂ«nkuptoj biblioteka si jQuery ose RequireJS — mĂ« shumĂ« strukturat mĂ« tĂ« mĂ«dha, si pluginet nĂ« WordPress dhe Django. Por, pĂ«r bibliotekat, tezĂ« e njĂ«jta vlen se shpĂ«rndarja e gjerĂ« e bibliotekĂ«s e bĂ«n atĂ« mĂ« cilĂ«sore dhe mĂ« tĂ« qĂ«ndrueshme.

Arkitektura Harvard

Arkitektura Harvard, pĂ«rkundrazi me aktualen princetoniane , nĂ«nkupton ndarjen e kodit dhe tĂ« dhĂ«nave. Arkitektura nuk u ngjit, por ajo ide mĂ« duket e bukur personalisht. Sidomos pĂ«r aplikacionet web. Çdo statikĂ« (HTML/CSS/JS/Imazhe/
) Ă«shtĂ« kod. Ajo mund dhe duhet tĂ« kesh tĂ« paktĂ«n nĂ« anĂ«n e serverit, ose nĂ« anĂ«n e klientit. NdĂ«rsa tĂ« dhĂ«nat janĂ«(bukur) ose REST/JSON SOAP (pak mĂ« pak bukur). Ose WebSockets/JSON (mund tĂ« jetĂ« opsioni mĂ« i mirĂ«, por unĂ« nuk kam provuar)./XML Ka dy gjĂ«ra qĂ« mĂ« shqetĂ«sojnĂ« veçanĂ«risht gjatĂ« zhvillimit tĂ« aplikacioneve web — kjo Ă«shtĂ« ndĂ«rfaqja shumĂ«-gjuhĂ«she dhe zonat kohore. UnĂ« vetĂ« jam nga Letonia, ne kemi tre gjuhĂ« nĂ« pĂ«rdorim: LV, RU, EN. NjĂ« aplikacion web i bukur duhet tĂ« ofrojĂ« mundĂ«sinĂ« pĂ«r tĂ« pĂ«rdorur jo vetĂ«m disa gjuhĂ« nĂ« vetĂ« aplikacionin, por gjithashtu tĂ« lejojĂ« zgjerimin e numrit tĂ« gjuhĂ«ve tĂ« pĂ«rdorura pĂ«rmes burimeve tĂ« jashtme, si

Lokalisht

Crowdin . Kjo është gjithashtu e vërtetë për modulet, nga të cilat ndërtosh aplikacionin web.. Kjo është e drejtë edhe për modulet nga të cilat ndërtohet aplikacioni web.

Mezinet e orareve janĂ« tĂ« thjeshta, nĂ« tĂ« gjitha rastet kur nuk e dini se si tĂ« procesoni datĂ«n-koha, bĂ«ni kĂ«shtu: gjithçka qĂ« Ă«shtĂ« nĂ« server, shkon nĂ« server dhe vjen nga serveri — UTC, gjithçka qĂ« shfaqet tek klienti — sipas orarit tĂ« profilit tĂ« pĂ«rdoruesit. Kjo Ă«shtĂ« e bukur.

Çekiçet nĂ« vend tĂ« "Yjeve tĂ« Vdekjes"

Më përpara, në çdo qytet më të madh kishte çekiçin e tij. Ndoshta edhe më shumë se një. Disa ishin më të mira, të tjera më të këqija. Kishte mjeshtra çeliku që ishin të njohur në të gjithë botën, dhe kishte edhe ata që vizitoheshin nga detyrimi. Kalonin luftërat, epidemitë, fatkeqësitë natyrore. Disa qytete zhbëheshin bashkë me popullsinë. Por zanati i çelikut mbeti gjallë. Në vend të qyteteve të zhdukura, ndërtoheshin të reja dhe atje gjithashtu shfaqeshin çekiçet.

Dhe tani shikoni një shërbim si DNS. Kur serverët rrënjësorë bien, të gjithë janë të tronditur.

SipĂ«r mendimit tim, njĂ« aplikacion web i bukur nuk mund tĂ« ketĂ« njĂ« madhĂ«si si Facebook ose Mail.ru. Kjo Ă«shtĂ« mĂ« afĂ«r "Yllit tĂ« Vdekjes" dhe pĂ«r burimet e nevojshme pĂ«r ndĂ«rtimin, dhe pĂ«r burimet e nevojshme pĂ«r mbajtjen e funksionit. Po, nĂ« rastin e shkatĂ«rrimit tĂ« Facebook-ut, njerĂ«zimi nuk do tĂ« zhduket, funksionet e tij do t'i kalohet shpejt aplikacioneve tĂ« tjera (ata tĂ« njĂ«jtĂ«, VK nĂ« territorin e RF dhe afĂ«r, Instagram, Twitter, ...). MegjithatĂ«, mbyllja e njĂ« pjese tĂ« rĂ«ndĂ«sishme tĂ« popullsisĂ« BotĂ«rore nĂ« njĂ« aplikacion — kjo Ă«shtĂ« e shĂ«mtuar. Sidomos kur ekzistojnĂ« alternativa shumĂ« mĂ« tĂ« qĂ«ndrueshme (p.sh., torrents).

CV

NĂ«se e keni lexuar deri nĂ« fund dhe ndiheni tĂ« habitur — "çfarĂ« ishte kjo?", atĂ«herĂ« ju shpreh ngushĂ«llime tĂ« sinqerta. Nuk ju detyrova tĂ« lexoni kĂ«tĂ«. Thjesht pĂ«rpiqesha tĂ« shpreh mendimet e mia me fjalĂ«, pĂ«r tĂ« gjetur ata qĂ« mendojnĂ« njĂ«soj. Ndoshta, do tĂ« mund tĂ« diskutoj me ta disa aspekte tĂ« krijimit tĂ« aplikacioneve web tĂ« bukura dhe tĂ« marr pĂ«rgjigjet pĂ«r pyetjet e mia. TĂ« cilat kam shumĂ«.

Faleminderit që e lexuat.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster