Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 15/07/17, 05:53:37
Array

[xs_avatar]
LEAJIM_454 LEAJIM_454 no está en línea
Miembro del foro
 
Fecha de registro: nov 2012
Mensajes: 215
Modelo de smartphone: Galaxy Ace
Tu operador: Otra
¿Qué tan bueno es usar librerias de terceros?

Hola a todos, tengo un proyecto en el que uso cuatro librerias y querías saber ¿Hacer uso de las mismas me hace menos programador?, ¿Qué tan recomendable es ésta práctica? ¿Conlleva algún percance o inconveniente? gracias a todos de antemano por su tiempo y por leerme.
Responder Con Cita


  #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:
  #3  
Viejo 15/07/17, 17:02:04
Array

[xs_avatar]
LEAJIM_454 LEAJIM_454 no está en línea
Miembro del foro
 
Fecha de registro: nov 2012
Mensajes: 215
Modelo de smartphone: Galaxy Ace
Tu operador: Otra
 Cita: Originalmente Escrito por mocelet Ver Mensaje
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.
La verdad veo muy util tu respuesta, soy principiante, estoy mejorando en eso, pero vi a mucha gente que quiere reinventar la rueda y hacerlo todo por su cuenta por simple ego, y valoro respuestas como la tuya que son muy constructivas y que se puede aplicar de forma inmediata los consejos que das.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 06:37:41 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /