Arquivo da tag: netbeans

IDEs para Ruby, um resumo das novidades

Fonte: Mirko Stocker/Robison Tesini/InfoQ

A JetBrains lançou uma nova versão de sua IDE para Ruby, o RubyMine 4. O foco de versão anterior, 3.0, estava no suporte a Rails 3, cobertura de código e melhoria de depuração. O RubyMine 4 tem desempenho melhorado e aperfeiçoamentos em várias áreas. Do release notes:

A nova arquitetura da IDE permite que ações sejam executadas assincronamente para evitar bloqueios de memória. Por exemplo, a funcionalidade de inspeção de código (Inspect Code) agora roda até quatro vezes mais rápido. […] A interface do RubyMine foi reestruturada significantemente para ficar mais compacta, moderna e confortável no suporte a todas as plataformas. O menu principal foi reorganizado, um novo visual para a barra de navegação, abas de edição foram melhoradas e mais.

Outra área que recebeu muita atenção nesta versão é análise estática e a navegação pelo código fonte. Por exemplo, a relação entre as classes pode ser mostrada em um diagrama UML; uma visualização de Estrutura e Hierarquia mostra subtipos e métodos herdados; e a complementação de código e a navegação agora funcionam também com Gems com extensão nativa.

A inspeção de código também foi melhorada, códigos que não seguem o Guia de estilo Ruby são destacados e acertos rápidos podem ser utilizados para corrigir inconsistências; e o novo método de refatoração inline substitui uma invocação de um método pelo corpo desse método. O blog do RubyMine posta regularmente dicas sobre como utilizar a nova IDE de maneira mais produtiva e é um ótimo recurso para iniciantes.

Além do Ruby, o RubyMine vem com suporte a outras linguagens e dialetos como CoffeeScript, HAML, SCSS e LESS. Código em CoffeeScript agora pode ser compilado para JavaScript diretamente na IDE.

O RubyMine está disponível em uma edição de avaliação de 30 dias. Licenças profissionais custam USD$149, e licenças pessoais estão disponíveis a USD$69. Projetos de código aberto ou usuários educacionais podem solicitar uma licença gratuita.

Ruby de volta ao NetBeans

Os usuários do NetBeans, do qual o suporte oficial a Ruby foi interrompido no ano passado, ficarão aliviados em saber que Tom Enebo, do time do JRuby, lançou uma versão preview para o NetBeans 7.1 com atualizações no suporte a Ruby. Tom falou sobre a razão de o antigo suporte a Ruby do NetBeans 7.0 não funcionar mais no 7.1:

O NetBeans 7.1 atualizou alguns componentes, e um destes componentes foi o html.editor.lib. O suporte a Ruby era dependente da versão 1, porém o NetBeans 7.1 agora inclui somente a versão 2.

O trabalho de Tom Enebo soluciona parte desse problema e já torna possível programar em Ruby com a versão mais recente do NetBeans.

Reflection: maximizando a produtividade em Java

Reflection API (ou Reflexão em português) é muito usado por aplicações que necessitam examinar ou modificar o comportamento de aplicações que estão sendo executadas na maquina virtual Java (JVM). É uma técnica avançada utilizada por programadores mais experientes, mas é extremamente útil, pois é uma técnica poderosa e permite aos aplicativos executar operações que de outra forma seria impossível, geralmente tais técnicas são aplicadas quando quer construir o seu próprio Framework, pois com ela é possível:

Recursos de extensibilidade

Um aplicativo pode fazer uso externo de classes definidas pelo usuário através da criação de instâncias de objetos de extensibilidade usando seus nomes totalmente qualificados, ou seja, únicos.

Navegadores de classe e Ambientes de Desenvolvimento Visuais

Um navegador de classes precisa ser capaz de enumerar os membros de classes, enquanto os ambientes de desenvolvimento visual pode se beneficiar fazendo uso de informações de tipo disponíveis na reflexão para ajudar o desenvolvedor a escrever código correto. Ex. Netbeans e Eclipse

Depuradores e Ferramentas de Teste

Depuradores precisam ser capazes de examinar os membros privados em classes. Ferramentas de teste pode fazer uso de reflexão para sistematicamente chamar um conjunto de APIs detectável definido em uma classe, para assegurar um alto nível de cobertura de código em um conjunto de testes. Ex. jUnit e Debug do Netbeans ou Eclipse.

Quem nunca teve a necessidade de chamar um método pertencente a toda classe e seus objetos chamado getClass(), este método faz parte de um conjunto de métodos para descobrir classes, construtores, campos, métodos além de sua lista de membros, seja eles herdados ou não, ou mesmo privados.

E quando precisamos obter os descritores de uma classe de driver de banco de dados usando, por exemplo, o Class.forName(“com.mysql.jdbc.Driver”).

Fonte: Oracle.Com