Ver Mensaje Individual
  #2  
Viejo 15/07/17, 09:52:10
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,202
Tu operador: -

Buenas, usar software de terceros en general no te hace mejor o peor programador, de hecho lo que te hace mejor programador es saber por qué las estás usando y tener claras sus ventajas, inconvenientes y alternativas.

La idea principal de una biblioteca es no volver a hacer el trabajo que probablemente alguien ha hecho ya porque sería reinventar la rueda.

Primero es identificar la necesidad. Ejemplos:
- Quieres conectarte a un servidor con websockets pero Android no tiene API para eso. Por mucho que me gusten los protocolos no se me ocurriría implementarme la especificación de la RFC 6455, la probabilidad de pifiarla es muy alta y me quitaría tiempo de lo que realmente quiero hacer. Necesito una biblioteca.
- Tengo que leer un par de atributos que me devuelve un servidor codificados en JSON. Android ya tiene un API para analizar un JSON y leer el par de atributos que quiero, y se hace en tres líneas de código. Hay bibliotecas de serialización/deserialización de JSON como GSON que mapean objetos a JSON de forma automática, ¿pero qué me aportan si ya lo hacía con tres líneas y no me hace falta en más sitios?. No necesito biblioteca.

Una vez identificada la necesidad, ¿cuál elegir?. Esta es más peliaguda, hay que analizar varios factores, por ejemplo:
- La licencia de uso y en especial las obligaciones de los trabajos derivados. Si no quiero compartir mi código fuente descarto licencias GPL.
- La estabilidad, bugs, si es software libre o no, cómo de mantenida y actualizada está, si se usa en producción masivamente o es un proyecto independiente bastante verde. Si voy a hacer un juego, por muy bueno que sea AndEngine no pienso usarlo porque lleva abandonado tres años.
- La compatibilidad. Si es para hacer una prueba de concepto rápida y te da igual que solo funcione bien en un dispositivo de demostración me da igual que sea solo para Android Nougat por ejemplo.
- Las alternativas, el típico no poner todos los huevos en la misma cesta. ¿Si mañana dejan de darle soporte supone un impacto muy grande buscar alternativas? ¿Me echan por tierra todo y tengo que rehacer la app?
- Impacto "no funcional", tamaño, rendimiento, seguridad, etc.

Seguro que por mi cabeza pasan más cosas a la hora de elegir si sí o si no, pero me tengo que ir ya Es cuestión de poner las bibliotecas en una balanza. De por sí no son buenas ni malas, ni el programador que las use mejor o peor.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
Gracias de parte de: