O artigo foi revisado, e buscamos incluir novas conclusoes principalmente devido a abordagens que recebemos das pessoas que ingressam no desenvolvimento e de alguma forma esbarram em uma parede, que pode ser a própria dificuldade em aprender ou mesmo resistência, tentei deixar a coisa um pouco mais 'clara'.
Atualmente existe muito material disponibilizado para se aprender Genexus, a Artech oferece o site http://training.genexus.com com muitos vídeos em português, espanhol e inglês, abordando praticamente tudo que é necessário para se produzir excelentes programas com a ferramenta.
Por outro lado, aprender Genexus requer não apenas compreender uma nova linguagem de progranação, mas um conjunto de objetos com diversas finalidades, funcionalidades e características, que para um iniciante poderia trazer um pouco de confusão.
Me permitam selecionar certos fundamentos que, sob a minha ótica, são essenciais para compreender a filosofia envolvida no desenvolvimento com Genexus, e em cada um desses eixos fundamentais, um conjunto específico de objetos, que apresentamos na tabela abaixo, de forma resumida.
Modelagem
| |||||
Tabela Base e Estendida
|
Diagrama e Navigation Report
| ||||
Programação
| |||||
Transformações
| |||||
Interface Usuário
|
Na Modelagem o objetivo é representar a realidade através do objeto Transação, sendo necessário compreender um pouquinho de Análise de Sistemas. Existe um outro video que apresenta alguns exemplos nesse sentido.
Tabela Base e Estendida são conceitos revolucionários na ferramenta e representam um importante nível de abstração para o acesso de dados nas tabelas, uma falha na aprendizagem deste conceito e você estará programando muito e obtendo poucos resultados com a ferramenta, portanto é crucial que compreenda isso.
- http://www.genexando.com/2011/08/pise-no-break.html
- http://www.genexando.com/2010/07/rompendo-relacoes-implicitas.html
O objetivo da Programação é otimizar a aplicação por meio de operações não interativas, e aqui temos um reflexo do mundo real, pois Genexus oferece uma interessante linguagem de programação com muitos recursos automatizados. O que você deve sempre pensar quando programa é fazer com que o resultado seja sempre eficaz, pois muitas vezes erramos produzindo programas lentos e ineficientes.
Outro conceito envolvido na programação é a busca por criar código reutilizável e de fácil manutenção, dai entramos no nivel dos Data Selectors e Business Components.
- http://www.genexando.com/2011/03/nao-no-lugar-correto.html
- http://www.genexando.com/2013/04/business-component-com-transacao-de.html
Finalmente a questão relacionada com a construção de Interfaces Gráficas, aqui abordo somente Web, com dois objetos WebPanel e Patterns, não precisa muito mais que isso (talvez também o Theme, Images)
Conclusão e Dicas
Com um pouco de paciência nesse momento, porque entendo que aprender (ou reaprender) uma nova ferramenta sempre é um desafio bastante grande, procure conquistar os conceitos aos poucos. A sequencia que indicamos acima é interessante.
A dica principal que lhe passo é não buscar reproduzir a programação que está acostumado a desenvolver, no Genexus lembre-se que sempre é ferramenta que programa para você, portanto se estiver escrevendo muito código numa procedure por exemplo, pode ser sinal que você pode não estar utilizando toda a capacidade de automação que tem a sua disposição. Desligue um pouco seu modelo de pensar programação e passe a pensar 'como' o Genexus, quero dizer com isso que normalmente brigamos com coisas que não nos é lógica, e principalmente para desenvolvedores queremos reproduzir o que aprendemos a fazer ao longo de muitos anos de esforço e dedicação. Pensar que não será mais preciso programar um Insert por exemplo pode ser um pesadelo para alguns.
Se você não é programador, sinta-se livre para criar, sabe que tem uma pequena vantagem no inicio (mas só no inicio), conhecer sobre o que esta fazendo faz com que produza coisas 'mais' avançadas. Então, mesmo aprendendo Genexus é bom manter-se atualizado quanto as inovações.
Esqueça a programação das queries SQL (a menos que for encarregado da manutenção do BD), Genexus gera as queries de manutenção e também de recuperação e manutenção dos dados, e o próprio Genexus se encarrega de buscar os dados nas tabelas corretas. Não precisa se preocupar com a programação de inner join, por exemplo. Mas para dominar esse tema precisa aprender o significado de tabela base e estendida.

