Skip to main content

WordPress - Escolha fácil, mas nem sempre o melhor caminho

Entenda o porque criar sites no WordPress pode ser ruim para a sua empresa

Posted in Arquitetura de Software, Diversos, Tecnologia

A algum tempo atrás precisamos usar WordPress para fazer o site de um cliente. Deu tudo certo e entregamos sem maiores problemas. Mas poderia ter sido muito pior e vou tentar ilustrar os motivos neste artigo. E vou fazer isso mostrando as coisas boas também, obviamente.

A plataforma

WordPress é uma plataforma de blogs feita em PHP criada em 2003 (isso mesmo, 11 anos atrás). Usado mundialmente, muitos blogueiros famosos – pra não dizer a maioria deles – usa WordPress como plataforma preferida. Existem, claro, alguns motivos pra isso: Facilidade de personalização, variedade de themes e plug-ins, sem falar do baixo custo e o fato de estar no mercado por muito tempo.

Personalização

Uma de suas grandes qualidades é o nível de personalização oferecido. Qualquer pessoa com algum tempo de imersão pode criar um theme para WordPress, desde que tenha algum conhecimento sobre HTML, CSS e PHP.

Variedade de themes e plug-ins

Existem diversos themesplug-ins para WordPress pela internet – grátis ou pagos. Muitos desses themes alteram completamente o layout do blog, fazendo com que ele se pareça até com um grande site de notícias. Muitos desses themes, inclusive, tem plug-ins específicos para eles, agregando valor aos themes. Aliás, os plug-ins são um show à parte.

Baixo custo

Existe um motivo pra isso: Diversas empresas tem planos baratos pra sites criados em PHP pois o combo PHP / MySQL é instalado em um servidor Linux, que não exige pagamento de licença. Aliás, nem mesmo o MySQL precisa de licença pra ser instalado. É importante também mencionar que o custo das ferramentas de desenvolvimentos são baixos justamente por muita coisa ser barata ou de graça no mundo Linux.

Como você pôde ver WordPress é uma plataforma relativamente boa e barata. Mas, como toda plataforma, ela sofre problemas relacionados a ideia que as pessoas tem do seu uso.

Os problemas

É muito comum ver empresas optando por usar WordPress achando que isso vai acelerar o desenvolvimento de seus projetos. Isso pode ser verdade inicialmente, dada a base de conhecimento que se tem no mercado hoje. O problema está no custo de manutenção.

Explico.

Quando o projeto é feito do zero a empresa tem controle total sobre o código-fonte, o que significa que a base de conhecimento do software é alta. Isso faz com que o os desenvolvedores já saibam onde está o problema e como resolver assim que recebem o ticket do suporte. Quando se usa componentes de terceiros (plug-ins, por exemplo) o desenvolvedor está assumindo um risco: Se o plugin parar de funcionar, ele precisa dar um jeito de consertar. O cliente não quer saber se o plugin não é atualizado desde 2005. Ele quer o projeto funcionando.

Outra coisa que encarece a manutenção é o fato de os desenvolvedores optarem por WordPress sem ter um conhecimento aprofundado da plataforma. Logo, mesmo sem usar componentes de terceiros ele pode ter problemas com coisas simples como Custom Types e WP_Query, entre outros. Isso sem dúvida pode afetar a performance do site, fazendo com que o cliente perca dinheiro no fim do dia.

E cliente nenhum quer perder dinheiro.

Na melhor das hipóteses o cliente nunca vai pedir alterações e o site feito em WordPress só vai ficar devagar, se comparado com um site feito usando ASP.NET. Digo isso pois como WordPress é feito em PHP, que é uma linguagem interpretada, o servidor precisa “ler” o PHP a cada execução. No caso de um site feito em ASP.NET, que é compilado, só a primeira execução do primeiro usuário vai demorar. As outras serão mais rápidas.

