Pplware

Programação Web – #2: Hello world!

Esta rubrica tem como objectivo abordar a framework PHP Laravel.

Após o bom feedback recebido no artigo #1 desta rubrica, ainda assim subsistiu a dúvida se faria ou não sentido começar pelo básico, de forma a instruir quem nunca programou, ou acelerar um pouco o ritmo, para não demorar alguns meses até chegar à framework e tirar partido das fantásticas possibilidades ao dispor. A solução passou por fazer um híbrido, onde o leitor terá tempo de praticar e questionar o Google na procura de guias, de forma a sincronizar o passo e acompanhar esta rubrica.

Falou-se também nas micro frameworks, que são mais reduzidas no que toca a componentes, pois o seu objectivo será fazer uma API (Application Programming Interface). Podemos pensar numa API como um conjunto de métodos e respostas, previamente definidos, para que duas camadas de software possam interagir. Assim, as micro frameworks ganham este nome, pois podem ser construídas por menos componentes, podendo então ser mais rápidas e suportar mais pedidos por segundo. Isto pode fazer toda a diferença em aplicações com bastante tráfego.

Assim como em qualquer aplicação (micro ou full size), se houver por exemplo muita interacção com a base de dados, quantos mais pedidos houver, mais depressa vamos necessitar de maior poder de processamento, ou eventualmente, mais servidores e um load balancer. Há outros métodos que permitem adiar tal procedimento: por exemplo, com um bom sistema de cache implementado também pode haver bons ganhos. Puxar N resultados da base de dados e tratá-los em memória, também será mais eficiente que puxá-los individualmente (N+1 Query Problem).

Na nossa rubrica, não vamos poder chegar a todo o lado. Vamos fazer um percurso que vos orientará, e mais que isso (que considero fundamental), implementar conhecimentos base que vos permitirão trilhar o vosso próprio caminho.

Assim, mantemos o rumo por uma “framework full-size”.

 

O servidor

O caso mais típico pela Web fora será a stack LAMP, acrónimo para Linux + Apache + MySQL + PHP. Existe uma nova tendência para o LEMP, que em vez de Apache, leva NginX (Engine X).

De um modo muito redutor, o Apache vai ser o nosso processo webserver, que irá servir respostas. Se pedirmos uma imagem jpeg, ele irá entregar a foto. Já se pedirmos um ficheiro PHP, ele irá entregar o resultado do processamento do código nesse ficheiro.

NOTA: Numa fase inicial, iremos usar a nossa máquina como servidor da nossa aplicação. Mais à frente, iremos alavancar ferramentas como o Vagrant e VirtualBox, que nos vão permitir desenvolver em qualquer OS, e a nossa aplicação estará a correr num ambiente Linux virtualizado, que terá assim um comportamento igual ou similar ao ambiente de produção – onde está a aplicação disponível para uso, bem como toda uma equipa de programação estará a testar o código fonte em ambiente igual.

Método de Ensino

Seria muito extenso para o leitor, e talvez até maçador, ver vários exemplos de código fonte aqui debitados. Vou tentar, por ajuda de screencast (vídeo), tornar os guias mais interactivos, mais rápidos, e disponibilizar os vários ficheiros se eventualmente quiserem testar. O que não falta na web são recursos deste tipo, com inúmeras lições atrás de lições. Assim vamos tentar inovar.

Quando chegarmos ao tema de OOP (Programação Orientada a Objectos), teremos então este processo alavancado da melhor forma e usaremos ferramentas para colaboração, como GIT e Composer.

Até lá, por muito que bastassem uns trechos de código para o leitor copiar-colar-experimentar, vamos tentando screencasts.

 

Pontos para hoje:

 

Screencast

Se não conseguir ver o vídeo, clique aqui.

  Até breve!

Por João Patrício para Pplware.com
Exit mobile version