{"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\/pt\/blog\/news\/krasota-v-glazah-smotryashhego","title":{"rendered":"A beleza est\u00e1 nos olhos de quem a v\u00ea","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Eu j\u00e1 trabalho no desenvolvimento de aplicativos web h\u00e1 muito tempo. Muito tempo mesmo. Meus primeiros aplicativos web na plataforma <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/IBM_Notes\">Lotus Domino<\/a><\/noindex> eu criei na \u00e9poca em que a palavra <em>\u00abgoogle\u00bb<\/em> ainda n\u00e3o era um verbo, e para buscar informa\u00e7\u00f5es na internet, as pessoas usavam Yahoo! e Rambler. Eu usava <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Infoseek\">Infoseek<\/a><\/noindex>\u2014 eles tinham uma busca mais restrita e uma interface menos sobrecarregada do que a Yahoo!<\/p>\n<p><\/p>\n<p>O desenvolvimento de aplicativos, de qualquer aplicativo, n\u00e3o apenas para a web \u2014 \u00e9 um trabalho criativo. Poucas pessoas discordariam dessa afirma\u00e7\u00e3o. A beleza na criatividade \u00e9 como a pr\u00e1tica no conhecimento cient\u00edfico \u2014 um crit\u00e9rio de verdade. Mas, enquanto a pr\u00e1tica cient\u00edfica \u00e9 objetiva e baseada em medi\u00e7\u00f5es, a beleza \u00e9 algo subjetivo, dependendo de quem observa. Assim, me perguntei: o que, para mim, \u00e9 um aplicativo web bonito? <\/p>\n<p>\n<img decoding=\"async\" alt=\"A beleza est\u00e1 nos olhos de quem a v\u00ea\" src=\"\/wp-content\/uploads\/2019\/08\/36411160412b286dd6191aa5baa6ee83.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><em>(na KDPV, o olho n\u00e3o \u00e9 o meu, \u00e9 o olho feminino, mas, IMHO, o olhar feminino na KDPV \u00e9 mais adequado do que o masculino, afinal, isso \u00e9 \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/2ch.hk\/s\/src\/2616513\/15633579017010.png\">KDPV<\/a><\/noindex>!)<\/em><\/p>\n<p><\/p>\n<p>Abaixo, est\u00e3o meus pr\u00f3prios crit\u00e9rios para o que, no momento, pode ser considerado um aplicativo web bonito. Uma exposi\u00e7\u00e3o muito subjetiva, baseada na minha experi\u00eancia pessoal. Talvez, para alguns, meus crit\u00e9rios de beleza pare\u00e7am crit\u00e9rios de feiura. N\u00e3o se surpreendam, apenas t\u00eam uma experi\u00eancia diferente.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>E j\u00e1 que voc\u00ea desceu, por favor, seja cuidadoso nos coment\u00e1rios. Afinal, se voc\u00ea pode parar de ler o artigo assim que o que est\u00e1 exposto nele parecer feio ou at\u00e9 mesmo horr\u00edvel para voc\u00ea, eu, como autor, sou obrigado a ler todos os coment\u00e1rios.<\/p>\n<p><\/p>\n<h1 id=\"sreda-obitaniya\">Habitat<\/h1>\n<p><\/p>\n<h3 id=\"protokoly\">Protocolos<\/h3>\n<p><\/p>\n<p>N\u00e3o sei se vale a pena destacar esse crit\u00e9rio separadamente. Aplicativos web vivem na Rede e precisam se adequar \u00e0s Leis da Rede (protocolos). Os principais protocolos na Rede s\u00e3o <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Transmission_Control_Protocol\">TCP<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/IP\">IP<\/a><\/noindex>. A partir deles se baseiam muitos outros protocolos, mas para aplicativos web eu considero o mais importante <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/HTTP\">HTTP<\/a><\/noindex> (ou melhor, sua extens\u00e3o <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/HTTPS\">HTTPS<\/a><\/noindex> baseada em <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/TLS\">TLS<\/a><\/noindex>). Ou seja, um aplicativo web bonito est\u00e1 dispon\u00edvel por HTTPS\/TLS (ou, como op\u00e7\u00e3o, por HTTP), e outros protocolos (LDAP, RPC, IMAP4, POP3, SMTP, FTP, NNTP, ...) o tornam menos bonito a cada protocolo adicional suportado. O pr\u00f3prio aplicativo pode usar esses protocolos adicionais para acessar recursos externos. <\/p>\n<p><\/p>\n<p>Quanto \u00e0s <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/WebSocket\">WebSocket<\/a><\/noindex>, ent\u00e3o eu n\u00e3o tenho experi\u00eancia suficiente com esse protocolo em aplica\u00e7\u00f5es web. Parece bonito e promissor, mas qu\u00e3o est\u00e1vel e pr\u00e1tico isso \u00e9 \u2014 n\u00e3o posso dizer. <\/p>\n<p><\/p>\n<h3 id=\"brauzery\">Navegadores<\/h3>\n<p><\/p>\n<p>Uma aplica\u00e7\u00e3o web est\u00e1 apenas com um p\u00e9 no lado do servidor e o outro \u2014 no lado do cliente. O lado do cliente \u00e9 o navegador. Um navegador moderno fornece <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\">muitas coisas<\/a><\/noindex>, que uma aplica\u00e7\u00e3o web moderna pode e deve usar em seu benef\u00edcio. Uma bonita aplica\u00e7\u00e3o web utiliza as capacidades modernas dos navegadores e n\u00e3o precisa funcionar nos navegadores que n\u00e3o oferecem essas capacidades modernas. Eu entendo que <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D0%BE%D0%BB%D0%B8%D1%84%D0%B8%D0%BB\">polifills<\/a><\/noindex> \u2014 \u00e9 uma medida for\u00e7ada, mas isso n\u00e3o \u00e9 bonito. Afinal, n\u00e3o s\u00e3o apenas os desenvolvedores que devem acompanhar as tecnologias modernas, isso tamb\u00e9m diz respeito aos usu\u00e1rios e aos neg\u00f3cios.<\/p>\n<p><\/p>\n<h3 id=\"yap\">Linguagens de Programa\u00e7\u00e3o<\/h3>\n<p><\/p>\n<p>Com as linguagens de programa\u00e7\u00e3o usadas para criar aplica\u00e7\u00f5es web, tudo \u00e9 muito confuso. Para a parte cliente das aplica\u00e7\u00f5es web, h\u00e1 uma infinidade de tecnologias que permitem ao desenvolvedor facilitar a cria\u00e7\u00e3o da tr\u00edade HTML\/CSS\/JS (o que todos os navegadores modernos entendem). Mas eu, a meu tempo, tive um contato pr\u00f3ximo com <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Google_Web_Toolkit\">GWT<\/a><\/noindex> e considero bonito quando um desenvolvedor v\u00ea no navegador o c\u00f3digo original, e n\u00e3o o resultado da compila\u00e7\u00e3o ou transpira\u00e7\u00e3o. Portanto, usar <noindex><a rel=\"nofollow\" href=\"https:\/\/webpack.js.org\/\">webpack<\/a><\/noindex>e produtos semelhantes para gera\u00e7\u00e3o de c\u00f3digo do cliente, na minha opini\u00e3o, n\u00e3o s\u00e3o bonitos. Quanto mais o c\u00f3digo executado no navegador se assemelha ao c\u00f3digo-fonte criado pelo desenvolvedor, melhor. N\u00e3o acredita? Experimente depurar em produ\u00e7\u00e3o o c\u00f3digo gerado pelo GWT.<\/p>\n<p><\/p>\n<p>No lado do servidor, h\u00e1 mais liberdade (Java, PHP, Perl, Python, C#, Ruby, ...), mas eu acho que \u00e9 bonito quando um \u00fanico linguagem de programa\u00e7\u00e3o \u2014 JavaScript \u2014 \u00e9 usada tanto no lado do servidor quanto no navegador. Afinal, <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\">a linguagem define o pensamento<\/a><\/noindex>, e equipes de pessoas afins s\u00e3o mais produtivas.<\/p>\n<p><\/p>\n<h1 id=\"chelovechnost\">Humanidade<\/h1>\n<p><\/p>\n<p>Uma bonita aplica\u00e7\u00e3o web deve ser \u00fatil. \u00datil, antes de tudo, para o ser humano, como consumidor final. Portanto, eu n\u00e3o posso chamar de uma aplica\u00e7\u00e3o web bonita <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\">servi\u00e7os web<\/a><\/noindex>. Para uma pessoa comum (n\u00e3o um desenvolvedor web), eles s\u00e3o complicados. Os servi\u00e7os web s\u00e3o bonitos \u00e0 sua maneira,<\/p>\n<p><\/p>\n<p>Uma bonita aplica\u00e7\u00e3o web deve ter uma interface intuitiva. Pode-se discutir sobre <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>\u00e9 uma coisa bastante subjetiva. Mas com <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> tudo fica muito mais simples se o usu\u00e1rio n\u00e3o puder usar o aplicativo sem o precioso <noindex><a rel=\"nofollow\" href=\"http:\/\/lurkmore.to\/RTFM\">RTFM<\/a><\/noindex> \u2014 uma m\u00e1 experi\u00eancia do usu\u00e1rio, um aplicativo web feio. Os aplicativos web mais bonitos, relativamente a esse crit\u00e9rio, podem ser facilmente utilizados por crian\u00e7as que ainda n\u00e3o sabem ler. <\/p>\n<p><\/p>\n<h1 id=\"obratnaya-masshtabiruemost\">Escalonabilidade Reversa<\/h1>\n<p><\/p>\n<p>Antigamente, os programas podiam ser transferidos em disquetes, agora \u2014 em pen drives ou baixados diretamente da internet. Copiar um aplicativo comum e execut\u00e1-lo em outra m\u00e1quina \u00e9 uma tarefa trivial. A situa\u00e7\u00e3o \u00e9 um pouco diferente com aplicativos web. A rede \u00e9 um ambiente global onde n\u00e3o h\u00e1 necessidade de ter clones de um mesmo aplicativo web. H\u00e1 espa\u00e7o suficiente para um Facebook, Twitter, Instagram, Mail.ru ou Yandex. \u00c9 poss\u00edvel ter v\u00e1rios aplicativos web no mesmo nicho tem\u00e1tico, mas com diferentes p\u00fablicos (como Facebook e Vkontakte, Mail.ru e Gmail, Google Maps e Azure Maps). Os recursos de hardware necess\u00e1rios para garantir a disponibilidade global de tais aplicativos web s\u00e3o, digamos, <noindex><a rel=\"nofollow\" href=\"https:\/\/bigpicture.ru\/?p=404950\">n\u00e3o triviais<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Nunca trabalhei com aplicativos web de tal n\u00edvel como desenvolvedor e n\u00e3o tenho ideia de como eles s\u00e3o estruturados por dentro. Para garantir a funcionalidade de tais aplicativos web, s\u00e3o necess\u00e1rias equipes de especialistas correspondentes e data centers separados. Fico admirado com a capacidade das pessoas de cooperar em tais escalas e criar produtos semelhantes, mas meu padr\u00e3o de beleza \u00e9 um aplicativo web que pode ser executado em um laptop separado.<\/p>\n<p><\/p>\n<p>Um belo aplicativo web se escala n\u00e3o apenas para cima e para fora (para os usu\u00e1rios), mas tamb\u00e9m para baixo e para dentro (para os desenvolvedores).<\/p>\n<p><\/p>\n<h1 id=\"zemnovodnost\">\u00abAnfibiedade\u00bb<\/h1>\n<p><\/p>\n<p>Para acessar aplicativos web modernos, s\u00e3o utilizados dois tipos de dispositivos:<\/p>\n<p><\/p>\n<ul>\n<li>computadores (notebooks, desktops);<\/li>\n<li>dispositivos m\u00f3veis (smartphones e tablets);<\/li>\n<\/ul>\n<p><\/p>\n<p>L\u00e1 no horizonte ainda brilha \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 das coisas<\/a><\/noindex>\u00bb, mas por enquanto \u00e9 assim.<\/p>\n<p><\/p>\n<p>Computadores e dispositivos m\u00f3veis diferem tanto quanto seres terrestres diferem de criaturas aqu\u00e1ticas. S\u00e3o ambientes diferentes e eles imp\u00f5em diferentes requisitos \u00e0s criaturas que habitam neles (programas). Aplicativos web bonitos n\u00e3o s\u00e3o aqueles que se assemelham a <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\">anf\u00edbios<\/a><\/noindex>, mas aqueles que na \u00e1gua s\u00e3o como peixes, na terra como animais e no ar (<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 como p\u00e1ssaros.<\/p>\n<p><\/p>\n<p>Eu considero \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\">anfibiose<\/a><\/noindex>\u00bb, uma tentativa de ficar em dois (com SEO \u2014 tr\u00eas) lugares ao mesmo tempo. Melhor ser como Fiona de Shrek \u2014 de dia uma, e \u00e0 noite outra. Sim, \u00e9 mais caro. Mas \u00e9 melhor.<\/p>\n<p><\/p>\n<h1 id=\"cross-sharing\">Compartilhamento cruzado<\/h1>\n<p><\/p>\n<p>J\u00e1 mencionei no item &#171;Escalabilidade Reversa&#187; que a globalidade da Rede oferece a possibilidade de ter um \u00fanico aplicativo web para o Planeta. Portanto, cada aplicativo web deve diferir de alguma forma dos outros para garantir sua sobreviv\u00eancia. No entanto, minha experi\u00eancia de muitos anos com <noindex><a rel=\"nofollow\" href=\"https:\/\/magento.com\/\">Magento<\/a><\/noindex> (estrutura para constru\u00e7\u00e3o de lojas de e-commerce) mostra que entre diferentes aplicativos web pode haver mais coisas em comum do que diferen\u00e7as. Um belo aplicativo web n\u00e3o s\u00f3 deve ser modular, mas tamb\u00e9m deve compartilhar seus m\u00f3dulos com outros aplicativos web. At\u00e9 certo ponto, essa ideia \u00e9 refletida nas <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\">especifica\u00e7\u00f5es<\/a><\/noindex> JSR 168 e JSR 286 e em frameworks como <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> e o mesmo Magento. Quanto mais m\u00f3dulos de um aplicativo web forem utilizados por outros aplicativos web, mais bonito ele se torna aos meus olhos. O compartilhamento cruzado permite criar m\u00f3dulos de maior qualidade e, consequentemente, aplicativos web mais est\u00e1veis.<\/p>\n<p><\/p>\n<p>Por m\u00f3dulo, n\u00e3o me refiro a bibliotecas como jQuery ou RequireJS \u2014 mas sim a entidades maiores, como plugins em <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wordpress.org\/plugins\/\">WordPress<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/djangopackages.org\/categories\/apps\/\">Django<\/a><\/noindex>. Mas para bibliotecas, tamb\u00e9m \u00e9 v\u00e1lido afirmar que a ampla dissemina\u00e7\u00e3o da biblioteca permite torn\u00e1-la mais s\u00f3lida e confi\u00e1vel. <\/p>\n<p><\/p>\n<h1 id=\"garvardskaya-arhitektura\">Arquitetura de Harvard<\/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\">Arquitetura de Harvard<\/a><\/noindex>, ao contr\u00e1rio da atualmente dominante bal <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\">princetoniana<\/a><\/noindex>, implica na separa\u00e7\u00e3o de c\u00f3digo e dados. A arquitetura n\u00e3o decolou, mas a pr\u00f3pria ideia me parece bonita. Especialmente para aplicativos web. Qualquer est\u00e1tica (HTML\/CSS\/JS\/Imagens\/&#8230;) \u00e9 c\u00f3digo. Pode e deve ser armazenado em cache, tanto do lado do servidor quanto do cliente. E os dados s\u00e3o <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> (bonito) ou <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> (um pouco menos bonito). Ou WebSockets\/JSON (pode ser a melhor op\u00e7\u00e3o, mas eu n\u00e3o experimentei).<\/p>\n<p><\/p>\n<h1 id=\"lokalizaciya\">Localiza\u00e7\u00e3o<\/h1>\n<p><\/p>\n<p>Existem duas coisas que me preocupam especialmente ao desenvolver aplicativos web \u2014 a interface multil\u00edngue e os fusos hor\u00e1rios. Eu sou da Let\u00f4nia, onde usamos tr\u00eas l\u00ednguas: LV, RU, EN. Um belo aplicativo web deve permitir n\u00e3o apenas usar v\u00e1rias l\u00ednguas no pr\u00f3prio aplicativo, mas tamb\u00e9m permitir expandir o n\u00famero de l\u00ednguas usadas atrav\u00e9s de recursos externos, como <noindex><a rel=\"nofollow\" href=\"https:\/\/crowdin.com\/\">Crowdin<\/a><\/noindex>. Isso tamb\u00e9m se aplica aos m\u00f3dulos dos quais um aplicativo web \u00e9 composto.<\/p>\n<p><\/p>\n<p>Com os fusos hor\u00e1rios, \u00e9 simples: em todos os casos em que n\u00e3o est\u00e1 claro como lidar com data e hora, fa\u00e7a assim: tudo que est\u00e1 no servidor, vai para o servidor e vem do servidor \u2014 UTC, tudo que \u00e9 exibido ao cliente \u2014 de acordo com o fuso hor\u00e1rio do perfil do usu\u00e1rio. \u00c9 bonito.<\/p>\n<p><\/p>\n<h1 id=\"kuznicy-vmesto-zvezd-smerti\">Forjas em vez de &#171;Estrelas da Morte&#187;<\/h1>\n<p><\/p>\n<p>H\u00e1 muito tempo, em cada cidade mais ou menos grande havia sua pr\u00f3pria forja. Talvez at\u00e9 mais de uma. Algumas melhores, outras piores. Havia mestres ferreiros conhecidos em todo o mundo, e havia aqueles que eram procurados por falta de alternativa. Guerras, epidemias e desastres naturais passaram. Algumas cidades desapareceram junto com a popula\u00e7\u00e3o. Mas o of\u00edcio da metalurgia continuava vivo. Novas cidades surgiam onde as antigas estavam, e nelas tamb\u00e9m surgiam forjas. <\/p>\n<p><\/p>\n<p>E agora, olhem para um servi\u00e7o como <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/DNS\">DNS<\/a><\/noindex>. Quando os servidores raiz caem, <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Distributed_denial-of-service_attacks_on_root_nameservers\">todo o mundo entra em crise<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Na minha opini\u00e3o, um bonito aplicativo web n\u00e3o pode ser do tamanho do Facebook ou Mail.ru. Isso j\u00e1 est\u00e1 mais pr\u00f3ximo de &#171;<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\">Estrela da Morte<\/a><\/noindex>&#187; tanto em termos de recursos necess\u00e1rios para a constru\u00e7\u00e3o quanto para a manuten\u00e7\u00e3o do funcionamento. Sim, em caso de destrui\u00e7\u00e3o do Facebook, a humanidade n\u00e3o desapareceria, suas fun\u00e7\u00f5es seriam rapidamente assumidas por outros aplicativos (o mesmo <noindex><a rel=\"nofollow\" href=\"https:\/\/vk.com\/\">VK<\/a><\/noindex> no territ\u00f3rio da RF e adjac\u00eancias, Instagram, Twitter, &#8230;). No entanto, fechar uma parte significativa da popula\u00e7\u00e3o do Planeta em um \u00fanico aplicativo \u00e9 anti\u00e9tico. Ainda mais com a exist\u00eancia de alternativas muito mais robustas (por exemplo, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/The_Pirate_Bay\">torrents<\/a><\/noindex>).<\/p>\n<p><\/p>\n<h1 id=\"rezyume\">Resumo<\/h1>\n<p><\/p>\n<p>Se voc\u00ea leu at\u00e9 aqui e est\u00e1 confuso \u2014 &#171;<em>o que foi isso?<\/em>&#171;, expresso meu sincero pesar. N\u00e3o forcei voc\u00ea a ler isso. Apenas tentei colocar meus pensamentos em palavras para encontrar aqueles que pensam da mesma forma. Talvez eu possa discutir com eles alguns aspectos da cria\u00e7\u00e3o de aplicativos web bonitos e descobrir respostas para minhas perguntas. E eu tenho muitas.<\/p>\n<p><\/p>\n<p>Obrigado pela leitura.<\/p>\n<p>Fonte: <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.3 - 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\/pt\/blog\/news\/krasota-v-glazah-smotryashhego\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47A beleza est\u00e1 nos olhos de quem v\u00ea | ProHoster","description":"Eu j\u00e1 me dedico ao desenvolvimento de aplicativos web h\u00e1 muito tempo.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/krasota-v-glazah-smotryashhego","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/36689","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=36689"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/36689\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/27480"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=36689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=36689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=36689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}