Na minha humilde opinião o arquiteto responsável pelo projeto deveria escolher a solução que se encaixe melhor com a necessidade do cliente, salvo quando o cliente exige alguma solução específica. No meu caso, sempre procuro explicar ao cliente os prós e contras de determinada solução, caso a mesma seja imposta por ele. As vezes funciona, as vezes não. Eu acredito que existem soluções melhores e mais seguras do que WordPress até para blogs. Mas eu não hesitaria em recomendá-lo se ele encaixasse direitinho no escopo do cliente.

Did you like the article?

You can subscribe and get them as soon they are online, share using the buttons bellow or leave a comment.

And you also can share using your favorite social network:

Ser brasileiro é ser amado no exterior

Eu sei que isso não acontece em alguns países mas na República Tcheca acontece!

Posted in República Tcheca, Diversos

Ontem, dia internacional da mulher, foi um daqueles dias onde se sai pra andar no shopping e se vê um monte de gente (homens, em maioria) comprando flores para suas parceiras. Não que o cidadão tcheco seja romântico (e não é), mas o que vale é a intenção.

E, bem, eu estava lá pra fazer a mesma coisa: Comprar flores.

Estou estudando tcheco mas ainda não consigo falar muito bem. Digamos que meu diálogo funciona por 3 minutos antes de eu começar a falar coisa sem sentido ou parar de entender o interlocutor. Por causa disso eu sempre prefiro perguntar se a pessoa fala inglês logo de cara. Quando não, bem, bate o desespero e vamos que vamos em tcheco mesmo.

Voltando às flores: Depois de andar um pouco no shopping e comprar algumas coisas pra mim, consegui achar uma floricultura. E, como disse acima, lotada de namorados/maridos desesperados. Cheguei na porta e fiquei observando as flores que lá estavam. Não queria algo muito sofisticado e nem as clássicas "rosas vermelhas". Talvez um vasinho com algumas flores que vão resistir por algumas semanas já estaria bom demais.

Depois de uns 10 minutos esperando ser atendido, uma vendedora chega até mim:

- Boa tarde! Em que posso ajudar? (em tcheco)
- Boa tarde. Você fala inglês? (em inglês)
- Sim, falo.
- Ótimo! Gostaria de saber um pouco sobre essas flores aqui...

E ficamos conversando por um tempo sobre flores até que eu conseguisse escolher algo e ela perguntasse se eu queria embrulhar pra presente. Como as flores eram pra minha namorada, bem, claro que eu queria embrulhar pra presente. E, olha, ela realmente estava com vontade de embrulhar as flores: Corta papel daqui, mede um pedaço de pano ali, faz o laço agressivamente, se concentra pra medir mais papel, etc. Parecia aqueles chefes franceses extremamente concentrados em preparar a comida do presidente.

Depois daquele show (sério) chegou a hora de pagar 229 coroas tchecas (por volta de 28 reais):

- São duzentos e vinte oito coroas.
- Ok, cartão por favor.
- Aham.

Quando eu olho pra maquininha e vejo que ela colocou 229 ao invés dos 228 que ela falou:
- Er... Então, acho que você errou um número aí.
- Oi?
- Sim, olha. Você falou 228 mas colocou 229.
- Ah, desculpa. Eu tenho problemas com números em inglês. São 229, olha aqui - me mostrando a lista de preços
- Tudo bem, sem problemas - digo - também tenho problemas com os números em tcheco. Principalmente com dvanáct (12) e devatenáct (19).
- Esses números são difíceis mesmo. De onde você é?

Pausa.

Normalmente, quando eu respondo essa pergunta, vejo o mesmo tipo de reação: Pessoas perguntando falando sobre samba, sobre o Ronaldinho, sobre o carnaval, etc. As vezes perguntam sobre as praias ou se eu falo espanhol. E sinceramente já esperava por isso. Mas:

- Eu sou do Brasil.
- Brasil?! - abre os braços e começa a "cantar" e dançar Aquarela do Brasil.

Eu fiquei sem saber o que fazer. Foi completamente inesperado. Todo mundo na loja olhando pra gente e ela não tava nem aí. E ela só parou depois que outra funcionária da loja começou a rir e implorou pra ela parar. Procurei sair logo da loja. Vai que ela tira um cavaquinho detrás do balcão e começa a tocar Brasileirinho?

Conclusão: Ainda somos amados mas não sei se volto naquela loja.

Did you like the article?

You can subscribe and get them as soon they are online, share using the buttons bellow or leave a comment.

And you also can share using your favorite social network:

O que é, quanto custa e quais as vantagens do Microsoft Azure

Os melhores serviços de computação na nuvem com um precinho bem camarada

Posted in Microsoft Azure, Dicas, Tecnologia, Computação em nuvem

Muitas empresas hoje em dia precisam de soluções rápidas e com possibilidade de escalar rapidamente de acordo com o aumento de demanda. Para isso existem várias empresas com serviços de computação na nuvem. Mas vamos falar aqui do serviço da Microsoft, o Microsoft Azure.

Antes de qualquer coisa: Eu entendo que existe um estigma - adquirido na década de 90 e as vezes ainda acontecendo - de que tudo que a Microsoft faz é ruim. Só que convenhamos, o Azure é bom pra caramba! Sem falar nos valores que podem não ser baixos à primeira vista mas compensam quando olhamos a longo prazo.

Vou fazer tentar contar de maneira bem básica e resumida o que é e quais as vantagens do Microsoft Azure.

Eis o novo portal - ainda beta

O que é Microsoft Azure?

Microsoft Azure (antigamente conhecido como Windows Azure) é a solução da Microsoft para computação em nuvem (cloud computing) e engloba desde websites até active directory, passando por banco de dados SQL e machine learning.

Além disso ele pode ser usado tanto como IaaS (Infrastructure-as-a-Service) quando como PaaS (Platform-as-a-Service), é flexível (qualquer linguagem de programação e qualquer sistema operacional) e escala facilmente.

Clique aqui para saber com mais detalhes o que é Microsoft Azure.

Quais são as vantagens do Microsoft Azure?

A principal vantagem é a possibilidade de escalar rapidamente o projeto de acordo com a demanda. Suponhamos que o cliente tenha um site com 1.000 acessos diários e, um dia, o site começa a ter uma demanda de 10.000 acessos por hora. Se o cliente estiver usando Microsoft Azure ele poderá escalar o servidor automaticamente para poder aguentar essa quantidade de acessos. Caso contrário ele vai ter que ligar para a empresa onde o website está hospedado e comprar um plano maior.

Outra vantagem é poder contar com o conteúdo em múltiplos servidores, agilizando a entrega de conteúdo, já que o servidor de entrega vai ser escolhido de acordo com a localização do usuário. Isso faz com que o site esteja rápido tanto para mim, aqui em Praga, quanto para alguém que esteja na Nova Zelândia.

Que serviços o Microsoft Azure tem para oferecer?

São mais de 30 serviços que já deixaria qualquer empresa mais do que satisfeita. Como desenvolvedor os que eu mais usaria são: Azure WebsitesVisual Studio Online (source code control), Virtual Machines (VM), SQL Database, CDNBackup e API Management. Mas pode acontecer de um dia eu precisar de algum outro serviço que não citei. Sei lá, Stream Analytics.

Quanto custa assinar o Microsoft Azure?

A Azure VM mais barata tá saindo por 13 USD por mês enquanto o SQL Database mais barato sai por pouco menos de 5 USD ao mês. Só que os valores vão mudar de acordo com sua demanda e região. Lembrando que cada serviço tem uma métrica diferente, o que motiva a usar a Calculadora de Preços que eles disponibilizam no site.

Assinar o Microsoft Azure compensa?

