Enrera
Mòdul 1
Iniciació a la programació en Java
   
   
 
 
  Els IDEs

La combinació entre l'enorme difusió de Java i la inexistència d’un IDE oficial o obligatori han facilitat la proliferació d’entorns de programació que fan possible el treball des de qualsevol plataforma on Java sigui suportat. Java és, encara més que C++, el llenguatge que disposa d’una oferta més àmplia i variada d’aquest tipus d'eines.

Com no és possible dir quin és l'IDE ideal, ni tan sols presentar-los tots, en aquesta secció us en citem dos dels més reconeguts, per tal que els proveu quan el modest, però eficaç, JCreator se us quedi petit: Eclipse i NetBeans.

En els dos casos es tracta de programes que podreu utilitzar sense cost econòmic. Els grans entorns considerats professionals o empresarials són bastant cars, almenys fora de l'abast del programador afeccionat. Per exemple, IntelliJ IDEA 3.0 costa 500 €, JBuilder de Borland 3500€ o Sun One Studio 2000€ . Eclipse i NetBeans són, però, més que suficients per cobrir les necessitats d'un programador professional. En algunes ocasions, fins i tot, fan més bé la feina que els entorns de pagament.

Si, en acabar el curs, us interessa més el món dels servidors d'aplicacions, pàgines web dinàmiques i bases de dades, us aconsellem que utilitzeu Eclipse. Si el que us ha agradat més és la programació de clients gràfics, NetBeans és el vostre programa.

Ambdues IDEs disposen del recolzament d'empreses que els actualitzen constantment. Eclipse, a més a més, gràcies a la seva modularitat, disposa de multitud d'eines per a feines específiques que fan possible que et muntis un entorn a la mida de les necessitats del projecte en el que estàs treballant.

   
Eclipse
  www.eclipse.org

Treballes en projectes que utilitzen extensivament J2EE, CVS, JDBC, XML?, Necessites un entorn gratuït que et permeti fer diagrames UML?, vols integrar Resin a un IDE, arrancar-lo des d'ell i depurar el codi de les teves pàgines Web?, T'agradaria formatar automàticament el teu codi, programar servlets des d'experts o crear wikis automàticament?. Això, i pràcticament tot el que puguis necessitar de Java (exceptuant AWT i Swing) ho trobaràs a Eclipse. Si Eclipse no ho té, alguna empresa n'haurà creat l'extensió per a que ho puguis fer -podem triar entre unes 400 extensions-

El projecte Eclipse és el producte amb que IBM pensa promocionar la utilització de Java com a alternativa a les eines de Microsoft, especialment entre els programadors que treballen amb servidors d'aplicacions. La programació de clients gràfics no està encara inclosa en el programa, ni sembla una prioritat en el desenvolupament del projecte.

Es tracta d'un entorn escrit en Java, com NetBeans. Per tant, en comparar-lo amb JCreator, el trobareu més lent d'arrencar i més exigent amb el consum de memòria. La potència que afegeix, però, compensa sobradament aquest sobrepès.

   
 

La instal·lació és una mica diferent a la d'un programa convencional de Windows: Eclipse no té cap setup.exe. Per a instal·lar-lo heu de tenir el kit de Java al vostre ordinador, heu d'obrir amb Winzip el fitxer *.zip amb què es distribueix i executar el programa eclipse.exe que hi ha a dins. Això us obre l'IDE us permet configurar l'entorn. Les extensions (plugins) solen ser també fàcils d'instal·lar: habitualment només cal obrir el fitxer *.zip de l'extensió dins de la carpeta /plugins del vostre Eclipse. Quan torneu a arrancar el programa, seran reconegudes.

No entrarem en detall amb les possibilitats d'Eclipse. Si us interessa aprofundir, disposeu d'alguns bons tutorials a la xarxa: per a la instal·lació de l'IDE, iniciar-se amb un projecte senzill, estar al dia de novetats http://java.megaserv.com/action/portal-server. o de les extensions que van sortint http://eclipse-plugins.2y.net/eclipse/index.jsp. La pàgina del projecte és plena d'enllaços a llocs d'interès.

Volem destacar només alguns dels seus aspectes positius:

  • Recompilació automàtica: cada cop que enregistres un fitxer, l'IDE el compila automàticament i verifica la consistència del projecte (revisa si la compilació afecta alguna altra classe i ens avisa de possibles problemes).
     
  • Refactorització: Què passa si en un projecte gran necessites que una classe canviï de nom? i si una classe que forma part d'un paquet ha de passar a un altre? Aquest tipus de problemes, molt freqüents en la programació ordinària poden no tenir solució si els canvis s'han de fer manualment (imagineu canviar a tot un projecte les referències a una classe, o el seu nom o els mètodes). Eclipse, en canvi, els fa automàticament: si canviem un nom, busca en el projecte totes les referències al nom, les canvia i ho recompila tot.
     
  • Suggeriments: Eclipse ens ajuda amb els errors de programació. Quan obtenim un error de compilació, el programa ens suggereix la solució (des de solucionar problemes tipogràfics a crear per nosaltres la gestió d'excepcions).
     
  • Mini CVS local: Eclipse conserva les diferents versions de les classes que estem escrivint. Si ho necessitem, podrem tirar enrere o comparar les diferents versions.
     
  • Històric de configuracions: Com que Eclipse és modular, ens permet anar desant diferents configuracions de finestres i extensions. Sempre podem tornar a la configuració que ens interessa.
     
  • Treball amb vistes: toques un botó i s'activen un grup de finestres. Per exemple, si estem depurant el codi, toquem el botó de depuració i s'obre una vista amb una finestra amb el traçat del programa, una altra amb els valors en viu de les variables i expressions i un altra amb el codi on anem marcant els punts d'interrupció.
     
  • Autoformat: Volem que el nostre codi tingui un aspecte impecable? piquem sobre l'opció "Format" i es netegen els espais sobrers, els sangrats incorrectes, els salts de línia poc ortodoxos.
     
  • Autoimportació: Donem una classe a Eclipse i ell ens revisarà les declaracions d'importació: només s'importarà allò que necessitem i serà presentat a la capçalera de la classe en l'ordre adequat.
     
  • Modularitat: Deixem aquesta característica pel final tot i ser la més important. Eclipse no és un IDE uniforme, té multitud de cares diferents en funció dels interessos del programador. Darrerament, algunes empreses, fins i tot, estan distribuint Eclipse amb grups d'extensions precarregades adaptades a les necessitats dels programadors.
    L'autor d'aquestes línies treballa habitualment amb el servidor d'aplicacions Resin en projectes que utilitzen el framework Struts per a gestionar la lògica dels programes. Són tecnologies específiques que poden ser configurades dins d'Eclipse. Les extensions carregades, i que us aconsellem, són: 'Ashton wizards' que ens facilita experts per a la creació de servlets i jsps, 'Jalopy' és una extensió per a formatar el text molt més completa que la general d'Eclipse, 'Completeclipse' afegeix al nostre vell Eclipse 2.0 la capacitat de generar la finestra suggerint-nos els mètodes i membres de les classes a mesura que escrivim el codi, 'Struts console' gestiona els fitxers de configuració del framework Struts i 'Resin for Eclipse' ens permet executar i depurar el servidor d'aplicacions des de l'interior de l'IDE.
    Busqueu una mica i trobareu el vostre Eclipse.
  •  

 

NetBeans

 

www.netbeans.org

 

NetBeans és un clàssic, amb bastant més recorregut històric que Eclipse i un suport empresarial internacional d'unes dimensions similars. Les potencialitats de l'entorn són, en general, similars a les d'Eclipse a excepció, com hem dit, en l'apartat dels clients gràfics.

Els requeriments són idèntics que en el cas anterior: si voleu instal·lar NetBeans a la vostra màquina heu de disposar del kit de java 2 complet al vostre ordinador.

NetBeans té una instal·lació més habitual que Eclipse. Cada sistema operatiu disposa del seu instal·lador en forma d'un fitxer executable que podeu baixar de la web del projecte.

Un cop feta la instal·lació, en obrir el programa, ens trobem amb un entorn potser més tranquil·litzador que el d'Eclipse: les coses estan en llocs una mica més familiars, la distribució d'objectes és més corrent, tot és més semblant, salvant les diferències, a un entorn tradicional del tipus Visual Basic o Delphi. L'acabat és potser una mica millor que el d'Eclipse, però, d'altra banda, observareu que funciona mes lent i necessita més màquina..

 

   
 

Les utilitats generals de l'entorn són semblants a les del programa anterior: NetBeans disposa d'un complet editor de codi amb diferenciació de colors, formateig, finestra d'ajuda amb els membres i mètodes de les classes que estem utilitzant (més una altra finestra superior on podem veure la documentació de cada mètode), un depurador, algunes utilitats i experts. És menys configurable que Eclipse però disposa dels elements suficients per a la major part de necessitats de programació.

El programa es distribueix en tres vistes: la d'edició, la de depuració i la de mòduls gràfics, en un plantejament similar al que observàvem en el cas anterior. L'eina de depuració és completa: podem seguir les traces, marcar punts de ruptura, observar el valor de les variables en temps d'execució, etc.

En el pas de JCreator a NetBeans, el que segurament us sorprendrà més, és la capacitat de treballar amb AWT i Swing. La metodologia de treball és similar a la de JBuilder i els altres entorns amb capacitat gràfica: podem incorporar al programa objectes gràfics de les llibreries AWT i Swing i els podem manipular sobre l'escriptori observant, mes o menys en temps real, l'aspecte que prenen. Per a editar les seves propietats, disposem d'una finestra amb la llista de propietats i esdeveniments de l'objecte, cosa que ens en facilita la localització i edició. El plantejament és idèntic als IDEs de Microsoft de Basic i C++ o a Delphi de Borland. Tot i no ser tan fàcil com en aquests llenguatges, NetBeans fa molt més senzilla la programació d'objectes gràfics en Java, que és un dels aspectes més difícils del llenguatge..

NetBeans està també perfectament preparat per al treball amb servidors d'aplicacions. De fet, porta preinstal·lat per defecte Tomcat 4.0, que podem activar des de l'interior de l'IDE, i disposem d'experts per a la creació de gairebé qualsevol peça d'un programa J2EE. A més, disposa d'una interessant eina de monitorització de l'activitat http de les nostres aplicacions amb seguiment de requests, cookies, servlets, sessions i capçaleres que ens facilita enormement la depuració de les nostres pàgines web dinàmiques.

Es fa difícil aconsellar un entorn professional de programació Java. Podríem haver presentat l'històric JBuilder, l'agradabilíssim i premiat IntelliJ, JDeveloper d'Oracle, Forte i d'altres productes. Tots són bons programes. Ens sentirem còmodes amb qualsevol d'ells si arribem a descobrir i aplicar amb familiaritat totes les seves possibilitats.

 

 

 
Amunt