Hoy he estado evaluando las diferentes librerias que hay hechas para acceder a Twitter y las únicas dos librerias que tenían algo de documentación eran Twitter4j y java-twitter. Además ambas librerias podian importarse como dependencias de maven.
La verdad es que no he tardado en decantarme por Twitter4j ya que java-twitter es una api mal diseñada ya que para hacer lo mismo que Twitter4j tienes que escribir el doble de código. Para muestra un boton:
Queremos ver los últimos mensajes públicos de Twitter, en java-twitter tendriamos lo siguiente:
import java.util.List;
import net.unto.twitter.Api;
import net.unto.twitter.TwitterProtos.Status;
import net.unto.twitter.methods.PublicTimelineRequest;
import net.unto.twitter.methods.PublicTimelineRequest.Builder;
public class JavaTwitterService {
public List<Status> getStatusListWithJavaTwitter() {
Api api = Api.builder().build();
Builder builder = api.publicTimeline();
PublicTimelineRequest request = builder.build();
List<Status> messages = request.get();
return messages;
}
}
mientras que en Twitter4j se convierte en:
import twitter4j.ResponseList;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
public class Twitter4jService {
public ResponseList<Status> getStatusListWithTwitter4j()throws TwitterException {
Twitter twitter = new TwitterFactory().getInstance();
ResponseList<Status> messages = twitter.getPublicTimeline();
return messages;
}
}
Este último me parece mas natural, y con menos código. Además Twitter4j no tiene ninguna dependencia y no parece muy pesado ya que no llega a los 300k. Lo único que no he podido testear a fondo es el tema del rendimiento. Las páginas de ambos:
java-twitter : http://code.google.com/p/java-twitter/
Twitter4j: http://twitter4j.org/en/index.html
No comments:
Post a Comment