Na minha humilde opinião isso depende alguns fatores, como por exemplo:

  1. Tamanho do seu projeto – Microsoft Azure vai, com certeza, aceitar qualquer tamanho de projeto. Só que se for um projeto pequeno faria mais sentido pegar o plano free. Mas para, por exemplo, poder customizar a URL você precisaria pegar o plano mais básico que sairia mais caro que uma hospedagem normal. Veja bem: Eu pago 5 USD por mês para hospedar meu blog na EasyHost1, o que está de bom tamanho pra mim já que tem banco de dados incluído. No caso do Azure Websites eu teria que pagar pelo banco de dados separado. Eu adoraria ir para o Azure mas no meu caso não compensa. Ainda.
  2. Previsão de acessos diários e/ou transferência de dados – Em teoria eu não estou usando nem 2% do total mensal de transferência que contratei. Sem contar que meu blog não usa lá tanta memória e processamento. Mas se pensarmos em uma web app que precisa de bastante memória e processamento, além de transferência mensal, já seria negócio migrar pro Microsoft Azure. Quando falo transferência mensal me refiro a franquia de transferência de dados. Todos os planos têm uma e, caso exceder, você vai pagar o proporcional ao excedente. Já no caso de um servidor como o meu seria necessário contratar um plano maior sem nem saber se seria o suficiente.
  3. Quantidade de web apps você pretende hospedar – Olha que coisa interessante. Existem 2 possíveis cenários aqui: 1) Você pega um servidor com um plano parrudo e cria várias pastas, cada uma contendo uma web app diferente, pra economizar dinheiro; 2) Você pega uma VM no Azure e pode hospedar quantos web apps quiser, cada um com sua App Pool. Se eu tivesse que hospedar várias web apps eu iria pegaria uma Azure VM.

O Microsoft Azure aceita outras tecnologias (não Microsoft)?

Sim. Como exemplo temos várias distros de Linux como VM, além de Joomla e Wordpress para instalar nas instâncias de Websites e Git no Visual Studio Online.

Existem certificações pra Microsoft Azure?

Sim, existem. Eu, perticularmente, quero fazer a prova 70-532 (Developing Microsoft Azure Solutions) até o final do ano.

Considerações finais

Eu gostaria de mencionar que estou focando mais em web apps pois esta é a minha realidade. Mas podemos imaginar qualquer tipo de cenário onde o Microsoft Azure se encaixaria perfeitamente. Como por exemplo uma startup que deseja ter um ambiente de desenvolvimento Microsoft (Active Directory, Visual Studio Online), uma empresa que deseja ganhar dinheiro hospedando sites (VMs, SQL Database, Backup), um programador independente que quer um ambiente de testes online (Websites, SQL Database), etc.

Recomendações

Did you like the article?

You can subscribe and get them as soon they are online, share using the buttons bellow or leave a comment.

And you also can share using your favorite social network:

Produção para o Digital com Davidson Sousa

Fui entrevistado para o Social+ Entrevistas pra falar sobre como o marketing e a tecnologia podem andar de mãos dadas

Posted in Vídeos, Diversos, Tecnologia

Ano passado, mais especificamente em setembro, eu fui convidado para o programa Social+ Entrevistas que meu amigo Julio Moraes faz no Youtube toda semana. Conversamos por quase 1 hora sobre como o marketing e a tecnologia andam de mãos dadas, sobre como os processos entre o departamento de marketing e o departamento de tecnologia podem ser otimizados se houver diálogo entre ambos. E, claro, tivemos alguns momentos de descontração.

Veja o video abaixo:

Tirando a minha fala estilo Ronaldo Fenômeno por conta do sono eu considero a entrevista bastante produtiva e, de verdade, espero que ajude a jogar uma luz sobre a rotina de algumas agências. Afinal, o departamento de tecnologia não morde.

A propósito: A terceira temporada do Social+ Entrevistas começa em fevereiro. Mas agora dia 15 de janeiro tem um episódio especial (em inglês) com David Baker, professor na The School of Life.

Did you like the article?

You can subscribe and get them as soon they are online, share using the buttons bellow or leave a comment.

And you also can share using your favorite social network:

Criando páginas de erro 404 personalizadas no ASP.NET MVC

É muito fácil de se criar páginas de erro personalizadas no MVC. Veja como fazer.

Posted in Dicas, ASP.NET, MVC

Todo mundo que trabalha fazendo sites sabe que ter páginas de erro é indispensável. Só que quando se trabalha com ASP.NET MVC é muito complicado se acertar na hora de configurar as páginas de erro. Sim, usar o web.config é o recomendado. Mas você tem certeza de que está funcionando?

Objetivo

O nosso objetivo aqui é aprender a fazer uma página personalizada de erro 404 e retornar o HTTP status code correspondente (404) sem alterar a url.

O que aprendemos sobre erros no começo

Normalmente, quando estamos iniciando no ASP.NET, aprendemos que temos que colocar a tag no web.config, configurar os parâmetros e esperar o erro aparecer. Veja o exemplo abaixo:

<customErrors mode="On">
	<error statusCode="404" path="erro404.html" />
customErrors>

Páginas 404 personalizadas

Normalmente quando uma página não existe o site retorna o erro 404, não importa se a página é estática (página html simples) ou dinâmica (página gerada pelo backend). No caso do exemplo acima o ASP.NET a gente está dizendo para o site para redirecionar para uma página amigável quando acontecer algum erro 404.

Até aí tudo bem.

O problema do MVC

No caso do MVC o buraco acaba sendo mais embaixo: Como o MVC é baseado em routes, controles e actions uma url como /lala/lele não vai passar pelo . O resultado vai ser aquele erro 404 padrão do ASP.NET.

A solução pra esse problema é simples, mas não é a mais correta. Basta colocar um redirect=”~/ erro404.html” no lugar do path, como no exemplo abaixo:

<customErrors mode="On">
	<error statusCode="404" redirect="~/erro404.html"/>
customErrors>

Agora, se você navegar pra uma url aleatória (lala/lele) você vai ser capaz de ver a sua página personalizada de erro. Só que, além da url se tornar /erro404.html?aspxerrorpath=/lala/lele você vai ver que o HTTP status code da página é 200.

E isso é muito longe do objetivo que traçamos no começo.

Não sou especialista em SEO mas deixa eu tentar explicar o problema: Se por um acaso a página que os indexadores acharem não existe, mas estamos retornando 200, eles vão achar que a página existe e vão indexar a página 404 personalizada como se ela fizesse parte da navegação do site.

A solução ideal

Como eu disse no começo, a ideia é retornar uma página de erro 404 personalizada junto com o HTTP status code correto, que é 404. E obviamente não podemos alterar a url. A maneira mais prática de se fazer isso é mexer direto no IIS. Claro que eu não vou tentar te convencer a ligar no seu host e pedir pra mudar alguma configuração. Para isso vamos usar o .

Simplificando: Enquanto o funciona no mesmo nível do ASP.NET, o funciona mais próximo ao IIS. O que significa que as alterações no vão afetar até mesmo arquivos estáticos. Logo, se quisermos fazer alguma alteração que seja mais próxima do servidor, é lá que devemos mexer.

Para fazer com que nossa página de erro 404 personalizada funcione no MVC devemos fazer como no exemplo a seguir:

<httpErrors errorMode="Custom">
	<remove statusCode="404"/>
	<error statusCode="404" path="/erro404.html" responseMode="File"/>
httpErrors>

Reparou que eu usei um antes? Isso evita erros caso já tenha algum statusCode=”404” definido. E, apesar de eu estar usando uma página html simples (o ideal), podemos usar uma rota específica para a página 404. Como por exemplo /erro/404. Só que nesse caso é recomendado usar o responseMode=”ExecuteUrl”.

Agora, se formos acessar uma url aleatória /lala/lele vamos ver que:

  1. A página 404 foi chamada
  2. O HTTP status code é 404
  3. A url não foi alterada

Pronto. Espero que isso tenha sanado suas dúvidas. De qualquer forma fique à vontade para comentar e perguntar.

Did you like the article?

You can subscribe and get them as soon they are online, share using the buttons bellow or leave a comment.

And you also can share using your favorite social network: