Blog do Urubatan
msgbartop
Desenvolvedor, Palestrante, Escritor, Nerd Assumido e Pai do Marcus :D
msgbarbottom

13 Jan 10 Quick Review – Windows Mobile 6.5


A garantia do meu celular ja esta terminando, então finalmente achei que valia a pena instalar uma ROM não oficial no meu P3301[bb], já que isto viola a garantia :D

Procurei um pouco no forum.xda-developers.com e encontrei uma ROM com windows mobile 6.5 para o meu HTC Artemis, instalei a Original Microsoft Edition (sim, eu sei que não foi uma atualização oficial feita pela MS, até por que eles não liberam atualizações, apenas o fabricante do celular pode fazer isto).

Bom, o que eu tenho a dizer é que o WM 6.5 esta realmente muito melhor que o 6.0 (que eu tinha antes no celular).

A tela inicial (Chamada de Titanium se não me engano) ficou bem legal. Poderia ser mais costumizável, mas ficou legal, e com certeza é criativa e foge bastante dos dois padrões existentes atualmente (estilo iPhone com botões e estilo Android[bb]/HTC[bb] com muitas informações, widgets e páginas).

O menu “Honey Comb” ficou espetacular, é impossível abrir a aplicação errada com este formato de menu, só não gostei do tempo que se leva para organizar manualmente as aplicações, mas pelo menos agora é possível, o que antes não era …

O Windows Marketplace é um completo fiasco, não tem nada la, deve ter no máximo umas 40 aplicações …

O Internet Explorer parece bem mais rápido, e o esquema de zoom e navegação em tela cheia desta nova versão ficou beem legal …

O Media Player Mobile também melhorou, mas não foi nada que realmente chame atenção.

O PIM melhorou bastante, mas não tem nenhum recurso novo excepcional, ja que na minha opinião o anterior não tinha nada faltando (Isto inclui os aplicativos de contatos e calendário).

Não sei se é um problema com a ROM que instalei ou com o WM 6.5, mas na configuração de o que cada botão vai fazer eu posso configurar ações para os botões 1, 2, 3, 5, 6, 6(Hold), é isto ai, ta faltando o botão 4 na lista. Mas isto não chega a ser grave.

Uma das coisas que mais gostei, é que agora o SO todo é “finger friendly”, provavelmente por causa da onda de iPhones e Androids e de todo o esforço dos fabricantes para melhorar a interface do WM. Se bem que não tem disculpa para o 6.0 não ser assim, já que já existia o iPhone[bb] quando lançaram o WM 6.0 …

No geral, a performance do PDA/celular melhorou muito com esta nova ROM, não sei o que exatamente causou isto, se foi a versão nova do windows mobile, se é a quantidade de memória livre, mas agora estou bem mais feliz com o meu smartphone[bb] :D

PS.: se algum usuário de windows mobile estiver com medo de atualizar a ROM, é só seguir os passo a passo encontrados no forum.xda-developers.com que fica tudo tranqüilo, tem até instruções de como fazer backup da ROM original para uma possível restauração em caso de problemas :D
Se quiserem um passo a passo em português aqui no blog é só pedir nos comentários …

Tags: , , , ,

05 Jul 09 Eclipse 3.5 Galileo – Mais rápido, menor foot print e mais “cool” do que no ano passado!

Galileo is Here
É, novamente chegou aquela época do ano, em que o pessoal da Eclipse Foundation libera mais um “Release Train”, ou seja, uma nova versão de diversos projetos simultaneamente e compatível entre sí.
Isto é melhor ainda para quem lembra dos tempos pré Calisto, que foi o primeiro “Release Train”, naqueles tempos longínquos era necessário baixar cada um dos plugins na mão, e torcer para ter pego uma versão compatível, o que na maioria das vezes não era verdade …
Utilizar o eclipse, principalmente com o WTP era uma tarefa apenas para os mais fortes e mais preparados, e Darwin era quem ditava as regras da comunidade.
Existiam projetos paralelos de ambientes para desenvolver WEB com o eclipse que tentavam facilitar a vida dos menos preparados, mas estes não tinham vez quando se falava em qualquer outro projeto da Eclipse Foundation fora o JDT.
Mas estes tempos acabaram, os Release Trains possibilitam o acesso ao poder do eclipse para todos os interessados, e não apenas aos iniciados.
E este post cheio de firulas e histórias sem nexo foi escrito para falar um pouco mais do Release Train de 2009, o Galileo; que diferente de seus antecessores Callisto, Europa e Ganymede não é o nome de uma das luas de Jupiter, mas o nome do grupo de luas de Júpiter que inclui as 3 anteriormente citadas e também Io, e é também o nome do cientista que em 1609 oficialmente descobriu as 4 maiores luas deste planeta.
Mas alem de ser uma das luas de Júpiter, é também o nome do Release Train do Eclipse em 2009 que inclui os seguintes projetos:

