Programador Joomla
Escrito por Emerson Rocha LuizNota: esta artigo não está completo. Tão breve quanto possível mais links serão adicionados.
Olá visitante, começo aqui a rascunhar um artigo contendo o que considero essencial que saiba antes de programar no CMS e Framework Joomla.
Ideia geral
O CMS
Para atingir um nível razoável de perícia e eficiência, é primodial ser um administrador avançado do CMS Joomla. Mais do que apenas um usuário final, ou profissionais que façam um assemble de extensões, para você, que quer programar, ou até mesmo para quem quer ir mais a fundo e portar uma aplicação de terceiros para Joomla, você ***DEVE*** saber o que o que se passa por trás dos panos.
HTML e CSS
Diferente de designers, você como programador não precisa ser extremamente habil na interface com o usuário, porém isso fará diferença. O quanto precisa saber vai depender do seu background atual. Se já trabalhou com aplicações para internet, é provavel que já tenha experiência necessária, ou que esteja próximo disso. Agora, se não tem isso, tenha a humildade e, no mínimo, leia tutoriais.
Algo que por padrão a média do pessoal não sabe é CSS. Se considera sua experiência com HTML decente, no mínimo pesquise a respeito sobre os potenciais que são possiveis de se atingir usando CSS. Um conhecimento decente de folhas de estilo fará você perder horas consideráveis a menos, e fazer códigos muito menos poluídos.
EMCA Script, o vulgo Javascript, e o Framework Mootools
Em uma palestra recente, vista no FISL12 cujo nome era "Javascript: muito mais orientado a objetos do que você imagina" do Emerson Macedo, dentre algumas afirmações que ele fez, uma me chamou a atenção: Javascript é uma das linguagens mais usadas e mais mal compreendidas; muitos a usam o suficiente para funcionar, mas não o suficiente para entender realmente o que está acontecendo. Minha experiencia com clientes de minhas consultorias me forçou a uma constatação: as maiores chances de trabalho além do esperado inicialmente, quando não eram inerentes a hospedagem do respectivo site, envolviam problemas em javascript. Esse é um dos pontos que me forçou a revisar conceitos e parar para aprender o que realmente acontece.
O Joomla usa, por padrão, a framework de Javascript Mootools. Especificamente as plataformas mais recentes, a versão do Moootools 1.3. Fortemente recomendo a você que, se for para usar um framework, procure evitar usar outras bibliotecas e, sempre que possível, use esse framework.
Outro ponto pertinente é que, Javascript não morte. Algo que percebi é que não raro as pessoas estão tão acostumadas a usar algum framework de javascript que eventualmente acham que algo ´maravilhoso feito com seu framework é unico e, se elas forem baixar o nível e entender o que realmente acontece, o mesmo seria viável com javascript puro. Realmente vale a pena entender javascript padrão o "javascript pedreiro". Ele não é tão feito quanto parece.
Note que, o que você chama por Javascript, na verdade, é o EMCA Script. Tem uma longa história envolvendo isso, mas, a grosso modo, Javascript é apenas o nome mais popular.
PHP
Joomla é um framework escritp em PHP. Quanto melhor você souber lidar bem com essa linguagem, mais fácil será aprender o Framework Joomla e resolver seus problemas. E vale lembrar que por mais que o Joomla possa propor uma série de rotinas uteis, por questões obvias o framework foi escrito pensando em extender o que o PHP por padrão já ofereçe, sem reinventar a roda.
De todos os itens que apresentei, se quer ser um programador razoável, PHP é a linguagem ideal que deveria saber mais e, muito importante, melhor.
Referencias do CMS Joomla
@todo: postar referencias aqui.
Referências de HTML e CSS
Especificações oficiais da linguagem
- HTML4.0.1, via w3.org.
- HTML5, via w3.org
- CSS, level 1, 2 e 3, via w3.org.
Ferramentas especificas
- CSSTidy para download e CSSClean (CSSTidy 1.1, online) - Ferramenta que otimiza seu código: remove estilos não usados, reune estilos semelhantes, encurta cores...
EMCA Script (Javascript)
Especificações oficiais da linguagem
- EMCAScript, Informações gerais na Wikipedia.
- ECMA-262, Edition 5, a especificação geral e atual (PDF).
- ECMA-262 Edition 3, especificação geral ainda presente em navegadores atuais (PDF)
LIvros
- JavaScript: The Good Parts, Douglas Crockford
Locais pertinentes aonde obter informações
- Maujor - O Dinossauro das CSS, Exemplos complexos, detalhados e em português
- W3Schools: Javascript
- CSS MaxDesign - Exemplos mais complexos e elaborados
Ferramentas específicas
As ferramentas abaixo servem para você depurar seu código javascript, e receber recomendações de 'boas práticas de programação'. Eles tem limitações, mas servem bem ao seu propósito. São onlines.
- JSLint
- JSHint - Um fork do JSHint feito por um usuário de JQuery que reclamou da exigência do JSLint
Referencias de Mootools
Documentação oficial da linguagem:
Referências de PHP
Locais pertinentes aonde obter informações
- PHP.net/manual, este manual é extremamente poderoso. Se já não o fez, leia-o do inicio ao fim. Vale a pena.
Referencias do Framework Joomla
@todo: postar referencias aqui.
Ferramentas gerais
A ferramenta abaixo é ***perfeita*** para colar seu código misto de HTML/CSS/Javascript e permitir que terceiros vejam o que está acontecendo e possam lhe dar ajuda para resolver seu problema
As ferramentas abaixo contém links para ferramentas que, tipicamente, servem para hospedar pedaços de código online. São inumeras as ferramentas deste tipo, e vou me restringir a citar apenas algumas que considero relevante, ou que tem alguma singularidade.
- Github Gist
- Snipplr
- CodeTidy - Aceita senha de acesso
- Mathbin - Focado em fórmulas matemáticas. Cria uma imagem