{"id":36689,"date":"2019-10-31T22:13:11","date_gmt":"2019-10-31T19:13:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/krasota-v-glazah-smotryashhego\/"},"modified":"2019-10-31T22:13:11","modified_gmt":"2019-10-31T19:13:11","slug":"krasota-v-glazah-smotryashhego","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/news\/krasota-v-glazah-smotryashhego","title":{"rendered":"Sk\u00f6nhet ligger i \u00f6gonen p\u00e5 betraktaren","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Jag har l\u00e4nge arbetat med utveckling av webbapplikationer. Mycket l\u00e4nge. Mina f\u00f6rsta webbapplikationer i milj\u00f6n <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/IBM_Notes\">Lotus Domino<\/a><\/noindex> skapade jag n\u00e4r ordet <em>\u00abgoogle\u00bb<\/em> \u00e4nnu inte var ett verb, och f\u00f6r att s\u00f6ka information p\u00e5 internet anv\u00e4nde folk Yahoo! och Rambler. Jag anv\u00e4nde <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Infoseek\">Infoseek<\/a><\/noindex>\u2014 de hade en sn\u00e4vare s\u00f6kning och inte en s\u00e5 \u00f6verbelastad gr\u00e4nssnitt som Yahoo!<\/p>\n<p><\/p>\n<p>Utveckling av applikationer, alla typer av applikationer, inte bara f\u00f6r webben \u2014 det \u00e4r ett kreativt arbete. Det \u00e4r sv\u00e5rt att argumentera emot detta p\u00e5st\u00e5ende. Sk\u00f6nhet inom kreativitet \u00e4r likt praktiken inom vetenskaplig kunskap \u2014 ett kriterium f\u00f6r sanning. Men medan vetenskaplig praktik \u00e4r objektiv och baserad p\u00e5 m\u00e4tningar, \u00e4r sk\u00f6nhet ett subjektivt \u00e4mne som beror p\u00e5 den som betraktar. S\u00e5 jag st\u00e4llde mig fr\u00e5gan, vad anser jag personligen \u00e4r en vacker webbapplikation? <\/p>\n<p>\n<img decoding=\"async\" alt=\"Sk\u00f6nhet ligger i \u00f6gonen p\u00e5 betraktaren\" src=\"\/wp-content\/uploads\/2019\/08\/36411160412b286dd6191aa5baa6ee83.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><em>(med KDPV, min blick \u00e4r en kvinnas, men, IMHO, kvinnans blick p\u00e5 KDPV \u00e4r mer l\u00e4mplig \u00e4n m\u00e4nnens, eftersom detta \u00e4r \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/2ch.hk\/s\/src\/2616513\/15633579017010.png\">KDPV<\/a><\/noindex>!)<\/em><\/p>\n<p><\/p>\n<p>Nedanf\u00f6r listar jag mina egna kriterier f\u00f6r vad en webbapplikation f\u00f6r tillf\u00e4llet kan betraktas som vacker. Mycket subjektiv framst\u00e4llning, pr\u00e4glad av min personliga erfarenhet. Kanske kommer mina kriterier f\u00f6r det vackra att verka som kriterier f\u00f6r det fula f\u00f6r n\u00e5gon annan. Bli inte f\u00f6rv\u00e5nad, bara f\u00f6r att du har en annan erfarenhet.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Och eftersom du har kommit till nedanst\u00e5ende del, var v\u00e4nlig att vara f\u00f6rsiktig med kommentarer. Om du kan avbryta l\u00e4sningen av artikeln s\u00e5 snart som det som presenteras d\u00e4r verkar fult eller till och med styggt f\u00f6r dig, s\u00e5 \u00e4r jag, som f\u00f6rfattare, tvungen att l\u00e4sa alla kommentarer.<\/p>\n<p><\/p>\n<h1 id=\"sreda-obitaniya\">Livsmilj\u00f6<\/h1>\n<p><\/p>\n<h3 id=\"protokoly\">Protokoll<\/h3>\n<p><\/p>\n<p>Jag vet inte ens om det \u00e4r v\u00e4rt att s\u00e4rskilt framh\u00e4va detta kriterium. Webbapplikationer lever p\u00e5 n\u00e4tet och m\u00e5ste f\u00f6lja n\u00e4tets lagar (protokoll). Huvudprotokollen p\u00e5 n\u00e4tet \u00e4r <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Transmission_Control_Protocol\">TCP<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/IP\">IP<\/a><\/noindex>. M\u00e5nga andra protokoll bygger p\u00e5 dem, men f\u00f6r webbapplikationer anser jag att det viktigaste \u00e4r <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/HTTP\">HTTP<\/a><\/noindex> (eller snarare, dess utvidgning <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/HTTPS\">HTTPS<\/a><\/noindex> baserad p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/TLS\">TLS<\/a><\/noindex>). Det vill s\u00e4ga, en vacker webbapplikation \u00e4r tillg\u00e4nglig via HTTPS\/TLS (eller i vilket fall som helst via HTTP), och \u00f6vriga protokoll (LDAP, RPC, IMAP4, POP3, SMTP, FTP, NNTP, \u2026) g\u00f6r den mindre vacker med varje ytterligare st\u00f6djande protokoll. Sj\u00e4lva applikationen kan anv\u00e4nda externa resurser tack vare dessa ytterligare protokoll. <\/p>\n<p><\/p>\n<p>N\u00e4r det g\u00e4ller <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/WebSocket\">WebSocket<\/a><\/noindex>, s\u00e5 har jag inte tillr\u00e4cklig erfarenhet av att anv\u00e4nda detta protokoll med webbapplikationer. Det ser vackert och lovande ut, men hur stabilt och praktiskt det \u00e4r \u2014 kan jag inte s\u00e4ga. <\/p>\n<p><\/p>\n<h3 id=\"brauzery\">Webbl\u00e4sare<\/h3>\n<p><\/p>\n<p>Web-applikationen st\u00e5r bara med ena benet p\u00e5 serversidan, det andra benet \u00e4r p\u00e5 klientsidan. Klientsidan \u00e4r webbl\u00e4saren. En modern webbl\u00e4sare erbjuder <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\">m\u00e5nga funktioner<\/a><\/noindex>, som ett modernt web-applikation kan och b\u00f6r anv\u00e4nda till sin f\u00f6rdel. En vacker web-applikation anv\u00e4nder moderna webbl\u00e4sarfunktioner och beh\u00f6ver inte fungera i de webbl\u00e4sare som inte erbjuder dessa moderna funktioner. Jag f\u00f6rst\u00e5r att <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D0%BE%D0%BB%D0%B8%D1%84%D0%B8%D0%BB\">polyfills<\/a><\/noindex> \u00e4r en n\u00f6dbroms, men det \u00e4r inte snyggt. Slutligen, det \u00e4r inte bara utvecklarna som m\u00e5ste h\u00e4nga med i moderna teknologier, det g\u00e4ller ocks\u00e5 anv\u00e4ndare och f\u00f6retag.<\/p>\n<p><\/p>\n<h3 id=\"yap\">Programmeringsspr\u00e5k<\/h3>\n<p><\/p>\n<p>Resan med programmeringsspr\u00e5k som anv\u00e4nds f\u00f6r att skapa web-applikationer \u00e4r v\u00e4ldigt f\u00f6rvirrande. F\u00f6r klientsidan av web-applikationer finns det massor av teknologier som g\u00f6r det enklare f\u00f6r utvecklaren att skapa triaden HTML\/CSS\/JS (det som alla moderna webbl\u00e4sare f\u00f6rst\u00e5r). Men jag kom p\u00e5 min tid n\u00e4ra i kontakt med <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Google_Web_Toolkit\">GWT<\/a><\/noindex> och jag tycker att det \u00e4r vackert n\u00e4r utvecklaren kan se den ursprungliga koden i webbl\u00e4saren ist\u00e4llet f\u00f6r resultatet av kompilering eller transpiling. D\u00e4rf\u00f6r tycker jag att anv\u00e4ndningen av <noindex><a rel=\"nofollow\" href=\"https:\/\/webpack.js.org\/\">webpack<\/a><\/noindex>och liknande produkter f\u00f6r att generera klientkod, IMHO, \u00e4r inte vackra. Ju mer den k\u00f6rbara koden i webbl\u00e4saren liknar den ursprungliga kod som skapades av utvecklaren, desto b\u00e4ttre. Tror ni inte? F\u00f6rs\u00f6k att debugga i produktion den kod som skapades av GWT.<\/p>\n<p><\/p>\n<p>P\u00e5 serversidan finns det mer frihet (Java, PHP, perl, python, C#, Ruby, \u2026), men jag tycker att det \u00e4r vackert n\u00e4r samma programmeringsspr\u00e5k \u2014 JavaScript \u2014 anv\u00e4nds b\u00e5de p\u00e5 serversidan och p\u00e5 klientsidan. Trots allt <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%93%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%B7%D0%B0_%D0%BB%D0%B8%D0%BD%D0%B3%D0%B2%D0%B8%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8\">spr\u00e5ket definierar t\u00e4nkandet<\/a><\/noindex>, och team av likasinnade \u00e4r mer produktiva.<\/p>\n<p><\/p>\n<h1 id=\"chelovechnost\">M\u00e4nsklighet<\/h1>\n<p><\/p>\n<p>En vacker web-applikation b\u00f6r vara anv\u00e4ndbar. Anv\u00e4ndbar, fr\u00e4mst f\u00f6r m\u00e4nniskan som slutlig anv\u00e4ndare. D\u00e4rf\u00f6r kan jag inte kalla webtj\u00e4nster f\u00f6r en vacker web-applikation. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%92%D0%B5%D0%B1-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0\">Webtj\u00e4nster.<\/a><\/noindex>F\u00f6r en vanlig person (som inte \u00e4r webbutvecklare) \u00e4r de sv\u00e5ra att hantera. Webtj\u00e4nster \u00e4r vackra p\u00e5 sitt s\u00e4tt,<\/p>\n<p><\/p>\n<p>En vacker web-applikation b\u00f6r ha ett intuitivt anv\u00e4ndargr\u00e4nssnitt. Man kan diskutera om <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F\">UI<\/a><\/noindex>\u00e4r ganska subjektivt. Men med <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%94%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%BC\">UX<\/a><\/noindex> \u00e4r det mycket enklare om anv\u00e4ndaren inte kan anv\u00e4nda applikationen utan den eftertraktade <noindex><a rel=\"nofollow\" href=\"http:\/\/lurkmore.to\/RTFM\">RTFM<\/a><\/noindex> \u2014 d\u00e5lig UX, ful web-applikation. De vackraste web-applikationerna i detta avseende kan enkelt anv\u00e4ndas av barn som \u00e4nnu inte kan l\u00e4sa. <\/p>\n<p><\/p>\n<h1 id=\"obratnaya-masshtabiruemost\">\u00c5terkopplingsskala<\/h1>\n<p><\/p>\n<p>F\u00f6r l\u00e4nge sedan kunde program \u00f6verf\u00f6ras via disketter, nu \u00e4r det via USB-minnen eller direkt nedladdning fr\u00e5n n\u00e4tet. Att kopiera en vanlig applikation och k\u00f6ra den p\u00e5 en annan maskin \u00e4r en trivial uppgift. L\u00e4get med webbapplikationer \u00e4r dock lite annorlunda. N\u00e4tverket utg\u00f6r en global milj\u00f6 d\u00e4r det inte finns n\u00e5got behov av kloner av samma webbapplikation. Det r\u00e4cker med en Facebook, Twitter, Instagram, Mail.ru eller Yandex. Man kan ha olika webbapplikationer inom samma tematik men med olika m\u00e5lgrupper (som Facebook och Vkontakte, Mail.ru och Gmail, Google Maps och Azure Maps). De h\u00e5rdvaruresurser som kr\u00e4vs f\u00f6r att s\u00e4kerst\u00e4lla global tillg\u00e4nglighet f\u00f6r s\u00e5dana webbapplikationer beh\u00f6vs, l\u00e5t oss s\u00e4ga, <noindex><a rel=\"nofollow\" href=\"https:\/\/bigpicture.ru\/?p=404950\">inte triviala<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Jag har aldrig arbetat med web-applikationer av den h\u00e4r niv\u00e5n som utvecklare och har ingen aning om hur de fungerar d\u00e4r inne. F\u00f6r att s\u00e4kerst\u00e4lla att s\u00e5dana web-applikationer fungerar kr\u00e4vs team av relevanta specialister och separata datacenter. Jag beundrar m\u00e4nniskors f\u00f6rm\u00e5ga till samarbete i s\u00e5dana skala och skapandet av s\u00e5dana produkter, men min sk\u00f6nhetsideal \u00e4r en web-applikation som kan k\u00f6ras p\u00e5 en separat laptop.<\/p>\n<p><\/p>\n<p>En vacker web-applikation skalar inte bara upp\u00e5t och ut\u00e5t (f\u00f6r anv\u00e4ndare), utan ocks\u00e5 ned\u00e5t och in\u00e5t (f\u00f6r utvecklare).<\/p>\n<p><\/p>\n<h1 id=\"zemnovodnost\">\u00abAmfibiskhet\u00bb<\/h1>\n<p><\/p>\n<p>F\u00f6r att f\u00e5 tillg\u00e5ng till moderna web-applikationer anv\u00e4nds enheter av tv\u00e5 typer:<\/p>\n<p><\/p>\n<ul>\n<li>datorer (b\u00e4rbara datorer, station\u00e4ra datorer);<\/li>\n<li>mobila enheter (smartphones och surfplattor);<\/li>\n<\/ul>\n<p><\/p>\n<p>N\u00e5gonstans vid horisonten skymtar ocks\u00e5 \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82_%D0%B2%D0%B5%D1%89%D0%B5%D0%B9\">internet av saker<\/a><\/noindex>\u00bb, men \u00e4n s\u00e5 l\u00e4nge s\u00e5.<\/p>\n<p><\/p>\n<p>Datorer skiljer sig fr\u00e5n mobila enheter lika mycket som landlevande varelser skiljer sig fr\u00e5n vattenlevande. Det \u00e4r olika milj\u00f6er och de st\u00e4ller olika krav p\u00e5 de varelser som lever i dem (program). Vackra web-applikationer \u00e4r inte de som liknar <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%97%D0%B5%D0%BC%D0%BD%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5\">amfibier<\/a><\/noindex>, utan de som i vatten \u2014 som fiskar, p\u00e5 land \u2014 som djur, och i luften (<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D0%BE%D0%B8%D1%81%D0%BA%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F\">SEO<\/a><\/noindex>) \u2014 som f\u00e5glar.<\/p>\n<p><\/p>\n<p>Jag anser att \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D0%B4%D0%B0%D0%BF%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D0%B2%D0%B5%D0%B1-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD\">amfibiskhet<\/a><\/noindex>\u00bb, det \u00e4r som att f\u00f6rs\u00f6ka sitta p\u00e5 tv\u00e5 (med SEO \u2014 tre) stolar. B\u00e4ttre att vara som Fiona fr\u00e5n Shrek \u2014 ensam p\u00e5 dagen, men en annan p\u00e5 natten. Ja, det \u00e4r dyrare. Men b\u00e4ttre.<\/p>\n<p><\/p>\n<h1 id=\"cross-sharing\">Cross-sharing<\/h1>\n<p><\/p>\n<p>Jag har redan n\u00e4mnt i avsnittet \u201d\u00c5terkoppling\u201d att n\u00e4tets globalitet ger m\u00f6jlighet att ha en enda webbapplikation f\u00f6r hela planeten. D\u00e4rf\u00f6r m\u00e5ste varje webbapplikation p\u00e5 n\u00e5got s\u00e4tt skilja sig fr\u00e5n andra f\u00f6r att kunna \u00f6verleva. \u00c4nd\u00e5, min m\u00e5ng\u00e5riga erfarenhet med <noindex><a rel=\"nofollow\" href=\"https:\/\/magento.com\/\">Magento<\/a><\/noindex> (ramverk f\u00f6r att bygga e-handelsbutiker) visat att mellan separata web-applikationer kan det finnas fler likheter \u00e4n skillnader. En vacker web-applikation b\u00f6r inte bara vara modul\u00e4r, den b\u00f6r ocks\u00e5 dela sina moduler med andra web-applikationer. P\u00e5 n\u00e5got s\u00e4tt \u00e5terspeglas denna id\u00e9 i <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_Java-%D0%BF%D0%BE%D1%80%D1%82%D0%BB%D0%B5%D1%82%D0%BE%D0%B2\">specifikationerna<\/a><\/noindex> JSR 168 och JSR 286 och s\u00e5dana ramverk som <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/WordPress\">WordPress<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Django\">Django<\/a><\/noindex> och samma Magento. Ju fler moduler av web-applikationen som anv\u00e4nds av andra web-applikationer, desto vackrare \u00e4r den i min mening. Cross-sharing m\u00f6jligg\u00f6r skapandet av mer kvalitativa moduler och, som en f\u00f6ljd, mer stabila web-applikationer.<\/p>\n<p><\/p>\n<p>Med moduler menar jag inte bibliotek s\u00e5som jQuery eller RequireJS \u2014 utan snarare st\u00f6rre enheter, som plugins i <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wordpress.org\/plugins\/\">WordPress<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/djangopackages.org\/categories\/apps\/\">Django<\/a><\/noindex>. Men f\u00f6r bibliotek g\u00e4ller ocks\u00e5 tesen att bred spridning av biblioteket g\u00f6r det mer kvalitativt och stabilt. <\/p>\n<p><\/p>\n<h1 id=\"garvardskaya-arhitektura\">Harvardarkitektur<\/h1>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%93%D0%B0%D1%80%D0%B2%D0%B0%D1%80%D0%B4%D1%81%D0%BA%D0%B0%D1%8F_%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0\">Harvardarkitektur<\/a><\/noindex>, till skillnad fr\u00e5n den nuvarande dominanta <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%84%D0%BE%D0%BD_%D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD%D0%B0\">Princeton-arkitekturen<\/a><\/noindex>, inneb\u00e4r separation av kod och data. Arkitekturen fl\u00f6g inte, men sj\u00e4lva id\u00e9n verkar vacker f\u00f6r mig. S\u00e4rskilt f\u00f6r webbapplikationer. All statisk data (HTML\/CSS\/JS\/Bilder\/... ) \u00e4r kod. Den kan och b\u00f6r cachelagras antingen p\u00e5 serversidan eller klientsidan. Och data \u00e4r <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/REST\">REST<\/a><\/noindex>\/<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/JSON\">JSON<\/a><\/noindex> (vackert) eller <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/SOAP\">SOAP<\/a><\/noindex>\/<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/XML\">XML<\/a><\/noindex> (lite mindre vackert). Eller WebSockets\/JSON (kan vara det b\u00e4sta alternativet, men jag har inte provat).<\/p>\n<p><\/p>\n<h1 id=\"lokalizaciya\">Lokalisering<\/h1>\n<p><\/p>\n<p>Det finns tv\u00e5 saker som s\u00e4rskilt oroar mig vid utveckling av web-applikationer \u2014 det \u00e4r flerspr\u00e5kigt gr\u00e4nssnitt och tidszoner. Jag kommer sj\u00e4lv fr\u00e5n Lettland, d\u00e4r vi har tre spr\u00e5k i bruk: LV, RU, EN. En vacker web-applikation b\u00f6r kunna erbjuda m\u00f6jligheten att anv\u00e4nda flera spr\u00e5k i sj\u00e4lva applikationen, men ocks\u00e5 till\u00e5ta ut\u00f6kning av antalet spr\u00e5k med hj\u00e4lp av externa resurser, s\u00e5som <noindex><a rel=\"nofollow\" href=\"https:\/\/crowdin.com\/\">Crowdin<\/a><\/noindex>. Detta g\u00e4ller ocks\u00e5 f\u00f6r modulerna som en web-applikation byggs av.<\/p>\n<p><\/p>\n<p>Med tidszoner \u00e4r det enkelt, i alla fall n\u00e4r det \u00e4r oklart hur man ska hantera datum och tid: allt som ligger p\u00e5 servern g\u00e5r till servern och kommer fr\u00e5n servern \u2014 UTC, allt som visas f\u00f6r klienten \u2014 enligt tidszonen i anv\u00e4ndarprofilen. Det \u00e4r vackert.<\/p>\n<p><\/p>\n<h1 id=\"kuznicy-vmesto-zvezd-smerti\">Smedjor ist\u00e4llet f\u00f6r \u201dD\u00f6dsstj\u00e4rnor\u201d<\/h1>\n<p><\/p>\n<p>F\u00f6r l\u00e4nge sedan hade varje mer eller mindre stor stad sitt eget smedja. Kanske till och med flera. Vissa b\u00e4ttre, andra s\u00e4mre. Det fanns smeder som var k\u00e4nda \u00f6ver hela v\u00e4rlden, och s\u00e5 fanns det s\u00e5dana man gick till av brist p\u00e5 alternativ. Krig, epidemier och naturkatastrofer h\u00e4rjade. Vissa st\u00e4der f\u00f6rsvann tillsammans med sin befolkning. Men smideskonsten fortsatte att leva. Ist\u00e4llet f\u00f6r de f\u00f6rsvunna st\u00e4derna byggdes nya, och i dem d\u00f6k det ocks\u00e5 upp smeder. <\/p>\n<p><\/p>\n<p>Och nu, titta p\u00e5 en s\u00e5dan tj\u00e4nst som <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/DNS\">DNS<\/a><\/noindex>. N\u00e4r rotservrarna g\u00e5r ner, <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Distributed_denial-of-service_attacks_on_root_nameservers\">kr\u00e4ks hela v\u00e4rlden<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Enligt min mening kan en vacker webbapplikation inte vara i samma storlek som Facebook eller Mail.ru. Detta b\u00f6rjar luta mer mot \u201d<noindex><a rel=\"nofollow\" href=\"https:\/\/www.wikiwand.com\/ru\/%D0%97%D0%B2%D0%B5%D0%B7%D0%B4%D0%B0_%D0%A1%D0%BC%D0%B5%D1%80%D1%82%D0%B8\">D\u00f6dsstj\u00e4rnan<\/a><\/noindex>\u201d b\u00e5de n\u00e4r det kommer till resurser som kr\u00e4vs f\u00f6r att bygga det och resurser som kr\u00e4vs f\u00f6r att h\u00e5lla det ig\u00e5ng. Ja, i h\u00e4ndelse av att Facebook f\u00f6rsvinner kommer m\u00e4nskligheten inte att upph\u00f6ra, dess funktioner kommer snabbt att tas \u00f6ver av andra applikationer (som samma <noindex><a rel=\"nofollow\" href=\"https:\/\/vk.com\/\">VK<\/a><\/noindex> i Ryssland och angr\u00e4nsande omr\u00e5den, Instagram, Twitter, ...). \u00c4nd\u00e5 \u00e4r det osmakligt att l\u00e5sa en betydande del av jordens befolkning till en enda applikation. S\u00e4rskilt med s\u00e5 mycket mer h\u00e5llbara alternativ tillg\u00e4ngliga (till exempel <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/The_Pirate_Bay\">filmer<\/a><\/noindex>).<\/p>\n<p><\/p>\n<h1 id=\"rezyume\">Sammanfattning<\/h1>\n<p><\/p>\n<p>Om du har l\u00e4st fram till slutet och k\u00e4nner f\u00f6rvirring - \u201d<em>vad var det h\u00e4r?<\/em>\u201d, d\u00e5 uttrycker jag min uppriktiga medk\u00e4nsla. Jag har inte tvingat dig att l\u00e4sa detta. Jag har bara f\u00f6rs\u00f6kt att s\u00e4tta mina tankar i ord f\u00f6r att hitta dem som t\u00e4nker likadant. Kanske kan jag diskutera vissa aspekter av att skapa vackra webbapplikationer med dem och f\u00e5 svar p\u00e5 mina fr\u00e5gor. Och jag har m\u00e5nga.<\/p>\n<p><\/p>\n<p>Tack f\u00f6r att du l\u00e4ste.<\/p>\n<p>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/461749\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042f \u0434\u0430\u0432\u043d\u043e \u0443\u0436\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 web-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041e\u0447\u0435\u043d\u044c \u0434\u0430\u0432\u043d\u043e. \u0421\u0432\u043e\u0438 \u043f\u0435\u0440\u0432\u044b\u0435 web-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0441\u0440\u0435\u0434\u0435 Lotus Domino \u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b \u0432 \u0442\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430, \u043a\u043e\u0433\u0434\u0430 \u0441\u043b\u043e\u0432\u043e &#171;google&#187; \u0435\u0449\u0451 \u043d\u0435 \u0431\u044b\u043b\u043e \u0433\u043b\u0430\u0433\u043e\u043b\u043e\u043c, \u0430 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043b\u044e\u0434\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 Yahoo! \u0438 Rambler. \u042f \u0436\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f Infoseek&#8216;\u043e\u043c \u2014 \u0443 \u043d\u0438\u0445 \u0431\u044b\u043b \u0441\u0443\u0436\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043f\u043e\u0438\u0441\u043a \u0438 \u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u0431\u0435\u0437\u043e\u0431\u0440\u0430\u0437\u043d\u043e \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043a\u0430\u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27480,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-36689","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042f \u0434\u0430\u0432\u043d\u043e \u0443\u0436\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 web-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041e\u0447\u0435\u043d\u044c \u0434\u0430\u0432\u043d\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/news\/krasota-v-glazah-smotryashhego\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0440\u0430\u0441\u043e\u0442\u0430 \u0432 \u0433\u043b\u0430\u0437\u0430\u0445 \u0441\u043c\u043e\u0442\u0440\u044f\u0449\u0435\u0433\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042f \u0434\u0430\u0432\u043d\u043e \u0443\u0436\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 web-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041e\u0447\u0435\u043d\u044c \u0434\u0430\u0432\u043d\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/news\/krasota-v-glazah-smotryashhego\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:13:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:13:11+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Sk\u00f6nhet ligger i betraktarens \u00f6gon | ProHoster","description":"Jag har l\u00e4nge arbetat med utveckling av webbtj\u00e4nster. Mycket l\u00e4nge.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/krasota-v-glazah-smotryashhego","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0440\u0430\u0441\u043e\u0442\u0430 \u0432 \u0433\u043b\u0430\u0437\u0430\u0445 \u0441\u043c\u043e\u0442\u0440\u044f\u0449\u0435\u0433\u043e | ProHoster","og:description":"\u042f \u0434\u0430\u0432\u043d\u043e \u0443\u0436\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 web-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041e\u0447\u0435\u043d\u044c \u0434\u0430\u0432\u043d\u043e.","og:url":"https:\/\/prohoster.info\/sv\/blog\/news\/krasota-v-glazah-smotryashhego","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:13:11+00:00","article:modified_time":"2019-10-31T19:13:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36689","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 04:26:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:40:23","updated":"2026-01-22 04:26:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/36689","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=36689"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/36689\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/27480"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=36689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=36689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=36689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}