Project Name Version Project Summary Download
Acceleo Acceleo 0.8.0 Download
Accessibility Tools Framework 0.7.0 Download
ATL – Atlas Transformation Language 3.0.0 Download
Buckminster Component Assembly Download
Business Intelligence and Reporting Tools (BIRT) Download
C/C++ Development Tooling (CDT) 6.0 Download
CDO Model Repository 2.0.0 Download
Dali Java Persistence Tools 2.2 Download
Data Tools Platform 1.7 (Galileo) Download
Dynamic Languages Toolkit 1.0 Download
Eclipse Communication Framework ECF 3.0 Download
Eclipse Modeling Framework (EMF) 2.5.0 Download
Eclipse Packaging Project 1.1.0 Download
Eclipse Platform 3.5 Download
Eclipse Project 3.5.0 Download
Eclipse Web Tools Platform Project WTP 3.1.0 (Galileo) Download
EclipseLink Project 1.1.2 Download
EMF Compare Download
EMF Teneo Model Relational Mapping 1.1.0
Equinox 3.5 Download
GEF – Graphical Editor Framework 3.5.0 Download
Graphical Modeling Framework 2.2.0 Download
Java Workflow Tooling JWT 0.6 Download
JDT – Java development tools Download
M2T JET (Java Emitter Templates) – aka JET2 M2T JET 1.0.0 (Galileo) Download
MDT OCL (Object Constraint Language) 1.3 (Galileo) Download
MDT UML2 Tools 0.9.0 (Galileo) Download
MDT XSD (XML Schema Definition) 2.5.0 Download
MDT-UML2 3.0.0 Download
Memory Analyzer 0.8.0 Download
Mobile Tools for Java Download
Model Development Tools (MDT) Galileo Download
Model To Text (M2T) Galileo (xpand 0.7, acceleo 0.8, jet 1.0) Download
Model-to-Model Transformation (M2M) Galileo Simultaneous Release Download
Monitoring Tools 4.6.0 Download
Mylyn 3.2 Download
Net4j Signalling Platform 2.0.0 Download
PHP Development Tools 2.1.0 Download
Rich Ajax Platform 1.2 Download
Riena Platform Project 1.1.0. Download
SCA Tools 2.0.0 Download
SOA Tools 2.0 Download
Source Editing 3.1.0 (Galileo) Download
Subversive – SVN Team Provider Download
Swordfish 0.9.0 Download
Target Management 3.1 Download
Test and Performance Tools Platform Project 4.5.3 Download
Testing Tools TPTP v4.6 Download
Textual Modeling Framework org.eclipse.xtext Download
Tools for mobile Linux 0.3 Download
TPTP Platform TPTP v4.6 Download
Tracing & Profiling Tools TPTP v4.6.0 Download

Bom, se você não dormiu até chegar aqui, vamos ao que interessa, o que tem de bom, e de diferente nesta versão do eclipse, fora um monte de números de versões novas.
os meus comentários são referentes ao Download “for J2EE Developers”, ou seja, com o WTP já instalado.

A primeira coisa que notei foi que esta versão do eclipse, não passou de 200M de memória em nenhum momento, tenho utilizado ele o dia inteiro, e a ocupação de memória fica em média entre 130M e 160M, bem melhor que o Ganymede que estava sempre entre 300M e 600M. Isto por sí só já é uma grande vantagem, o Eclipse esta bem menos pesado, e todas as operações estão com um tempo de resposta perceptível bem menor. Não sei se o tempo real esta menos, mas isto não me importa muito mesmo :D
Uma coisa que não gostei, é que aquela perspectiva podre “Java EE” é a perspectiva padrão, eu sempre prefiro utilizar a perspectiva Java como padrão.
O Suporte ao ANT continua fraco, se em um projeto existirem muitos arquivos build.xml, em algum momento o editor vai entrar em coma e só vai voltar a funcionar depois de reiniciar a IDE, mas o auto complete esta mais inteligente e mais rápido …
Uma coisa que achei muito legal é que o eclipse agora reconhece os XMLs gerados por um output do JUnit Report do ANT e abre ele na mesma view dos resultados do JUnit executados pela IDE, o que facilita muito a visualização :D
A versão nova do gerenciador de plugins também esta bem legal, ficou mais intuitivo para os novos usuários …
Mas o eclipse ainda não vem com suporte nativo ao subversion, o plugin esta no repositório do Galileo, mas não vem instalado, quando você instala o eclipse, só tem suporte a CVS o que é sofrível. E mesmo assim, só existe suporte “oficial” para estes dois SCMs, se quiser usar GIT vai ter que correr atrás.
Mas nem tudo são problemas, a nova view de “Problems” com as coisas agrupadas ficou bem legal.
Um recurso novo espetacular do editor, é a possibilidade de selecionar blocos, sempre senti falta disto no Eclipse :D
O Code completion do editor Java esta mais rápido, ou pelo menos parece mais rápido, e pode ser por que criei um workspace novo, mas parou de ocorrer um erro muito chato do Mylyn antes de apresentar os proposals para o code completion que me enchia o saco na versão anterior, mas acontecia só uma ou duas vezes por dia …
Outra coisa legal é que agora quando se segura o “Control” com o mouse sobre um método ou classe, antes sempre era aberta a implementação, agora o Eclipse pergunta se você quer ver a implementação ou a definição do método.
Achei muito extranho o icone novo do eclipse, principalmente por que o icone da aplicação não mudou, mas o icone no task bar do windows mudou, parecem duas aplicações diferentes :D
(E sim, antes que alguem comente, aqui no trampo sou obrigado a usar windows)

O suporte a Java ME ainda é bem mais fraco que o do NetBeans, mas o eclipse tem suporte a desenvolvimento em C++ para dispositivos móveis (não cheguei a testar) o NetBeans não tem …
O suporte a linguagens dinâmicas também melhorou, pelo menos o suporte a Ruby melhorou, mas ainda não existe suporte direto ao Rails …
O editor de C++ esta mais rápido, mas ainda com um code completion bem fraco e um suporte quase inexistente a refactorings, mas o “quase” já faz isto ser muito melhor do que no Visual Studio.
Ocorreram também diversas mudanças estruturais no Eclipse, mas como eu sou apenas mais um usuário da ferramenta, vou deixar este tipo de comentário para quem realmente entende.

Bom, se você teve paciência de ler até aqui é por que esta interessado no Eclipse (ou não tinha nada melhor para fazer :D ), então esta na hora de acessar o site do Eclipse e baixar o galileo.
Nesta página existem diversas opções, uma delas vai te deixar feliz, mas se você é um usuário “Hard Core” das antigas, e realmente gosta de passar trabalho, baixe o Eclipse Classic no final da página e monte o seu ambiente com os plugins que estiver com vontade :D
Se você não conseguir se decidir qual é a versão certa para você, basta acessar esta página, que diz o que esta incluído em cada um dos pacotes disponíveis para download.
Para facilitar a sua vida, copiei a tabela com os downloads e coloquei aqui :D


Tools for Java developers creating Java EE and Web applications, including a Java IDE, tools for Java EE, JPA, JSF, Mylyn and others. More…

Downloads: 202,591

Windows

Mac OS X (Carbon)

Mac OS X (Cocoa)
Linux 32bit
Linux 64bit

The essential tools for any Java developer, including a Java IDE, a CVS client, XML Editor and Mylyn. More…

Downloads: 74,402

Windows

Mac OS X (Carbon)

Mac OS X (Cocoa)
Linux 32bit
Linux 64bit

Tools for PHP developers creating Web applications, including PHP Development Tools (PDT), Web Tools Platform, Mylyn and others. More…

Downloads: 47,243

Windows

Mac OS X (Carbon)

Mac OS X (Cocoa)
Linux 32bit
Linux 64bit

An IDE for C/C++ developers with Mylyn integration. More…

Downloads: 36,326

Windows

Mac OS X (Carbon)

Mac OS X (Cocoa)
Linux 32bit
Linux 64bit

A complete set of tools for developers who want to create Eclipse plug-ins or Rich Client Applications. It includes a complete SDK, developer tools and source code, plus Mylyn, an XML editor and the Eclipse Communication Framework. More…

Downloads: 12,642

Windows

Mac OS X (Carbon)

Mac OS X (Cocoa)
Linux 32bit
Linux 64bit

This modeling package contains a collection of Eclipse Modeling Project components, including EMF, GMF, MDT XSD/OCL/UML2, M2M, M2T, and EMFT elements. It includes a complete SDK, developer tools and source code. Note that the Modeling package includes some incubating components, as indicated by feature numbers less than 1.0.0 on the feature list. More…