Não queira provar que o Genexus está errado naquilo que faz, isso é sinal de que você não confia na ferramenta ou quer voltar rapidamente ao modelo 'tradicional' de programação, agindo assim não vai aprender nunca. A postura deve ser a inversa disso, deve entender 'como' o Genexus faz, aprender como o Genexus 'pensa'. Buscar antecipar o que a ferramenta vai produzir é o exercício que o leva a dominar o bixo rapidamente.
Genexus não é fácil, parece simples, mas entenda, assim como toda tecnologia é muito simples para quem a domina, e leva-se um tempinho para assimilar tudo. Sempre me perguntam quanto tempo, e a resposta é:
Se você passar a respirar Genexus vai domina-la em um mês. Se por outro lado ficar brigando com a ferramenta pode ser que nem aprenda.
Me desculpem agora, não quero gerar nenhuma polêmica, mas não sei quais as razões que te levaram a buscar Genexus, se for porque quer construir sistemas robustos altamente tecnológicos e de forma muito rápida, creio que vai gostar muito do que tem em mãos. Por outro lado se foi 'obrigado' a aprender porque sua empresa 'teve' que adota-la, lembre-se que deve ter havido uma razão para isso, pense comigo, a busca de uma ferramenta que automatize um pouco a programação pode significar que equipe de desenvolvimento pode não estar respondendo como deveria, ou ainda, que muitas oportunidades vem sendo perdidas devido a baixa capacidade de programação. Em ambas as circunstâncias o melhor é realmente aprender.
Tenho plena certeza que é um excelente desenvolvedor, que tem habilidades absurdas, domina todos os frameworks, todos os caminhos que levam a produzir um programa 'especial'. Entenda que Genexus vai expandir sua capacidade de produzir estas mesmas coisas especiais, mas pode ser que não pelo caminho que você conheça.
Desta forma desejo-lhe realmente um 'Caminho Suave' e bons estudos!A dica principal que lhe passo é não buscar reproduzir a programação que está acostumado a desenvolver, no Genexus lembre-se que sempre é ferramenta que programa para você, portanto se estiver escrevendo muito código numa procedure por exemplo, pode ser sinal que você pode não estar utilizando toda a capacidade de automação que tem a sua disposição. Desligue um pouco seu modelo de pensar programação e passe a pensar 'como' o Genexus, quero dizer com isso que normalmente brigamos com coisas que não nos é lógica, e principalmente para desenvolvedores queremos reproduzir o que aprendemos a fazer ao longo de muitos anos de esforço e dedicação. Pensar que não será mais preciso programar um Insert por exemplo pode ser um pesadelo para alguns.
Se você não é programador, sinta-se livre para criar, sabe que tem uma pequena vantagem no inicio (mas só no inicio), conhecer sobre o que esta fazendo faz com que produza coisas 'mais' avançadas. Então, mesmo aprendendo Genexus é bom manter-se atualizado quanto as inovações.
Esqueça a programação das queries SQL (a menos que for encarregado da manutenção do BD), Genexus gera as queries de manutenção e também de recuperação e manutenção dos dados, e o próprio Genexus se encarrega de buscar os dados nas tabelas corretas. Não precisa se preocupar com a programação de inner join, por exemplo. Mas para dominar esse tema precisa aprender o significado de tabela base e estendida.

Não queira provar que o Genexus está errado naquilo que faz, isso é sinal de que você não confia na ferramenta ou quer voltar rapidamente ao modelo 'tradicional' de programação, agindo assim não vai aprender nunca. A postura deve ser a inversa disso, deve entender 'como' o Genexus faz, aprender como o Genexus 'pensa'. Buscar antecipar o que a ferramenta vai produzir é o exercício que o leva a dominar o bixo rapidamente.
Genexus não é fácil, parece simples, mas entenda, assim como toda tecnologia é muito simples para quem a domina, e leva-se um tempinho para assimilar tudo. Sempre me perguntam quanto tempo, e a resposta é:
Se você passar a respirar Genexus vai domina-la em um mês. Se por outro lado ficar brigando com a ferramenta pode ser que nem aprenda.
Me desculpem agora, não quero gerar nenhuma polêmica, mas não sei quais as razões que te levaram a buscar Genexus, se for porque quer construir sistemas robustos altamente tecnológicos e de forma muito rápida, creio que vai gostar muito do que tem em mãos. Por outro lado se foi 'obrigado' a aprender porque sua empresa 'teve' que adota-la, lembre-se que deve ter havido uma razão para isso, pense comigo, a busca de uma ferramenta que automatize um pouco a programação pode significar que equipe de desenvolvimento pode não estar respondendo como deveria, ou ainda, que muitas oportunidades vem sendo perdidas devido a baixa capacidade de programação. Em ambas as circunstâncias o melhor é realmente aprender.
Tenho plena certeza que é um excelente desenvolvedor, que tem habilidades absurdas, domina todos os frameworks, todos os caminhos que levam a produzir um programa 'especial'. Entenda que Genexus vai expandir sua capacidade de produzir estas mesmas coisas especiais, mas pode ser que não pelo caminho que você conheça.
Ah, e claro que não se aprende sem o Genexus, portanto, pegue ele aqui.
Caminho Suave: que saudade dos meus tempos de criança!
Nenhum comentário:
Postar um comentário