Resurse Java pentru incepatori
Tool-uri
Pentru a rula aplicatii Java este nevoie de JRE (Java Runtime Environment).
Pentru a dezvolta aplicatii Java este nevoie de JDK (Java Development Kit). In cazul in care se doreste dezvoltarea de aplicatii enterprise, este nevoie de Java EE (Java Enterprise Edition)
Acestea pot fi descarcate de aici: http://java.sun.com/javase/downloads/index.jsp
Daca ati descarcat JDK-ul, aveti deja JRE (e inclus in JDK).
Medii integrate
- Eclipse (http://www.eclipse.org)
Mediu integrat dezvoltat in principal de catre IBM. Este de asemenea folosit de catre multe firme pentru a dezvolta propriile solutii (open source sau comerciale) prin adaugarea de plugin-uri.
- NetBeans (http://www.netbeans.org)
Mediu integrat produs de catre firma Sun Microsystems. Mi s-a parut destul de usor de utilizat, intuitiv si foarte robust.
- IntelliJ IDEA (http://www.jetbrains.com/idea/)
Produs de catre firma JetBrains. Este un produs comercial, dar are o versiune de baza ce poate fi folosita in mod gratuit.
- BlueJ (http://www.bluej.org)
Un IDE destinat dezvoltatorilor Java incepatori, extrem de usor de utilizat dar fara prea multe facilitati.
- Dr. Java (http://www.drjava.org)
Alt IDE simplu destinat programatorilor incepatori.
Biblioteci si framework-uri
O list minimala de biblioteci si framework-uri utilizate pe scara larga in aplicatii Java:
- GUI
Platforma Java ofera solutii posibilitatea de a dezvolta interfetea grafice folosind SWING si AWT. Acestea sunt integrate in JDK.
De asemenea, un al toolkit major pentru dezvoltarea de interfete grafice in Java este SWT (Standard Widget Toolkit). Acesta este toolkit-ul folosit de catre Eclipse si de catrea aplicatiile bazate pe Eclipse RCP.
- Aplicatii web
Aplicatiile web in Java pot fi dezvoltate folosind solutiile "clasice" (Servlets & JSP, JSF) sau se pot folosi unul din zecile de framework-uri existente: Struts, Tapestry, Wicket, Stripes, Shale, Eclipse RAP, Google GWT, etc.
- Unit testing
Solutile uzuale pentru unit testing sunt JUnit si TestNG
- Build
Solutiile uzuale sunt Ant si Maven2
- ORM (Object Relational Mapping)
Printre cele mai complete solutii ORM este Hibernate. Alte solutii uzuale sunt: iBATIS si JPA.
De asemenea, merita mentionat faptul ca Java ofera facilitati integrate de conectare la baze de date prin intermediul JDBC (Java Database Connectivity).
- Aplicatii client-server
Java ofera facilitati integrate de comunicare in retea prin intermediul socket-urilor TCP/UDP.
Daca se doreste utilizarea unui framework pentru dezvoltarea de aplicatii pentru retea, se poate utiliza Apache MINA.
Daca o aplicatie are nevoie sa acceseze diverse protocoale uzuale (HTTP, FTP, etc), se poate utiliza Jakarta Commons Net.
Carti, tutoriale
Un bun punct de plecare pentru invatarea limbajului este tutorialul oficial de la Sun: http://download.oracle.com/docs/cd/E174... e/tutorial
O carte excelenta pentru incepatori este Agile Java Crafting Code with Test-Driven Development. Cititorul poate invata in paralel atat limbajul Java cat si principiile dezvoltarii TDD (Test Driven Development).
De asemenea, o carte buna pentru a invata limbajul Java este Thinking in Java, editia a 4-a, scrisa de catre Bruce Eckel.
Thinking in Java se concentreaza pe studiul limbajului Java, atingand mai putin studiul bibliotecilor de clase din JDK. O carte care trateaza foarte bine aspectele practice ale dezvoltarii de aplicatii Java este Core Java (editia a 8-a) (2 volume).
Dezvoltarea de aplicatii de mari dimensiuni presupun cunostinte foarte bune despre Design Patterns. In aceasta privinta recomand urmatoarele carti:
- Head First Design Patterns -> pentru o tratare accesibila a subiectului
- Refactoring To Patterns, de Joshua Kerievsky
O carte excelenta prin abordarea ei practica. Putem vedea in ce fel un expert in design obiect orientare aplica divere pattern-uri pentru refactorizarea codului.
Java ofera solutii integrate pentru dezvoltarea de aplicatii folosind mai multe fire de executie. Programarea multi-threading este dificila, iar cartea fundamentala care explica cum se dezvolta in mod corect aplicatii multi-threaded in Java este: Java Concurrency in Practice.
0, 0p / 0 votes
C++ coder