Downloads: 10,763

Windows

Mac OS X (Carbon)

Mac OS X (Cocoa)
Linux 32bit
Linux 64bit

JEE tools and BIRT reporting tool for Java developers to create JEE and Web applications that also have reporting needs. More…

Downloads: 9,907

Windows

Mac OS X (Carbon)

Mac OS X (Cocoa)
Linux 32bit
Linux 64bit

Pulsar is a tools platform for Mobile Java Developers. It includes the Eclipse Platform, Java Development Tools (JDT), Mobile Tools for Java (MTJ), Mylyn and Plugin Development Environment (PDE). Pulsar also makes it easy to download SDK from different handset manufacturers. More…

Downloads: 5,361

Windows

Mac OS X (Carbon)

Mac OS X (Cocoa)
Linux 32bit
Linux 64bit

The classic Eclipse download: the Eclipse Platform, Java Development Tools, and Plug-in Development Environment, including source and both user and programmer documentation. Please look also at the Eclipse Project download page. More…

Windows

Mac OS X (Carbon)
Mac OS X (Cocoa)

Linux 32bit
Linux 64bit

Bom, vou ficando por aqui, este post foi escrito para participar do Blogathon, e tentar ganhar uma jaqueta do Eclipse :D
Acho difícil um post em português ganhar, mas pelo menos uma camiseta acho que rola :D

Tags: , ,

07 Nov 08 IDE REVIEW: RubyMine – a melhor IDE para Rails até agora

Em todos os meus trabalhos com Ruby On Rails até agora eu não achei necessária uma IDE, pois eu sempre fui mais produtivo com simples editores de texto (tudo bem, não eram editores tão simples assim), As IDEs eram sempre lentas, muito mais lentas que os editores de texto. Mas o pessoal da JetBrains se superou, na verdade não se superou, pois o IntelliJ IDEA ja é expetacular.
Mas o RubyMine é a IDE para Rails [bb]mais rápida até agora, com performance similar ao GEdit e GVim que são os meus editores favoritos (mesmo preferindo o KDE não consigo me acostumar com o Kate).
Eu não sei direito como eles fizeram, mas o code completion para Ruby e Rails esta muito rápido.
A IDE ficou Leve, o que é uma novidade interessante, pois o IntelliJ IDEA é quase tão pesado quanto o Eclipse.
E o melhor de tudo! O RubyMine tem Refactorings para código Ruby, coisa que não encontrei em nenhuma outra IDE (o NetBeans tem algumas tentativas, mas no meu último teste não funcionaram muito bem).
Bom, segue então uma lista do que faz o RubyMine ser uma ótima IDE para desenvolvimento Rails na minha opinião, com alguns screenshots :D


Como o Aptana e o Netbeans o Rubymine tem integração com o “script/generate”, com dialogos bonitinhos para criar cada item, mas isto o Netbeans também tem, e fora os dialogos no GVim com um :Rgen faço a mesma coisa :D


O RubyMine também tem code completion simples, como todas as outras IDEs para Ruby e Rails, o Eclipse tem isto, o Aptana tem, até o GVim tem quando rodando em um Linux (No windows não consegui fazer o Omnicompletion funcionar :D )


Mas aqui a coisa começa a ficar mais divertida, o code completion do RubyMine é inteligente o suficiente para saber quais são os parâmetros possívels para a maioria dos métodos do Rails.
Claro que ele não inferiu isto pelo código, é a integração com o Rails que ja conhece os métodos, mas mesmo assim, este é um recurso que eu não encontrei em nenhuma outra IDE para Ruby ou Rails até agora.


Outra coisa interessante são os refactorings disponíveis.
Este do screenshot é um extract local variable, que substitui uma expressão por uma variável em todo o arquivo.
Alem deste, testei alguns outros refactorings como rename, extract class, …
Só não consegui fazer funcionar o Extract Method que eu realmente queria que funcionasse, seria muito bom ter um Extract Method para código Ruby.

Isto fora os recursos ja conhecidos do IntelliJ IDEA para edição de HTML e Javascript, com refactorings para ambos. E o fato de o RubyMine ser a IDE mais rápida para Ruby que eu encontrei até agora. Fazem ela ser a minha preferida desde ontem também :D

Claro que trabalhei com ela muito pouco tempo, mas mesmo assim, ja gostei bastante do que vi.
Só falta ver como vão ficar os preços, ja que é uma IDE comercial.
Se o preço for bom, por exemplo, próximo ao preço do TextMate, vai valer a pena com certeza!

