{"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\/en\/blog\/news\/krasota-v-glazah-smotryashhego","title":{"rendered":"Beauty is in the eye of the beholder","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>I've been developing web applications for a long time. A very long time. I created my first web applications in the environment <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/IBM_Notes\">Lotus Domino<\/a><\/noindex> back when the word <em>\"google\"<\/em> wasn't yet a verb, and to search for information on the internet, people used Yahoo! and Rambler. I used <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Infoseek\">Infoseek<\/a><\/noindex>'They had a narrowing search and a less chaotically overloaded interface than Yahoo!'<\/p>\n<p><\/p>\n<p>Developing applications, any applications, not just for the web \u2014 is a creative job. Few would argue with this assertion. And beauty in creativity is like practice in scientific knowledge \u2014 the criterion of truth. But while scientific practice is objective and based on measurements, beauty is a subjective matter, depending on who's looking. So, I asked myself what personally constitutes a beautiful web application for me? <\/p>\n<p>\n<img decoding=\"async\" alt=\"Beauty is in the eye of the beholder\" src=\"\/wp-content\/uploads\/2019\/08\/36411160412b286dd6191aa5baa6ee83.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><em>(referring to KDPV, the eye isn\u2019t mine, it\u2019s a woman's eye, but, IMHO, a woman\u2019s perspective on KDPV is more fitting than a man's, since it is \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/2ch.hk\/s\/src\/2616513\/15633579017010.png\">KDPV<\/a><\/noindex>!)<\/em><\/p>\n<p><\/p>\n<p>Below are my own criteria for what a web application can currently be considered beautiful. It\u2019s a highly subjective exposition influenced by my personal experience. Perhaps some may find my criteria for beauty to be those of ugliness. Don't be surprised; you just have a different experience.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>And since you've come down here, please be cautious in the comments. After all, while you can stop reading the article if what is presented seems ugly or even repulsive to you, as the author, I have to read all the comments.<\/p>\n<p><\/p>\n<h1 id=\"sreda-obitaniya\">Habitat<\/h1>\n<p><\/p>\n<h3 id=\"protokoly\">Protocols<\/h3>\n<p><\/p>\n<p>I don't even know if it's worth separately highlighting this criterion. Web applications exist on the Network and must comply with the Laws of the Network (protocols). The main protocols in the Network are <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Transmission_Control_Protocol\">TCP<\/a><\/noindex> and <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/IP\">IP<\/a><\/noindex>. Numerous other protocols are built on them, but for web applications, I consider the most important <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/HTTP\">HTTP<\/a><\/noindex> (rather, its extension <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/HTTPS\">HTTPS<\/a><\/noindex> based on <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/TLS\">TLS<\/a><\/noindex>). That is, a beautiful web application is accessible via HTTPS\/TLS (or alternatively \u2014 via HTTP), while other protocols (LDAP, RPC, IMAP4, POP3, SMTP, FTP, NNTP, ...) make it less beautiful with each additional supported protocol. The application itself can use external resources through these additional protocols. <\/p>\n<p><\/p>\n<p>As for <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/WebSocket\">WebSocket<\/a><\/noindex>, I do not have enough experience using this protocol with web applications. It looks beautiful and promising, but I can't say how stable and practical it is. <\/p>\n<p><\/p>\n<h3 id=\"brauzery\">Browsers<\/h3>\n<p><\/p>\n<p>A web application stands only partly on the server side and partly on the client side. The client side is the browser. A modern browser provides <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\">a lot<\/a><\/noindex>, which a modern web application can and should use for its own benefit. A beautiful web application utilizes modern browser capabilities and does not have to work in those browsers that do not provide modern features. I understand that <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> are a necessary measure, but they are not appealing. After all, it\u2019s not just developers who need to keep up with modern technologies; users and businesses are involved as well.<\/p>\n<p><\/p>\n<h3 id=\"yap\">Programming Language<\/h3>\n<p><\/p>\n<p>The situation with programming languages used for creating web applications is quite complicated. For the client side of web applications, there are many technologies that allow developers to simplify the creation of the HTML\/CSS\/JS triad (the one that all modern browsers understand). But I have closely interacted with <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Google_Web_Toolkit\">GWT<\/a><\/noindex> and I find it beautiful when a developer sees the original code in the browser, rather than the result of compilation or transpilation. Therefore, the use of <noindex><a rel=\"nofollow\" href=\"https:\/\/webpack.js.org\/\">webpack<\/a><\/noindex>'For generating client-side code, IMHO, is not beautiful. The more the code executed in the browser resembles the source code created by the developer, the better. Don't believe me? Try debugging in production the code generated by GWT.<\/p>\n<p><\/p>\n<p>On the server side, there's more freedom (Java, PHP, Perl, Python, C#, Ruby, ...), but it seems to me that it's beautiful when the same programming language \u2014 JavaScript \u2014 is used on both the server and in the browser. <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\">the language shapes thinking<\/a><\/noindex>, and teams of like-minded individuals are more productive.<\/p>\n<p><\/p>\n<h1 id=\"chelovechnost\">Humanity<\/h1>\n<p><\/p>\n<p>A beautiful web application must be useful. Useful, primarily, for the person as the end consumer. Therefore, I cannot call a <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\">web service<\/a><\/noindex>a beautiful web application. An average person (not a web developer) finds them complicated. Web services are beautiful in their own way,<\/p>\n<p><\/p>\n<p>A beautiful web application must have an intuitive interface. One can argue about <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>'It's quite a subjective matter. But with <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> It's much simpler if a user can't use the application without the coveted <noindex><a rel=\"nofollow\" href=\"http:\/\/lurkmore.to\/RTFM\">RTFM<\/a><\/noindex> \u2014 poor UX, ugly web application. The most aesthetically pleasing web applications by this criterion can easily be used by children who can't yet read. <\/p>\n<p><\/p>\n<h1 id=\"obratnaya-masshtabiruemost\">Reverse Scalability<\/h1>\n<p><\/p>\n<p>Long ago, programs could be transferred on floppy disks, now \u2014 on flash drives or downloaded directly from the Web. Copying a regular application and running it on another machine is a trivial task. The situation is somewhat special with web applications. The network represents a global environment where there is no need to have clones of the same web application. One Facebook, Twitter, Instagram, Mail.ru, or Yandex is enough. Various web applications can exist in the same thematic niche but target different audiences (like Facebook and VKontakte, Mail.ru and Gmail, Google Maps and Azure Maps). The hardware resources needed to ensure the global availability of such web applications are required, let's say, <noindex><a rel=\"nofollow\" href=\"https:\/\/bigpicture.ru\/?p=404950\">nontrivial<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>I have never worked with web applications of this level as a developer and can't imagine how they're structured inside. Ensuring the functionality of such web applications requires teams of specialists and separate data centers. I am amazed by people's ability to cooperate on such a scale and create such products, but my standard of beauty is a web application that can run on a standalone laptop.<\/p>\n<p><\/p>\n<p>A beautiful web application scales not only upward and outward (for users) but also downward and inward (for developers).<\/p>\n<p><\/p>\n<h1 id=\"zemnovodnost\">\"Amphibiousness\"<\/h1>\n<p><\/p>\n<p>Access to modern web applications is done using two types of devices:<\/p>\n<p><\/p>\n<ul>\n<li>computers (laptops, desktops);<\/li>\n<li>mobile devices (smartphones and tablets);<\/li>\n<\/ul>\n<p><\/p>\n<p>Somewhere on the horizon, there's still \"<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 of Things<\/a><\/noindex>\", but for now, that's it.<\/p>\n<p><\/p>\n<p>Computers differ from mobile devices as much as land creatures differ from aquatic ones. These are different environments, and they impose different requirements on the beings (programs) that inhabit them. Beautiful web applications are not those that resemble <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\">amphibians<\/a><\/noindex>, but those that are in the water \u2014 like fish, on land \u2014 like beasts, and in the air (<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 like birds.<\/p>\n<p><\/p>\n<p>I consider \"<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\">amphibiousness<\/a><\/noindex>\", an attempt to sit on two (with SEO \u2014 three) chairs. It's better to be like Fiona from Shrek \u2014 one during the day, and another at night. Yes, it's more expensive. But it's better.<\/p>\n<p><\/p>\n<h1 id=\"cross-sharing\">Cross-sharing<\/h1>\n<p><\/p>\n<p>I already mentioned in the section 'Back Scalability' that the global nature of the Internet allows for a single web application to serve the planet. Therefore, every web application must differ in some way from others to ensure its survival. Nevertheless, my years of experience with <noindex><a rel=\"nofollow\" href=\"https:\/\/magento.com\/\">Magento<\/a><\/noindex> (framework for building e-commerce stores) indicates that there can be more similarities than differences between individual web applications. A beautiful web application not only needs to be modular; it should also share its modules with other web applications. To some extent, this idea is reflected in <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\">the specifications<\/a><\/noindex> JSR 168 and JSR 286 and frameworks like <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> and the same Magento. The more modules of a web application that are used by other web applications, the more attractive it is from my perspective. Cross-sharing allows for the creation of higher quality modules and, as a result, more stable web applications.<\/p>\n<p><\/p>\n<p>By a module, I do not mean libraries like jQuery or RequireJS \u2014 rather more extensive entities like plugins in <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wordpress.org\/plugins\/\">WordPress<\/a><\/noindex> and <noindex><a rel=\"nofollow\" href=\"https:\/\/djangopackages.org\/categories\/apps\/\">Django<\/a><\/noindex>. But the thesis also holds true for libraries that widespread use makes them more robust and reliable. <\/p>\n<p><\/p>\n<h1 id=\"garvardskaya-arhitektura\">Harvard architecture<\/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\">Harvard architecture<\/a><\/noindex>, unlike the current ruling puppet <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<\/a><\/noindex>, implies the separation of code and data. The architecture didn't take off, but the idea itself seems beautiful to me, especially for web applications. Any static content (HTML\/CSS\/JS\/Images\/...) is code. It can and should be cached either on the server-side or the client-side. And data is <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> (beautifully) or <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> (a bit less beautifully). Or WebSockets\/JSON (might be the best option, but I haven't tried it).<\/p>\n<p><\/p>\n<h1 id=\"lokalizaciya\">Localization<\/h1>\n<p><\/p>\n<p>There are two things that particularly concern me when developing web applications \u2014 the multilingual interface and time zones. I myself am from Latvia, where we use three languages: LV, RU, EN. A beautiful web application should not only allow the use of multiple languages within the application itself but should also enable the expansion of the number of languages used through external resources, like <noindex><a rel=\"nofollow\" href=\"https:\/\/crowdin.com\/\">Crowdin<\/a><\/noindex>. This is equally true for the modules that make up the web application.<\/p>\n<p><\/p>\n<p>Time zones are straightforward: in all cases where it's unclear how to handle date-time, do this: everything on the server operates using UTC, everything that is displayed to the client follows the user's profile time zone. It's elegant.<\/p>\n<p><\/p>\n<h1 id=\"kuznicy-vmesto-zvezd-smerti\">Forges instead of 'Death Stars'<\/h1>\n<p><\/p>\n<p>Once upon a time, every reasonably large town had its own forge. Perhaps not just one. Some were better, some were worse. There were blacksmiths known throughout the world, while others were only visited out of necessity. Wars, epidemics, and natural disasters came and went. Some towns vanished along with their populations. But the blacksmithing craft endured. New towns rose where the old ones had disappeared, and forges appeared within them as well. <\/p>\n<p><\/p>\n<p>And now take a look at a service like <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/DNS\">DNS<\/a><\/noindex>. When root servers go down, <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Distributed_denial-of-service_attacks_on_root_nameservers\">the entire world is shaken<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>In my view, a beautiful web application cannot be the size of Facebook or Mail.ru. That is already closer to '<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\">Death Star<\/a><\/noindex>' in terms of the resources needed for construction and the resources required for maintaining functionality. Yes, in the event of Facebook's demise, humanity won't disappear; its functions will quickly be taken over by other applications (such as <noindex><a rel=\"nofollow\" href=\"https:\/\/vk.com\/\">VK<\/a><\/noindex> within the RF territory and its surrounding areas, Instagram, Twitter, ...). Nonetheless, confining a significant part of the planet's population to a single application is unattractive, especially when there are far more resilient alternatives (for example, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/The_Pirate_Bay\">torrents<\/a><\/noindex>).<\/p>\n<p><\/p>\n<h1 id=\"rezyume\">Summary<\/h1>\n<p><\/p>\n<p>If you've read to the end and are feeling perplexed \u2014 '<em>what was that?<\/em>', I express my sincere sympathy. I did not force you to read this. I simply tried to articulate my thoughts in words to find those who think alike. Perhaps I can discuss certain aspects of creating beautiful web applications with them and find answers to my many questions.<\/p>\n<p><\/p>\n<p>Thank you for reading.<\/p>\n<p>Source: <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.2 - 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\/en\/blog\/news\/krasota-v-glazah-smotryashhego\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\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\/en\/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\udd47Beauty lies in the eyes of the beholder | ProHoster","description":"I have been developing web applications for a long time. A very long time.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/krasota-v-glazah-smotryashhego","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","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\/en\/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\/en\/wp-json\/wp\/v2\/posts\/36689","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=36689"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/36689\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/27480"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=36689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=36689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=36689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}