Raúl Jiménez
elecash@gmail.com
@elecash
Evitando
reinventar la rueda
sobre mi
Byte
Default
Librerías JavaScript
Definición
A JavaScript library is a library of pre-written JavaScript that allows for easier development of JavaScript-based applications, especially for AJAX and other web-centric technologies"
Source: wikipedia
VOY A
CREAR MI
LIBRERÍA
ventajas
- Control: no tengo que esperar a que arreglen bugs o saquen features
- Rentabilidad: puedo sacar un rendimiento por la librería en el futuro
-
Conocimiento: entiendo perfectamente el código y puedo modificarlo
- Legalidad: tengo la propiedad total del código en términos legales
desventajas
- Control: la comunidad no puede contribuir al código resolviendo bugs o sacando features
- Rentabilidad: desarrollar una librería puede ser muy costoso y no siempre podemos permitirnos esos costes
-
Conocimiento: he de traspasar el conocimiento a cada persona nueva que entra en el proyecto
- Legalidad: tengo la propiedad total del código en términos legales (patent troll)
to Lib
or
not to Lib...
crear una librería
- Investiga las opciones Open Source
- Comprueba que sus licencias sean flexibles (https://tldrlegal.com/)
- Analiza si se cumplen todos tus requerimientos
- Evalúa el código y si es fácil de extender
requerimientos
- ¿Cuánto tiempo vas a mantener tu librería?
- ¿Publicarás en un futuro tu librería? Si es así, debes crear una documentación y mantenerla también
- ¿Vas a hacerla Open Source o será una librería privada?
- ¿Quién va a mantenerla?
open source
- Publica en GitHub
- Ten mucho cuidado de mergear PRs que te haga la comunidad
- Automatiza todo lo que puedas: versiones, docs, commits, etc...
- Crea un repo privado y luego hazlo público
escoger una librería
- ¿Cuando fue la última release?
- ¿El código te parece correcto?
- ¿Hay alguna empresa detrás?
- ¿Qué competencia tiene?
recursos
para tu proyecto
- semantic-release: publicar versiones
- gitbook: documentación
- travis/circle: cloud builds
- commitizen: estandarización de commit messages
- cypress: tests de integración
- prettier: formateador de código
algunas librerías
- ag-grid
- ngx-date-fns
- angular2-text-mask
- Angular Material
- angulartics2
- Ionic
¡gracias!
Evitando reinventar la rueda
By Raúl Jiménez
Evitando reinventar la rueda
Charla para Angular Honduras sobre cuando crear una librería, ventajas e inconvenientes
- 1,359