Tags: , , , , , ,

04 Sep 07 Gravando ScreenCasts no Linux(Ubuntu/Kubuntu)! E rodando em qualquer PC ou disponibilizando via WEB.

Bom, tem bastante gente que quer criar ScreenCasts no linux mas tem não faz a menor idéia de como fazer isto, segue um passo a passo para fazer isto no Ubuntu/Kubuntu!
E vocês vão ver que nem são tantos passos assim :D

ffmpeg-logo.png flv-75.jpg
logo-name.png tux-director-t2.gif
  1. para instalar os comandos que utilizaremos utilize o seguinte comando
  2. $sudo apt-get install gtk-recordmydesktop mplayer mencoder ffmpeg
  3. para gravar o screencast, basta abrir o gtk-recordmydesktop e seguir as informações na tela
  4. O video gravado se estiver muito grande (resolução alta da tela, como no meu caso 1280×800), apenas o mplayer vai conseguir reproduzir, parece que o theora tem problemas para gerenciar memória
  5. O video gerado estara no formato Ogg Theora, que apenas funciona em linux, e tem 1 encoder para windows, então vamos transformalo em algo utilizável
  6. $mencoder [arquivo].ogg -o [arquivo].avi -ovc lavc -oac lavc
  7. Pronto, agora possuímos um video que poe ser visualizado em qualquer plataforma :D
  8. Quer ainda colocar ele na web como um screencast? como o deste post?
  9. $ffmpeg -i [arquivo].avi [arquivo].flv
  10. pronto, agora possuímos um video em flash, falta só o player

Se você trabalha com flash pode fazer um quando quiser, acredito que não seja complexo, como este não é o meu caso, este player open source faz o trabalho muito bem! JW FLV Player

Prontinho, ja pode encher o seu site de screencasts :D

Acho que este foi o passo a masso mais simples e direto para criaçao de screencasts no linux que eu ja vi até gora :D

Tags: , ,

27 Aug 07 AJDT (AspectJ Development Tools) inconsistente ou eu que não captei a idéia?

Antes de seguir com o problema, vamos começar com um joguinho de procure o erro:

ajdt1.png

Alguém viu alguma coisa extranha na imagem acima?

Ninguém?

Se vocês prestarem atenção no Package Explorer, ele não apresenta nenhum erro na classe “Teste”, mas o editor de código diz que a classe “TestEntity” não possui o método “save” …

O legal é que isto vai acontecer sempre que eu abrir o editor de código, por tanto não é a famosa “perda de sincronia” que acontece de vez em quando no Eclipse.

Mas se eu mandar executar a classe “Teste” vai ocorrer tudo sem problemas, mesmo com o erro que é mostrado no editor de código, por que ela compila sem problemas …

Para se ver livre deste erro, tive que exportar um jar do do projeto onde estão as classes com aspectos, e mover a classe “Teste” para outro projeto, la o editor de código entende que existe o método “save” na classe “TestEntity” que foi introduzido pela compilação do AspectJ, da mesma forma que a classe executa sem problemas no primeiro projeto …

Por tanto, o editor de java do Eclipse, não fica nem sabendo que existe o compilador do AspectJ e que este altera as classes em tempo de execução, mas o package explorer, como tem os erros marcados pelo compilador, sabe que a classe esta OK, pois a compilação ocorreu sem problema algum …

Como eu fiz para confundir o eclipse?

Criei um projeto do AspectJ, e escrevi o seguinte aspecto:

package introduction;

public aspect EntityAspects
{
	declare parents: (@javax.persistence.Entity *) extends SmartEntity;

	public boolean SmartEntity.save()
	{
		return false;
	}
}

Depois eu criei a classe TestEntity:

package introduction;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;

@MappedSuperclass
public abstract class SmartEntity
{
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	protected Integer id;

	public Integer getId()
	{
		return id;
	}

	public void setId(Integer id)
	{
		this.id = id;
	}

	public abstract boolean save();
}

Criei uma Entity que teria os métodos injetados:

package introduction;

import javax.persistence.Entity;

@Entity
public class TestEntity
{

}

Depois disto foi só criar uma classe que usaria a classe TestEntity (qualquer uma com um public static void main)

package introduction;

import introduction.TestEntity;

public class Teste
{
	public static void main(String[] args){
		TestEntity te = new TestEntity();
		System.out.println(te.save());
	}
}


Prontinho, o eclipse se perdeu, mas se você mandar isto executar, vai funcionar sem problema algum.

