- Detalhes
-
Criado em Quinta, 10 Maio 2012 19:10
-
Última atualização em Sexta, 11 Maio 2012 12:12
Este é um podcast a respeito do recente lancamento da versão 12.1 do JPlatform, o framework do CMS Joomla. Ainda que tenha comentários pertinentes sobre o que vai afetar CMS Joomla 3.0, ele é voltado a quem é programador. Importante ressaltar que, alguns pontos abordados, por causa de 1) caracteristicas ainda não terem sido documentadas 2) nem testadas por um publico massivo ou 3) ou pelo autor do podcast não estar tão familiarizado com 342 pull requests desde o JPlatform desde o 11.4, podem conter informações inconsistentes. Acontece: é muita coisa.
Como é de se esperar, a abordagem será generalista, e não tão aprofundada, até porque alguns pontos do podcast mereceriam um comentário muito mais profundo.
Eu FORTEMENTE recomendo que, se, se você quer programar em Joomla e JPlatform, se não vai ouvir o podcast, pelo menos acompanhe os links das novidades. Elas mais cedo ou mais tarde vão fazer diferença até mesmo a não programadores, e acho que vale o esforço ficar por dentro do que há de novo.
Alguns pontos chaves
-
Pessoas novas e que nunca tinham enviado sugestão de código aparecem no changelog.
-
Há uma preocupação grande em compatibilidade com extensões feitas em versões anteriores do Joomla, porém sem restringir inovações: do ponto de vista de desenvolvedor, haverá uma camada legado para dar mais tempo, talvez mesmo anos
-
A separação de código especifico para o CMS Joomla e o para o JPlatform foi mais agressiva; não está completa, mas a caminho, o que é bom para quem quer usar o JPlatform sem o CMS Joomla
-
E outros citados no audio, claro.
O link principal abordado
Se vai ouvir esse podcast e tem como acompanhar alguns links, tome como base este http://developer.joomla.org/news/421-version-12-1-of-the-joomla-platform-released.html. Tende a ser util parar o audio em alguns pontos.
Demais links que merecem destaque
https://github.com/joomla/joomla-platform
É aonde a coisa acontece. O repositório publico do JPlatform.
https://github.com/joomla/joomla-platform/wiki/Roadmap
Roadmap esperado para versões do JPlatform. Link pertinente para programadores já estarem por dentro do que esperar para o futuro.
http://developer.joomla.org/pulls/
Ferramenta online que automaticamente testa todos os pull requests e retorna informações como se o pull request pode ter um merge aceito sem conflito, i.e., se precisa ser alterado novamente, bem como outros detalhes como estilo de código.
https://github.com/joomla/joomla-platform/zipball/12.1
Link de download desta versão, caso não use via git
Comunidade
https://groups.google.com/d/topic/joomla-dev-platform/9sDSWPPH-HU/discussion
Aviso de delay na liberação do JPlatform 12.1: grandes mudanças, algo esperável
https://groups.google.com/d/topic/joomla-dev-platform/yAdO399mAGE/discussion
Discussão (criada algumas horas antes do inicio deste podcast) sobre a idéia de já no CMS Joomla 2.5.4 ou 2.5.6 adicionar uma prévia do que teria que ser feito para que extensões, principalmente componentes, tenham que alterar para tenderem a ser compatíveis, de com o Joomla 3.0.
Podcast
Momentos específicos
Eu comento no podcast sobre as novas caracteristicas que o JPlatform 12.1 trouxe, e a lista abaixo contém o momento do audio em que ocorrem.
-
[10:38] #758 - Added JDatabaseQuery function to extract part of timestamp.
-
[11:49] #794 - JInput implements Serializable
-
[12:39] #700 - Update libraries/joomla/application/menu.php
-
[14:35] #830 - Add minimum supported version information to database drivers
-
[15:09] #754 - Add Union method (@elinw)
-
[17:50] #882 - Add Iterator support to JPath::find() (@robschley)
-
[18:18] #881 - Add JGithubCommits class (@mbabker)
-
[19:05] #888 - Implement a file patcher (@chdemko)
-
[20:20] #891 - Improvements to the system autoloader (@LouisLandry)
-
[21:08] #699 - Add some simple HTML5 support to JDocument (@realityking)
-
[22:24] #906 - Reorganized and refactored database package. (LouisLandry) <- Foi adicionado driver PDO!
-
[23:27] #776 - Add JDocumentImage (@realityking)
-
[23:49] #909 - New Crypt package. (@LouisLandry)
-
[24:26] #612 - Added new JStringInflector class (@juliopontes)
-
[24:55] #839 - add curl and socket to update process of Joomla (@oc666) <- Criada a JHttpFactory e afins!
-
[26:27] #916 - Added subquery capability for FROM and INSERT elements and their tests. (@gpongelli)
-
[27:13] #911 - Adding a default value for checkbox field (@chdemko)
-
[27:53] #709 - Adds uninstall support for related media files (@matrikular)
-
[28:27] #951 - Added JStringNormalise::fromCamelCase() (@robschley)
-
[29:03] #947 - Legacy class path for gracefully deprecating libraries. (@LouisLandry)
-
[30:59] #984 - PostgreSQL driver for Joomla! platform [clean version _ v3]. (@gpongelli)
-
[32:34] #1018 - Updated database drivers to attempt to reconnect from database servers that have been disconnected. (@robschley)
-
[33:01] #1017 - Add JLanguageStemmer. Add unit tests for JLanguage. (@realityking)
-
[35:29] #1057 - Add optional identity to JApplicationBase; make dependency injection more flexible in JApplicationWeb (@eddieajau)
-
[36:40] #903 - Implement Countable Database Iterators for iterating on queries (@chdemko)
-
[37:13] #1070 - Implementing database iterator (@chdemko)
-
[37:31] #1101 - JHttp: extending request methods
-
[37:49] #1106 - Get Identity
-
[38:06] #1123 - Consider iPad and iPod in two separate cases (for issue #1122) (@Buddhima)
-
[38:30] #977 - Android Tablet Detection
-
[38:58] #1120 - Simplified foundational classes for Model, View and Controller. (@LouisLandry)
-
[41:54] #1005 - Show Media preview (@benjaminpick)
-
[42:29] #1169 - Set the CSS class for JForm field label (@vietvh)
-
[43:36] #1189 - Added JDatabaseDriver::disconnect() to support disconnecting from the database cleanly. (@robschley)
-
[45:02] #1186 - Small improvements to JViewHtml (@eddieajau)
- Detalhes
-
Criado em Quarta, 09 Maio 2012 06:48
-
Última atualização em Sexta, 11 Maio 2012 04:25
Podcast com uma abordagem sobre o contexto atual em que há uma confirmação de que o Joomla PLT de tendência a aceitar incluir o Twitter Bootstrap e o jQuery no core do CMS Joomla. Assim como re-afirmado dentro do vídeo, não é extremamente certo que vá acontecer como eu prevejo, mas é uma tendência não recende de que isso acontecesse.
Confira os links comentados nas listas abaixo. Recomendo a leitura para que você mesmo tenha sua opinião sobre o assunto
Prefácio
Referências pertinentes
- Detalhes
-
Criado em Segunda, 16 Abril 2012 11:47
-
Última atualização em Terça, 17 Abril 2012 19:21
Por desenvolvimento de template Joomla! puro, entenda um treinamento com uma abordagem à essência do tema, agnóstica de recursos de terceiros; mais prático que um curso de sufixo "teórico" e mais conceitual que um de sufixo "aplicado". Ou seja, o único, ou pelo menos principal objetivo é estudar a essência do assunto base e explorar seu potencial, provando cada uma das afirmações com um ou mais exemplos realistas e aplicáveis.
Típicamente sou desenvolvedor back-end, mas por dois meses vou abrir margem para pesquisar, desenvolver e ministrar um treinamento para profissionais que já são desenvolvedores front-end e trabalham com o CMS Joomla, curso presencial em Porto Alegre. Se você ainda não me conhece, sou programador de extensões Joomla, membro do Joomla Bug Squad, membro ativo e um dos moderadores no fórum oficial em português do Joomla, e participante do Joomla User Grou Rio Grande do Sul, o JoomlaTchê. Se quer ter uma ideia do curso, olhe o código fonte desta página e compare com qualquer um que seja seu, e, se ainda assim não for suficiente, entre em contato que eu mostro no skype a fonte, e você pode ver se pior que o seu atual, ou mesmo mostro algum screencast privado.
Linguagens e suporte
Este treinamento usará como base de demonstração dos conceitos, código:
Nota: poderá ser usado um grid de CSS durante o treinamento, e, ainda que não seja usado nas demonstrações base, incentivado de alternativas em javascript para permitir o uso de HTML5 mesmo em navegadores antigos.
O suporte dos exemplos será para
-
Internet Explorer 7+
-
Versão recente do Firefox
-
Versão recente do Google Chrome
-
Versão recente do Opera
Nota 1: a grosso modo, um código validado tende a, caso não vá funcionar como o esperado, somente o ser apenas no IE7/IE8, logo, a lista acima é razoável em suprimir a versão, em especial pela tendência dos usuários em atualizarem com frequência o navegador.
Publico alvo
-
Profissionais que já desenvolvem templates para o CMS Joomla, com ou sem frameworks de template
-
Profissionais com conhecimento sólido na administração do CMS Joomla e, pelo menos, ou customizem templates prontos ou façam uso do software Artisteer
-
Profissionais que sabem usar o CMS Joomla, e que tenham experiência no desenvolvimento front-end, de forma pura ou com outros CMSs
Nota: algo em comum neste publico alvo é que, por já ser do ramo profissional do qual o tema deste treinamento é extremamente pertinente, o aluno tenderá fortemente a aplicar o que foi aprendido. Veementemente não recomendo este curso para quem não tiver tendência a aplicar o conteúdo aprendido, e tenderão a ter uma prioridade mais baixa caso haja outros interessados e a fila seja menor.
Pré-requisitos
-
Conhecimento intermediário ou melhor na administração do CMS Joomla
-
Conhecimento intermediário ou melhor em HTML4+ e CSS2+
-
PHP básico ou melhor
Nota: é previsto que caso o interessado não tenha os pré-requisitos, haja outros no mesmo nível de conhecimento, e o tempo do instrutor tenha tempo, que as bases sejam também ministradas ou em uma turma com uma sumula e cronograma de atividades diferenciadas, ou que, pelo menos, estes interessados tenham um treinamento prévio.
Metodologia
A metodologia será especialmente formulada conforme os participantes de cada grupo, e acordada previamente com estes.
Meios
O principal meio de exposição da proposta deste curso é que seja presencial, com a viabilidade de em situações específicas e pré-acordadas, também via video-aulas ou screencasts. Mesmo ao final do treinamento presencial, há tendência em compartilhar correções de erratas, melhorias ou mesmo novas implementações que forem realizadas em função de novos treinamentos. Não obstante você deve estar ciente que a participação no curso não implica em assessoria via troca de mensagens instantâneas; como alternativa posso buscar viabilizar de modo pré-agendado e já com outros colegas do treinamento momentos especificos para tirar esses tipos de dúvidas.
Preferencia por prendizagem visual e interativa, focado objetivo pedaços de código e exemplos de conceito pronto
No mundo real, a tendência não é olhar um manual, mas ver algo feito e, baseado no que aprendeu sobre o que foi feito, aplicar nos projetos pessoais. Ainda que seja viável as partes práticas do treinamento serem individuais, a tendência por incitar que sejam em dupla otimiza o processo de fixação do aprendizado: não basta saber fazer, terá que saber explicar como faze-lo.
O principal meio do curso é uma série de katas de código preparados, isto é, o autor irá demonstrar passo a passo como resolver desafios especificos, usando passos de bebê detalhadamente explicados e quando um participante não entender um passo, tal item será explicado até que ele entenda. Caso um passo não possa ser compreendido em um prazo razoável dentro do curso por apenas um ou dois participantes, estes serão convidados a ficar além do horário previsto e o ponto revisto. Se ainda assim, passado alguns dias o aluno o aluno está se esforçando aprender sozinho um tópico do curso que já não era pré-requisito e não o consegue, poderá entrar em acordo comigo para vermos a melhor forma, e ficará do bom senso do aluno se quer seja realizar pagamento adicional por explicações extras, assistir como ouvinte não ativo um curso de outra turma do mesmo tema ou mesmo ao participar de uma possível aula de reforço presencial com demais alunos que ainda tenham dúvida a respeito. Rrecomendo que google a respeito de Prepared Kata e Coding Dojo, ou pode ler também este artigo em português explicando o que é coding dojo.
Turmas pequenas. Em situações específicas até aula particular
Como para alcançar a meta desde treinamento parte do principio que o aluno já tenha uma base razoável em alguns pontos, e que além da diversidade inerente de participantes e da agilidade com quem aprendem algo novo, as turmas presenciais serão pequenas, idealmente um número exato de 4 pessoas, preferencialmente duplas, de modo que possa viabilizar programação em par em situações em que os alunos deverão fazer algo prático, quer seja um exercício sugerido, ou baseado em uma situação realista dos participantes. Se necessário, quer seja por conflitos de horário dos participantes, ou por um numero ainda menor que que requeiram um auxílio especifico demais, poderá ser menor.
Abstração de recursos fora do escopo do treinamento mas pertinente em aplicações realistas
O código usado para provar os conceitos, como HTML5, ao ser usado com extensões de terceiros que não seguem esse padrão, podem forçar uma invalidação do código e poluir sua ideia. Com o curso, não há um comprometimento formal em ajudar nesse sentido, porém em algumas situações, em especial quando relacionadas a conceitos que, diferente da sobreposição de templates típicas de módulos e componentes, exigem um conhecimento técnico maior do que o número de horas em cima, abre-se margem para ajudar em conversão de extensões para funcionarem bem com a base do curso. Conforme o caso, até criação de algo, em especial se for do tipo plugin ou módulo.
Além de extensões prontas, tenderei a, o que for dotado de uma complexidade maior e desnecessária, facilitar ao deixar rotinas em PHP e Javascript aos participantes. Isso é especialmente util porque, como a tendência é que seja usado código jQuery por parte dos desenvolvedores front-end, tenderei visceralmente a estimular o uso do framework nativo de javascript do Joomla, ou seja, o Mootools.
Sumula
Assim como a metodologia, a sumula será especialmente formulada conforme os participantes de cada grupo, e acordada previamente com estes.
Local e datas
Os cursos presenciais serão realizados em Porto Alegre, e as datas de realização serão durante os meses de maio e junho de 2012, sem garantia de turmas novas depois destas datas. Além disso, poderão ser a qualquer dia e hora da semana, com a restrição de que pessoas do mesma turma confirmem disponibilidade.
Caso tenha um grupo de colegas de outra região do Brasil e queira pagar as passagens e me hospedar, entre em contato por email.
Caso esteja lendo este post após as datas previstas, caso eu tenha tempo disponivel, ainda posso fazê-lo mais tarde de forma individual via pagamento de um pacote de horas técnicas, como qualquer outro tipo de consultoria que presto. Ou então pelo menos fico com o seu contato para caso venha ministrar este curso novamente em 2013, e lhe dou prioridade.
Inscrição
Entre em contato via email emerson em webdesign.eng.br, e demonstre interesse. Será solicitado que em um segundo momento dê informações de quem é o que já sabe, além de o que espera de um curso de templates com a ideia geral deste e a sua disponibilidade para ir presencialmente em Porto Alegre e algum apoio via internet.
Quanto ao valor, ele será proprocional ao tempo de pesquisa e desenvolvimento de material didático além da base que já tenho, bem como as horas presenciais e uma margem de segurança para ter certeza que, se for necessário mais tempo, haja essa flexibilidade.
- Detalhes
-
Criado em Sexta, 13 Abril 2012 09:47
-
Última atualização em Sexta, 13 Abril 2012 10:59
O conteúdo desde artigo foi motivado pelo Quero contrubuir com idéias no core do Joomla!. E agora?. Se ainda não o leu, recomendo.
Neste artigo libero publicamente dois screencasts de como propor código tanto no CMS Joomla como no seu respectivo framework, cujo nome específico é JPlatform. As instruções estão válidas para a data de publicação deste artigo e, caso você o esteja lendo no futuro, se algo estiver diferente, considere que o processo possa ter mudado.
Dentro do possível vou procurar manter relativamente atualizado este artigo. E não é por menos: em um CMS em que a quantidade de desenvolvedores que contribuem com código à origem em relação aos demais usuários é desproporcional, e caso você que está lendo agora, acredita que é bom no que faz, e ou encontrou um bug, ou quer sugerir algo novo, faça isso!
Screencast de como propor código ao JPlatform
Há alguns meses atrás fiz esse screencast e o exibia quando, ainda que não seja algo tão frequente, alguém perguntava como propor código ao JPlatform. Observe que no início do ano, sugestões de código ao CMS Joomla só poderiam ser feitas pelo joomlacode.
Screencast de como propor código ao core do CMS Joomla
Este outro víde dá uma ideia geral de como é a lógica de propor código para o CMS Joomla. Não é significativamente diferente do que seria para o JPlatform e, o que muda é que, necessariamente, deve haver uma descrição do pull request no tracker do CMS no joomlacode.org
Dica: no vídeo, primeiro eu dei pull no repositório do CMS Joomla no github, e só depois voltei ao JoomlaCode para abrir o tracker. Revendo agora, teria sido mais interessante primeiro abrir o tracker no JoomlaCode e só depois enviar código ao github, já com a URL de referencia do tracker
- Detalhes
-
Criado em Quarta, 11 Abril 2012 04:09
-
Última atualização em Quarta, 11 Abril 2012 20:54
Este artigo faz parte da série de voltada a designers focados em Joomla!.
Em uma época em que há vários frameworks de template Joomla que prometem agilizar o desenvolvimento, com demonstrações de algo feito que são de dar inveja, é natural que alguém procure usar tais frameworks em vez de fazer "à moda antiga". No ano passado, dei um tempo no desenvolvimento back-end e fiz um cowork com um colega do @joomlatche, focado em desenvolvimento front-end, e paramos para estudar a sério frameworks de template Joomla da época (ref: twitter / backup). Não vou negar que minha opinião inicial girava em torno de "ah, mas isso e aquilo eu sei fazer do zero e sem framework", porém naquele momento não se tratava de um programador, um desenvolvedor back-end, saber fazer templates, mas sim de ter um modo que um desenvolvedor front-end pudesse fazer e dominar bem, um método de fazer algo funcionasse bem e não tomasse tanto tempo de desenvolvimento quando estivesse em produção.
Naquela época, tinha em mente que poderia demorar para entender algo novo, ou mesmo criar algo novo, mas a condição era a de que, durante uma situação real, em que pedidos estivessem entrando, o tempo entre o .psd e o site final fosse o menor possível, e que a manutenção e o assemble com extensões fosse suave. Independente do meu pre-conceito, o marketing em cima de cursos de template focados em torno de tais frameworks em detrimento do modo mais braçal naquela época era significativo, então eu deveria pelo menos ter uma ideia pessoal e fazer um benchmark do tempo e da qualidade do resultado final, considerando o uso também de um não-programador.
Não demorou para perceber que, para quem tem domínio razoável em HTML/HTML5 e CSS e que está disposto a parar e estudar um pouco para fazer a própria base de código (ref: twitter / backup), usar tais frameworks tendem a dificultar em vez de facilitar (ref: twitter / backup), a um ponto de procurar só usar código de tercerios de forma minimalista, que no caso do Joomla seria apenas ou Mootools/JQuery e um grid de CSS ( ref: twitter / backup).
Comparação de alguns pontos comuns
Todos os pontos aqui levam em consideração que:
-
Por "com framework" o desenvolvimento com um framework de terceiro, como T3, Gantry e assemelhados;
-
Por "sem framework" o desenvolvimento de um template sem ajuda de frameworks do item anterior, porém podendo incluir o próprio framework ou um framework minimalista.
Profissional sem qualquer experiência ou com pouca em HTML e CSS
Com framework, tenderá a ser a melhor opção sempre, independente de quanto tempo trabalhe. Caso a sua experiência não evolua, terá dificuldades em fazer sem algo que já esteja meio pronto.
Profissional com experiência medíocre ou avançada em HTML e CSS
Tanto com framework como sem framework será uma boa opção a médio e longo prazo. Nos primeiros trabalhos, sem framework passara mais tempo para fazer o código base.
Uso de HTML5
Sem framework tende a ser a melhor opção, pois, o que você consegue fazer sem usar o Joomla, conseguirá dentro dele. Com framework só o é, caso as implementações que deseja fazer já estejam presentes nele. Reescrever um framework de terceiro para exibir HTML5 em vez de HTML4 é inviável.
Versão Mobile
Com framework tende a já vir por padrão com uma versão mobile de modo trivial de ser implementado. Sem framework, exige que o desenvolvedor faça uma checagem em PHP de qual dispositivo está acessando, que é fácil, e que conforme a checagem carrege um tema diferente e especifico, ainda que este tema seja extremamente parecido entre projetos diferentes e possa ser reutilizado. O que pode fazer diferença é estudar como fazer versões mobile, e até o Maujor já lançou um livro a respeito.
Qualidade do código gerado ao usuário final
Sem framework, a tendência a quantidade de código enviado ao usuário final ser significativamente menor, pois permite que até mesmo um profissional com experiência medíocre tenha automomia plena sob o código gerado. Com framework, a única opção do desenvolvedor avançado é ativar funções que juntam arquivos de javascript e de CSS e os compactam antes de enviar ao usuário, e qualquer opção de fazer evitar isso trara uma quantidade de trabalho maior a ponto de não valer a pena usar o framework.
Para um desenvolvedor front-end avançado e mais perfeccionista, tende a considerar o código fonte gerado deselegante. O HTML tende a ter IDs e classes demais, e os arquivos CSS usados poderiam ter uma quantidade na ordem de pelo menos 5 vezes menor para fazer a mesma coisa, e a quantidade de javascript pode ser ainda pior. Um desenvolvedor que opta por usar apenas Mootools poderá ser forçado a ter também JQuery carregado por padrão, e mesmo que desative o carregamento de jQuery, extensões poderão parar de funcionar.
Manutenibilidade, sobrecarga de banca e processamento e comportamento em servidores diferentes
Sem e com framework são semelhantes, porém sem framework tende a ter vantagens que só quando algo de muito errado acontece. Funcionalidades a mais e que geram um consumo maior de uso de CPU e memória podem fazer diferença em servidores com acesso maior, em especial se não for viável deixar o cache ativado. Quando há uma mudança de ambiente, como entre servidores, ainda que ambas as opções possam dar problemas, sem framework a resolução tende a ser mais simples e o desenvolvedor provavelmente conseguirá achar o problema mais rápido, enquanto que ao usar um framework de terceiro, em situações muito especificas pode-se ocorrer alguma incompatibilidade entre servidores por alguma função usada no framework.
Reaproveitamento do conhecimento em outras áreas
Com framework, segundo propaganda de alguns destes e que pessoalmente não testei, há de forma direta ou parecida certa compabilidade de um tema também com o Wordpress. Agora, se seria util para um desenvolvedor que não é do tipo clube de templates, é questionável.
Sem framework, o trabalho adicional de ter que conhecer melhor como o Joomla funciona, torna o desenvolvedor front-end mais próximo de como o CMS realmente funciona, sem uma camada intermediária do framework de template. Isto quer dizer que ele tenderá a resolver melhor e mais rápido não só problemas ligados diretamente ao template, como também com extensões. A liberdade e a possibilidade de fazer códigos mais perfeccionistas do HTML e CSS também ajudara para que o mesmo desenvolvedor sabia fazer layouts sem o Joomla. É razoável imaginar que um profissional que não usa frameworks poderá implementar novidades antes do tempo e terá um domínio mais transparente de HTML, CSS e PHP em qualquer situação.
Então, qual escolher?
Se ainda tem dúvidas, ou quer ouvir o que eu pessoalmente recomendaria o seguinte.
É alguém que só quer fazer o próprio site ou o de familiares, e não tem interesse em seguir carreira na área de web design
Se não tiver fortes objeções, pode até mesmo usar o tema padrão que vem com o Joomla e só trocar as imagens. Se for usar temas gratuitos, cuide para ver se funcionam bem. Recomendo que leia o Temas e extensões não são 'só comprar e sair usando' .
Quem tem pouca experiência e/ou interesse de aprender HTML e CSS e costuma atender clientes com pouca ou nenhuma exigência na aparência visual ou de exclusividade
O uso de algum framework de template tende a ser uma boa opção. Sim, você pode comprar templates prontos, mas procure pelo menos alterá-los e não deixar exatamente como o padrão. E vender um site com template pronto sem pelo menos avisar o cliente sobre isso não é algo ético.
Tem pouca experiência em HTML e CSS porém interesse em aprender, mas precisa atender clientes logo
Ou se baseie em um template pronto, mesmo que seja um que vem com o Joomla, ou use um framework. Deixe para aprender a fazer um template do zero em um projeto que possa levar tempo, ou um cliente que não se importe em estourar prazos. Mesmo ao usar o framework de templates, procure entender o melhor possível a lógica de sobreposição de saída HTML de extensões e fazer sites em HTML puro, preferencialmente HTML5 e CSS3 e procure garantir que durante os testes ele sempre valide na W3C.
É desenvolvedor frontend avançado mas usa um framework de template e o considera ágil, e tem um rítimo de clientes e não pode parar e correr risco de atrasar prazos
Continue fazendo com framework, porém pegue algum projeto, preferencialmente um com exigências visuais mais simples e com prazo maior, e o faça de cobaia para criar sua própria base de template desde o zero. Mesmo depois de alguma experiência, pode ser que prefira escolher qual projeto usara um framework e qual usará o seu próprio. Versatilidade pode ser útil.
É um profissional que quer se destacar como desenvolvedor frontend Joomla no mercado de trabalho, e não tem experiência prévia com frameworks
Faça um investimento pesado em fazer seu próprio template do zero. Depois de ter o primeiro template medíocre, do tipo "cara de CMS", e que tenha pelo menos estilos básicos como os de navegação no com_content, posição de módulos, e desista da ideia de se basear em sites que são em Joomla e se baseie por sites que são referência em HTML5, CSS3 e Javascript e não sites em Joomla. Caso se esforce em 6 meses poderá estar fazendo trabalhos melhores do que outros que fazem isso há uns 4 anos.
Se é uma empresa que tem uma equipe de três ou mais desenvolvedores
Exceto em condições aonde o seu cliente padrão não tem uma exigência visual por novidades, tende a ser extremamente interessante fazer sem framework, pois, passado o período inicial de criar sua própria base, sua empresa estará em vantagem frente as demais em situações que precise ir além do que é esperado.Uma empresa que já tem esse perfil poderá implementar de forma mais rápido um conceito visual totalmente diferente do que se espera de um CMS.
Usar framework ou não, é uma questão de opção pessoal, e ambos podem ser ágeis
Um bom desenvolvedor fará um bom template independente se for usar um framework ou não, e é uma questão muito pessoal de o que considera mais ágil. Isso não invalida quem queira fazer um curso de template baseado em um destes frameworks, até porque o aprendizado e o resultado inicial pode ser mais simples e rápido, e a diferença aumenta se para ambas as situações você for fazer de forma auto-didata. Há um ano atrás, não só os navegadores estavam um pouco menos amigáveis, mas até mesmo alguns editores de conteúdo do Joomla tendiam a fazer código que não validava em HTML5. Mas esse tipo de coisa é um preço que se paga por estar querendo fazer algo que a maioria das pessoas ainda não está fazendo. Tanto o CMS Joomla como o JPlatform estão "forçando a barra" para dar opções a quem quer lidar com tecnologia de ponta, porém extensões de terceiros tendem a estar preocupados em agradar quem paga eles, e quem os paga em geral vai demorar para se preocupar com tecnologia de ponta. E se você não se ligar, é como se estivesse comprando um carro.
Relembrando que esta discussão está mais a nível de desenvolvedor do que de cliente final. Se você está lendo este artigo, e está entre dois orçamentos em que um é em um tema feito sem framework, e o outro é com um deles, entenda que se não está tão preocupado com o código fonte gerado ou com uma flexibilidade mais extrema, pode ser indiferente qual dos orçamentos escolher. E, claro, tenha em mente que pode haver uma diferença significativa de preço entre ambos os orçamentos, e nem por isso um deles pode estar tendo uma margem de lucro maior que o outro.
Enfim...
Ano passado achei estranho quando, depois de ter ficado creio que uns dois meses estudando como fazer extensões para o Joomla 1.6 e que, em um momento em que até a documentação em inglês era insignificante, ou seja era "só traduzir" e passar adiante mas naquela época saiu sangue, em especial porque coisas que eram "o padrão" até o Joomla 1.5 passaram a ser más práticas de programação, foi eu anunciar que ministraria o que seria o primeiro curso aberto de programação de extensões Joomla do Brasil e que iria ser presencial e direto para a nova versão 1.6 e, *magicamente* surgiram na mesma época uns quatro cursos de se diziam ser de programação. Até ai ok, mas nenhum deles deixava explicito que as extensões não iam funcionar na nova versão do Joomla, exceto por um que dava ate certificado e nem exigia que o cara soubesse PHP e que seria só uma questão de esperar o CCK atualizar para seu componente funcionar no 1.6. Por coincidência logo depois que parei de anunciar o curso os demais também pararam. E aonde quer chegar com esse comentário?
Bem, muito tempo atrás eu tuitei que "Programação é binário: ou funciona ou não funciona. Já design exibe 32 bits de possibilidades". Indo direto ao ponto, quer dizer que um curso de programação exige um domínio elevado e a qualidade pode ser vista de forma fácil. Não obstante, um curso de template que foque em ensinar sem framework pode sofrer de forma extremamente significativa na qualidade, com o agravante de que o aluno pode nem ter argumentos para diferenciar se é um curso ruim, ou se o CMS em si é ruim. Se, em algum momento, você fez ou fará um treinamento, e tiver impressões negativas ao ver que fora do curso simplesmente não consegue ir adiante, pare e veja se não tem outras opções de curso e, se quer ser bem pragmático, em vez de procurar um curso que leve um nome ao estilo "curso avançado de templates Joomla do zero", vá atrás de curso que seja de HTML/CSS/Javascript puro e que tenha boas referências. Não culpe o CMS porque deve uma sorte ruim.
Creio que com esse post sobre este outro tema, em que chuto o balde ao dizer que você deveria estar fazendo seu tema do zero, o modo pragmatico como procurei abordar em vez de apelar para super estimar o tema dê uma colaborada para evitar que pessoas saiam decepcionadas, pois template Joomla do zero exige mais esforço por retorno menor a curto prazo. Ano passado, referencia a isso no meu site foi só o artigo Como validar o Joomla! em HTML5 e CSS?, e publicamente só um e outro tweet. Com um e outro colega via Skype eu fui na época mais além ao dizer até que fazer templates Joomla do zero em HTML5 era apenas uma questão de fazer por perfeccionismo, mas sim que a manutenção era tão mais fácil do que fazer de outro modo que se o cara fosse volta e meia validando o código, daria pra fazer template até bêbado. Posso ter sido um pouco mais egoísta do que normalmente eu seria, mas ao menos naquela época passei pela lógica de que é um tanto quanto constragedor você pesquisar e se esforçar por algo e pessoas distorcerem a um nível quase pornográfico por aparecer antes no google para um termo, e resolvi incentivar mas as pessoas que eu tinha próximo e que os tinha como profissionais de respeito do que um pessoal aleatório, e não por acaso tenderam a ser justamente essas as que tenderam em 2011 a oferecer treinamento com tema em HTML5. Mas antes que me chamem de filho da mãe, procurei ser mais meritocrático ao ajudar os que pelo menos estiveram JoomlaDayBrasil 2011, ao dar o start no Dojoomla mostrando como fazer um template em HTML5 do zero , tentando mudar um pouco a mentalidade das pessoas em aceitar só o padrão e não ousar ir adiante. Aliás, cá entre nós, não foi todo mundo que sentou na mesa pra fazer acontecer.
- Detalhes
-
Criado em Quarta, 11 Abril 2012 01:32
-
Última atualização em Quarta, 11 Abril 2012 21:01
Este artigo faz parte da série de voltada a designers focados em Joomla!. Ele enumera alguns pontos comuns que podem levar em especial quem conhece a pouco tempo o CMS Joomla a acreditar que fazer template pra ele é muito dificil ou que não é possível fazer algo inovador e "sem cara de CMS". Minha opinião pessoal é que, se já não aplica em seus projetos, os pontos abaixo podem fazer diferença significativa e desmistificar uma dificuldade aparentemente exagerada, e que pode, ainda que exiga mais esforço, pode não só facilitar como lhe manter em um padrão que você estará a frente do que é bom e aceitável para sua época, dominar a flexibilidade do CMS passa a ser um diferencial que nem mesmo encontraria em outros que em um primeiro momento você consideraria mais fáceis.
1. O uso de frameworks de templates de clubes só são bons se quer usar os templates de clube ou se é especialista no framework
O publico alvo de desenvolvedores de clubes de template que fazem os frameworks de template é alguém que quer apertar botões e fazer acontecer. Então, fazer um template baseado em um destes frameworks é fácil? Se você, ou é um especialista naquele framework, ou só quer fazer mudanças pequenas, como trocar cor e imagens, sim. Caso contrário, vai ter o que eventualmente alguns reclamam por ai como "um Joomla com cara de Joomla". Agora, vamos ser pragmaticos e ousar uma teoria da conspiração: será que fazer a criação de template Joomla ser mais difícil do que antigamente não é justamente algo desejável por parte de um clube de template? Cá entre nós, mesmo que você tenha algo de graça, ele se torna inútil se você não sabe usar ele direito.
2. Para fazer um template do zero é preciso entender muito bem alguns poucos conceitos do CMS, mas também da administração do CMS
Digamos que entendeu que, para o seu perfil, é melhor não usar um framework de template terceiro. Mesmo que seja um desenvolvedor front-end avançado, em uma situação ideal antes de querer fazer um template Joomla, você deveria saber, e bem, como administrar o CMS Joomla. Não procure atalhos. Um curso de templates pode fazer você fazer um bom template na frente do seu professor porque ele vai suprir uma necessidade sua de conceitos base do CMS, mas é sair da frente dele e pode travar e ficar dias tentando ver uma solução que teria sido mais simples se pelo menos soubesse usar o CMS. É justamente por esse ponto que pode se sentir frustrado e pegar um curso que tenha o nome "prático" no meio, pois pode passar a idéia de que, por ele ser prático, vai te ensinar de verdade. A questão é que se você ainda não sabe da base do CMS, ese escolher um curso que se focar apenas em ensinar template, vai pagar algo por causa de um termo no anúncio, e que não vai mudar sua vida até que pare para entender a base. Claro, isso se não desistir no meio do caminho.
3. O primeiro tema sem framework exige mais horas de pesquisa e de desenvolvimento de código
Esteja ciente de que, em especial se não for usar um framework, o primeiro trabalho vai exibir um esforço extremamente maior. Não se asuste! Você está trabalhando com um CMS, e, independente se a idéia é só converter um arquivo .psd para o template do Joomla, a base de código mínima, e que seria igual para práticamente todos os seus projetos, toma tempo, mas este tempo tende a cair significativamente depois que você entende como fazer.
4. A beleza do código gerado depende exclusivamente de você, e o CMS garante isso
Outra coisa que pode fazer perfeccionistas desistirem do Joomla é que acham o código gerado poluído. Pergunte-se: quem fez o código? Ele é baseado em um clube de template? Ele é uma versão bem antiga de Joomla, da época em que se usava tabelas? Relembro que até mesmo extensões de terceiros podem ter a saida sobreposta. Mesmo que encontre algo feio, você pode ir lá e alterar e raramente será considerado um hack se fizer do jeito certo.
5. Não faça opções na área administrativas para controlar funcionalidades seu template que você dificilmente usará pela interface administrativa
Perceba que o CMS Joomla estimula de forma significativa que você tenha opções para controlar praticamente tudo pela interface administrativa, focado em pessoas que não alteram diretamente o código fonte. No seu caso, só implemente tais funções se o cliente exigir ou se realmente fizer questões. Na prática, quando estiver fazendo sue próprio template, será mais comum que altere diretamente no código do que abra a interface administrativa para ficar controlando ele.
A regra de ouro é implementar essas opções adicionais no template apenas se você pretende fazer mais de uma cópia de estilo do template pela administração conforme o menu, ou se a sua base de código está ficando grande e está fazendo o seu próprio framework.
6. Cuidado com extensões e funcionalidades não essenciais no seu template
Tome extremo cuidado com extensões ou coisas sem grande significância que adicionar no seu template, pois eventualmente pode haver conflito entre extensões, em especial de Javascript. Manter simples ajuda a evitar problemas e ter que catar um erro. Aliás, alguém experiente pode pode passar mais tempo tentando resolver esses erros do que convertendo um .pdf para o template. Por isso, já procure evitar uma possível dor de cabeça futura.
7. Use HTML5 e CSS3 e procure sempre validar o código, não por perfeccionismo, mas porque o tempo de entrega é menor
Independente de não fazer isso com todos os clientes, siga um padrão de procurar validar sempre seu código base, pois é extremamente mais simples tanto debugar um erro como dar manutenção a um código que valida ou está próximo disso. Hoje em dia, seguir um padrão perfeccionista significa entregar em menor prazo e com tempo qualidade melhor a um ponto de valer a pena você aprender o feijão-com-arroz. Não sei você, mas eu gostaria da ideia de receber mais por algo mais simples de manter, ainda que isso custe mais trabalho pra entender como funciona.
8. Procure se inspirar em exemplos que não são feitos no CMS Joomla
Para quem quer ir muito além, e esta disposto a passar se dedicar um pouco mais, use como base o que não é nem feito com o CMS Joomla. Desenvolvedores front-end avançados devem ter em mente que tudo que conseguem fazer com HTML puro, e isso inclui as referências que você encontra por aí de sites premiados que usam HTML5 e CSS3, porém ser feitos em Joomla.
Isso vai tornar ainda mais díficil fazer um tema Joomla, mas... será que não vale a pena se você se garante no design de interface básico? Alguém que percebe isso poderá ter um portfólio que ainda será referência de novação no meio Joomla por uns dois anos.
9. Se vai estudar algo dito como inovador, tenha certeza de que é inovador, ou pelo menos não algo antigo vendido como novo
A lógica geral de quando algo novo acontece é, em um primeiro momento ele é feito, depois é documentado em inglês de forma técnca, então é desmistificado por quem lê tais manuais em inglês ou que acompanhou diretamente como ele foi feito, e, só então, você vai encontrar um curso em português ensinando como fazê-lo. Ao usar o CMS Joomla, se o conceito não é implicito dele, adicione mais uma camada de tempo. Isso pode ferir seus sentimentos, mas se está fazendo um curso sobre uma área, você já está atrasado. Então, o que fazer?
Bem, ou você procura estar próximo da fonte de onde uma tecnologia de ponta emergiu e entende que vai passar mais trabalho, ou procura pelo menos ver em qual parte do processo você está pegando uma técnica que considera nova. Vai muito do seu perfil e tempo que pretende dedicar. Aprender algo somente quando ele é um padrão não é ruim, porém tome cuidado com propaganda que te venda algo como se fosse inovador e é uma tecnologia que... se você nem ler a sumula de um curso, ou fizer as perguntas certas antes de pagar uma inscrição, nada mais é do que algo velho, que vai sair de linha logo. Independente se pagou em 12 vezes um treinamento que já tinha um valor mais baixo, se esse treinamento está uns três anos atrasado, lamento fazer você voltar a realidade, mas pagou apenas por uma propaganda bem feita, e mereceu isso. Não entenda como uma questão de que preço determina qualidade, mas sim que é melhor deixar de lado palavras de impacto de lado e se preocupar em saber sobre o que vai ou o que não vai ser ensinado sob um ponto de vista mais pragmático, e se possível, procurar outras referências sobre o que está querendo saber que estejam fora do local aonde está sendo anunciado.
- Detalhes
-
Criado em Quarta, 04 Abril 2012 22:40
-
Última atualização em Sexta, 13 Abril 2012 09:59
Este screencast contém os 18 minutos iniciais um total de duas horas de configuração do zero, desde a solicitação da instância pelo painel administrativo do AWS, até o acesso, instalação e teste inicial de um servidor NGinx, usando como base um Amazon AMI 2012.3 64bits, que é equivalente a um Linux Centos.
Ele aborda, ainda que de forma não extremamente detalhada:
-
Usa o Windows 7, Putty, WinSCP
-
Como criar e acessar uma instancia na Amazon EC2
-
Como criar uma instancia do tipo spot, que tende a ser mais barada que uma instancia típica
-
Atualização do Amazon AMI
-
Instalação do servidor NGinx. Configuração dele, do tomcat, Hadoop, HBase, rede, de DNS e outros mais estão no restante do vídeo que preferi não liberar publicamente, ainda que essa parte do vídeo atenda ao que o título do post se propõe..
Importante: caso você queira usar o Amazon free tier, em vez de usar uma instância do tipo Spot e um servidor small, deve usar uma instância típica e uma máquina virtualizada do tipo micro.
Lembro que esse screencast foi gravado como parte de uma configuração que eu estava fazendo para um projeto interno, e não um "tutorial pleno". Resolvi liberar publicamente o início para ajudar alguns colegas que querem conhecer um pouco melhor como usar o Amazon EC2.
E quanto as perguntas que vão aparecer nos comentários ao longo dos próximos meses ou anos, uma e outra ajuda, mas entenda que é sem compromisso e sim, posso ajudar, porém em especial se for algo mais complexo, posso aceitar sua sugestão fazer um outro screencast caso eu tenha tempo livre, lembrando que você ainda tem a opção de pedir suporte gratuito nos fóruns de ajuda especifico do AWS. Se acredita que precisa de um suporte profissional, entre em contato.