Vou realizar o mesmo teste com o suporte a aspectJ do IntelliJ IDEA e do Netbeans a noite para ver se isto acontece com eles também, mas eu fiquei bastante decepcionado com o AJDT :(

PS.: sim, este teste foi influencia do Ruby On Rails, estava testando se seria possível com uma combinação de AOP + JPA + Qualquer outra coisa que eu não pensei ainda, um ambiente tão produtivo quanto o RoR :D

Na verdade, neste caso, apenas uma mistura de ActiveRecord com Repository, que ja ficaria bem legal …

A parte de CoC (Convencion over Configuration) é possível implementar em java sem problemas :D

UPDATE: instalei o plugin deste link no NetBeans e o comportamento é tão estranho quanto o do Eclipse, o netbeans marca o arquivo com erro no código fonte e no package explorer, mas se mandar rodar a aplicação, funciona tranqüilo :D

Tags: , ,

09 Aug 07 putz o VIM é uma IDE também!

por enquanto o único comentário é: putz, o VIM é uma IDE também!
os únicos detalhes sobre isto por enquanto são:
$sudo apt-get install vim-ruby vim-rails vim-scripts vim-vimoutliner
Coloque isto no seu arquivo .vimrc

let g:rubycomplete_buffer_loading = 1
let g:rubycomplete_classes_in_global = 1
let g:rubycomplete_rails = 1
let g:SuperTabDefaultCompletionType = "<C-X><C-O>"
" BEGIN rails-toolkit settings
runtime debian.vim
runtime macros/rails-toolkit.vim
" END rails-toolkit settings

execute os comandos:
$mkdir -p ~/.vim
$cp -rf /usr/share/vim/addons/plugin/ ~/.vim

Pronto, setup da sua Mega IDE VIM concluido

abra um arquivo qualquer de um projeto RoR e digite dentro do VIM:
:Rproject

isto é assustador …
quer mais?
comece a digitar um comando ou o nome de uma classe e um “.” e pressione “TAB”

TAQ, se tu ler isto, por favor, tire um tempinho para escrever “Como utilizar a super IDE/Sistema Operacional VIM para programar” ou algo assim …
Isto tem suporte para Java, C++, C, Ruby, Rails, PHP, ASP, quase tudo …

Realmente Assustador.

Tags: , , , ,

08 Aug 07 Ruby On Rails – IDE War 3 – NetBeans Hudson Ruby IDE

Continuando com a comparação de IDEs (primeira parte aqui, e segunda aqui), nesta terceira parte da Ruby On Rails – IDE War, vou falar um pouquinho sobre o que achei do NetBeans Hudson, que é um build do NetBeans com suporte apenas para Ruby e Ruby On Rails.

<auto_promoção>
Antes de continuar, se você estiver começando agora e quiser aprender um pouco mais sobre RoR (Ruby On Rails), eu traduzi a pouco tempo o ótimo tutorial Four Dais on Rails: Primeiro Dia, Segundo Dia, Terceiro Dia, Quarto e Último Dia
</auto_promoção>

Para quem não conhece, o NetBeans nasceu como uma IDE Java, hoje é um projeto patrocinado pela SUN, e tem melhorado a passos largos, principalmente no que se refere a desenvolvimento “bleeding edge”, quer dizer, ele sempre tem suporte as últimas especificações que estão sendo desenvolvidas no JCP, em alguns casos mesmo as especificações que ainda estão em DRAFT ou seja, ainda não saiu a versão final.
No inicio deste ano, se eu não estou enganado, o pessoal do NetBeans disponibilizou um “addon” para desenvolvimento Ruby, e a pouco tempo, fiquei sabendo que existia este build do netbeans apenas para RoR, que para o foco deste post é mais do que perfeito, ja que este é o único recurso que interessa ao escopo desta comparação.

Até a versão anterior do NetBeans (5.5) o editor de código dele era sofrível, mas felizmente, o suporte a Ruby faz parte do desenvolvimento do NetBeans 6.0, em que o editor de código melhorou muito, mas muito mesmo …

Valeus Marcelo, ja descobri que o VIM tem code completion, vou ter que aprender muito ainda sobre o VIM pelo jeito …
Mas vamos la:

Seguinte então com o Ruby On Rails – IDE War

Como eu comentei em outro post, uma das coisas mais importantes para mim em uma IDE é o code completion (também conhecido como IntelliSense pelo pessoal que veio de ambientes Microsoft), e o NBH (NetBeans Hudson) até que se acha muito bem com o code completion para código ruby (mesmo não sendo especializado para o Rails) como podemos ver na imagem a baixo.

O que quero dizer com o “especializado para o rails” é que ele podia mostrar o find_all ou coisas do genero, que todos nós sabemos que vai estar la em tempo de execução, mas mesmo assim a IDE não mostra ele :D

Ja para os arquivos .rhtml que parece ser um problema para a maior parte das IDEs, o NBH não ajuda muito também …

Eu não consegui encontrar nenhum tipo de ajuda para a edição dos arquivos .rhtml, apenas para as tags HTML, e ele ainda insiste que os IDs (por exemplo em um <label for=”idDoOutroComponente” />) são erros e apontam para coisas que não existem.

Sim, eu concordo que este é um tipo de validação muito dificil de ser implementado, mas seria interessante se fosse pelo menos possível desabilitar a validação de IDs nestes arquivos que possuem geração dinâmica de conteúdo …

O NBH possui uma ótima integração com o rake, possibilitando executar, acho eu que, qualquer task do rake a partir do menu na IDE, mas como eu comentei antes, eu prefiro fazer isto ainda via console :D

A única vantagem que encontrei em fazer isto via IDE é quando eu estiver desenvolvendo alguma task para o rake, pois aparecem links para a linha de código que possui erro no console do NBH, o que facilita muito a correção destes erros.

Uma coisa que não gostei muito foi o comando generate, que apresenta a tela abaixo …

Não parece, para mim pelo menos, uma coisa integrada com a IDE esta janela com as opções de generators, prefiro a abordagem do IntelliJ IDEA, mas ainda acho mais interessante esta abordagem do NBH do que a view que fica sempre ocupando espaço na tela do RadRails.
Uma coisa que achei legal desta view é a opção de instalar mais um generator “on the fly”, que abre uma tela que pesquisa GEMs que terminem com a palavra generator …

Sim, eu concordo que a geração de código é apenas um inicio rápido para o projeto, não uma coisa que se passe o tempo todo utilizando (por isto ainda prefiro a abordagem do NBH a do RadRails), mas é divertido poder procurar um novo generator na hora de fazer isto :D

Esta é a tela de “pesquisa de generators”

Que nada mais é do que um “gem search”, mas eu gostei da abordagem, e pelo que eu vi até agora, só o NBH e o RadRails integraram isto na IDE (não que eu ache que isto vá fazer muita falta).
O que demonstra que eles realmente querem que se faça tudo o que for preciso de dentro do mesmo ambiente.

E por último, mas não menos importante, o NBH foi a única IDE que eu testei, que integrou o “rake db:migrate”

Como eu comentei sobre os generators, tenho a mesma opinião aqui, não acho que esta é uma tarefa repetitiva, mas eu achei bem interessante a integração, ainda mais podendo escolher a versão a partir do menu mesmo …

Parecer Geral

O NetBeans foi a primeira IDE a integrar suporte ao JRuby, inclusive ele ja vem com uma instalação do JRuby embutida, o que quer dizer que instalando o NBH você não precisa de mais absolutamente nada para começar a programar com Ruby ou com Rails, ainda mais se você quiser fazer o deploy disto em um servidor de aplicação Java EE (o fato de a SUN ter contratado os desenvolvedores do JRuby deve ter algo a ver com isto :D ).
É possível na criação do projeto, escolher qual Interpretador do ruby utilizar, a opção padrão logo após a instalação é o JRuby qe veio com a IDE, mas é possível e muito fácil escolher outro interpretador (eu não cheguei nem a testar a aplicação com JRuby).
O tempo de start da IDE é um pouquinho maior que do IDEA e bem menor que do RadRails+Aptana, mas alguns editores demoram bastante para abrir em algumas situações, mas ao contrario do RadRails, ele não travou nenhuma vez depois que um editor abriu.
O IntelliSense funciona muito bem, e por incrível que pareça para quem estava acostumado com o NB 5.5, é bem rápido.
A detecção de erros no código é bem rápida também (herdada do NB 6.0 que esta muito bom, mas este é assunto para outro post :D ).
Só resta deixar os meus parabéns para a equipe de desenvolvimento do NetBeans e do Hudson, pois mesmo não sendo a minha escolha de IDE a integração e o suporte a Ruby e Rails do NBH estão excelentes …

Aguardo comentários, alguem teve problemas? alguma coisa que esqueci de testar? NB Sucks? NB Rocks? Robu On Rails Rules? Onde Esta Wally?
PS.: não, aquela foto de alguem entrando no MSN não apareceu ali de propósito …

[Parte 1 - Rad Rails] [Parte 2 - IntelliJ IDEA]

Tags: , ,

05 Aug 07 Ruby On Rails – IDE War 1 – Aptana Rad Rails

Bom, isto acontece bastante com Java, mas com Ruby eu ainda não vi muito, então vamos tentar instigar o pessoal a dizer qual a sua IDE preferida para trabalhar com Ruby On Rails …
Ruby On Rails é um dos frameworks WEB mais produtivos que eu ja conheci (lado a lado com o Grails, e agora com o JRuby ambos podem rodar em ambientes Java EE e tirar proveito de toda a infra estrutura ja existente, inclusive a escalabilidade que ja ouvi falar que em casos extremos pode ser um problema para o Rails …
Eu vou falar de 4 IDEs, o Rad Rails, o Net Beans Hudson, o IntelliJ IDEA e o Eclipse DLTK, e deixo o convite para os mais experiêntes escreverem um post sobre o ambiente que utilizam (não precisa de uma IDE, pode ser VIM + Shell, Notepad, … ), se quiserem publicar aqui eu adoraria, ou se preferirem publicar no próprio blog sem problemas (eu agradeceria se colocassem um link de volta para este post ou um trackback :D )

Antes de continuar, se você estiver começando agora e quiser aprender um pouco mais sobre RoR (Ruby On Rails), eu traduzi a pouco tempo o ótimo tutorial Four Dais on Rails: Primeiro Dia, Segundo Dia, Terceiro Dia, Quarto e Último Dia

Seguindo então com o principio da IDE War para Ruby On Rails …
não existe uma combinação de recursos que serão comparados, o que tentarei fazer é apresentar os recursos de cada IDE, o que gostei nela e o que não gostei, a bola da vez hoje é o Aptana RadRails
(more…)

Tags: , ,

09 Mar 07 Java EE 5 – servidores de aplicação

Bom, as vezes em algum post eu comento sobre Java EE 5, então resolvi fazer um post rapido apenas listando os servidores que ja suportam a especificação e alguns comentários sobre outros que ainda não suportam toda a especificação …

(more…)

Tags: ,

10 Oct 06 IntelliJ IDEA – é to testando o brinquedo novo

Uma nova ação de promoção da JetBrains, em uma açao conjunta com grupos de usuário Java do mundo inteiro eles vão dar de presente algumas licenças do IntelliJ IDEA e do novo produto Team City.

São Licensas “Personal” ou seja, para uma pessoa apenas e que pode ser utilizada para fins comerciais.

O que isto tem a ver com o blog? bom eu ganhei uma licença, e nos proximos dois tutoriais do RSJUG deste ano, o palestrante ganha uma licença também, e vamos sortear uma licença para os presentes no dia, então não percam os proximos dois tutoriais deste ano do RSJUG, alem do excelente nivel técnico também orre o risco de ganhar uma licensa de uma das melhores IDEs java disponiveis no mercado hoje!

(more…)

Tags: , ,

16 Aug 06 Contexto do spring inicializando suas vezes no tomcat

Acho que a maior parte do pessoal que trabalha com Spring Framework ja percebeu isto, olhando os logs se tem a impressão de que o Spring esta inicializando o contexto duas vezes.
Pois estudando um pouquinho eu descobri que não é só impressão, e que também não é culpa do Spring Framework …

Lendo a documentação do Tomcat, encontrei dentro da documentação do <Host>, mais especificamente na parte que fala de autoDeploy que quando:

  • O diretório da tua aplicação esta dentro do "webapps"
  • Existe uma entrada <Context> para a aplicação ou a aplicação foi deployada pelo "manager"

o tomcat pode inicializar o contexto duas vezes (uma para o Context criado e outra para o Automático que se encontra dentro do "webapps")
Resolvi o problema aqui simplesmente setando autoDeploy para false :D

Acho que esta dica pode ser útil para mais gente por aqui :D

Tags: , , ,

20 Feb 06 Review: Java Studio Creator 2


"JAVA

Parece que a ultima moda na SUN é dar de gratis as ferramentas de desenvolvimento, e nem por isto eles estao perdendo em qualidade, o Java Studio Creator é uma ótima ferramenta e quem quiser ele "de gratis" é só se inscrever na Sun Developer Network.

Esta é a cara da nova ferramenta da SUN, que tem como objetivo trazer produtividade para o desenvolvimento WEB em java, tendo como foco a tecnologia JSF (Java Server Faces) que foi criada com a ideia de fazer frente aos Web Forms da Microsoft.

(more…)

Tags: ,