Header Ads Widget

Ticker

6/recent/ticker-posts

Por qué a los desarrolladores de API les encanta GitHub

 

Por qué-api-devs-love-github-nordic-apis-sandoval

Quizás uno de los aspectos más importantes del desarrollo de API es el control de código fuente . La implementación adecuada del control de código fuente puede conducir a un desarrollo más eficiente y efectivo, con menos errores, conflictos de dependencia y errores operativos.

Una de las formas más populares de control de código fuente en el entorno de desarrollo moderno es GitHub . Según cifras oficiales, Github cuenta con una comunidad de 11 millones de personas, con 27 millones de proyectos en curso. Hoy, vamos a abordar exactamente por qué Github es tan popular, cómo se puede integrar en el desarrollo de proyectos de API modernos y por qué uno podría considerar hacerlo.

¿Qué es el control de fuente?

El control de fuente tradicionalmente permite la gestión de archivos y componentes fuente; esto implica la creación de un archivo maestro, una jerarquía de archivos o un sistema de archivos que luego se controla y clasifica entre varias versiones de los archivos que se están editando. Cada vez que se edita un archivo, se guarda una revisión, lo que permite no solo guardar y conservar el trabajo, sino también guardar registros históricos en caso de que una revisión deba revertirse debido a un error o error.

Sin embargo, esta definición bastante estricta de control de fuentes está algo anticuada; en la era moderna del desarrollo colaborativo, el control de fuentes está mucho más enfocado en la continuidad que en la preservación.

Por qué los desarrolladores aman Github

Github es un servicio increíblemente popular, y hay bastantes razones para su querido estado en la comunidad de desarrollo web.

Edición colaborativa

Con tantos desarrolladores y editores activos en un solo proyecto, un esfuerzo grupal puede ser muy abrumador: ¿cómo se puede resaltar un error específico de revisión, mantener el control de versiones y verificar la validez del archivo original?

Entra Github. GitHub permite el poder colaborativo de varios desarrolladores en el mismo proyecto, al tiempo que permite un control estricto de versiones y fuentes. Si bien una apariencia de control es importante para mantener la continuidad, GitHub tiene el beneficio adicional (e increíblemente importante) de hacer que el desarrollo de código dentro de su sistema sea más ágil , lo que reduce el tiempo de respuesta y aumenta la calidad.

Cuando un editor realiza cambios en el código fuente original, esto se mantiene como una revisión y está vinculado directamente a su IP o cuenta de usuario. Esto vincula directamente la innovación con la responsabilidad y es una especie de sistema de verificación de errores incorporado: si una revisión hace que la funcionalidad falle, se puede revertir con una alteración mínima de la plataforma de código.

Cuando se crea un nuevo proyecto usando el código fuente como base, se le llama bifurcación , lo que permite que múltiples proyectos concurrentes broten de la misma base de código, fomentando la creatividad y evitando el avance de características y alcance que condena a muchos proyectos autogestionados.

Del mismo modo, los proyectos se pueden fusionar cuando ambos desarrolladores optan por ellos. Esto permite que el desarrollo se bifurque en un proyecto diferente, donde los usuarios pueden verificar errores, agregar código de forma colaborativa y administrar nuevas funciones. Una vez que las confirmaciones , o los cambios, se integran en la rama  o se discuten a través de una solicitud de extracción , estas confirmaciones se agregan al proyecto original.

Seguimiento y resolución de problemas

¿Qué pasa con los proyectos que no requieren edición colaborativa? ¿Qué pasa con los asuntos privados de equipos pequeños? GitHub también tiene mucho que ofrecer a este tipo de equipos. Una de las mejores de estas ofertas es el sistema integrado de seguimiento de problemas .

Cualquier proyecto tendrá inherentemente problemas que surjan durante el desarrollo: con el seguimiento de problemas integrado de Github, se pueden crear tickets para estos problemas utilizando una amplia variedad de atajos de teclado y sistemas de taquigrafía. Estos problemas se pueden ordenar por antigüedad, tiempo de actualización y número de comentarios, y se pueden filtrar por estado abierto o cerrado, etiquetas, hitos y asignados.

Si bien esto también es extremadamente útil para los editores colaborativos, esta herramienta es simplemente indispensable para nuevas empresas, equipos pequeños e individuos. Mientras que los grandes entornos de colaboración casi siempre eliminarán los problemas y errores, los equipos más pequeños deben realizar un seguimiento eficaz de los problemas para no verse abrumados por la gran cantidad de elementos que están rastreando. Con dos o tres desarrolladores manejando cientos de errores sin un sistema de seguimiento adecuado, algo se quedará en el camino.

Lea también: SCIM: Creación de la capa de identidad para Internet

Comunidad

Quizás lo más importante es que GitHub es, por definición, forma y función, un sitio de desarrollo basado en la comunidad . Con tantos usuarios activos en tantos proyectos, tener un sitio que reúne a desarrolladores dispares que trabajan en sus propios proyectos y materiales no solo amplifica las decisiones, elecciones y talentos de esos desarrolladores individuales, sino que crea un grupo masivo de talentos de desarrollo que nosotros previamente se ha promocionado como increíblemente importante .

Este grupo de talento creativo y técnico , cuando se aprovecha a través de bifurcaciones, fusiones y solicitudes de extracción, puede enfocarse en un desarrollo mucho más efectivo y eficiente que los enfoques personales. Además, el hecho de que cada desarrollador esté trabajando en sus propios materiales crea un entorno de desarrollo para la funcionalidad futura , un enfoque en la coherencia vigilante y una metodología de validación e informes extremadamente eficaz.

Como beneficio adicional, la comunidad de Github es necesariamente una de metodología común. Por esta razón, a menudo hay un beneficio adicional de tener una cultura interna de seguridad incorporada ; después de todo, cuando los desarrolladores comparten la responsabilidad de una base de código, nadie quiere que su código sea responsable de una vulnerabilidad de seguridad masiva o falla en el flujo de datos P2P. cifrado .

Agnóstico del lenguaje y la plataforma

Una de las perspectivas más atractivas de GitHub es el hecho de que es verdaderamente agnóstico . Ya sea que un desarrollador esté creando una API centrada en REST , utilizando el poder de lenguajes cuasi-experimentales como Go , o usando lenguajes relativamente probados como Scala y Java , GitHub admite la inclusión de su aplicación.

A diferencia de otras plataformas que son "agnósticas" dentro de un ámbito ampliamente definido (es decir, agnóstico siempre que el lenguaje se compile en iOS, agnóstico siempre que el lenguaje esté principalmente centrado en dispositivos móviles, etc.), GitHub es verdadera y completamente agonista, lo que hace es una herramienta maravillosa tanto para el aprendizaje como para la innovación.

Debido a que el servicio se puede alojar de forma privada (como en el caso de Github Enterprise) o en la nube , es verdaderamente móvil y agnóstico en términos de funcionalidad básica y soporte. Además, muchos servicios se pueden vincular directamente a un repositorio de proyectos. Como ejemplo, GitHub se puede conectar a API Blueprint , lo que permite la actualización directa y automática a medida que evoluciona el proyecto.

Publicación de blog de libro electrónico de seguridad CTA 2

Beneficios generales

El mejor argumento para GitHub es realmente uno no cuantitativo: su diseño es compatible con los desarrolladores . Muchas de las características de GitHub son compatibles con el flujo de trabajo promedio de un desarrollador, lo que tiene sentido, dado que Github fue inventado por un grupo de desarrolladores de software con ideas afines .

GitHub admite datos abiertos , el concepto de que los proyectos son más poderosos cuando se expanden libremente. Github permite un mayor ecosistema de desarrolladores por su diseño. La implementación iterativa se realiza maravillosamente, ya que cada nueva confirmación se registra y se puede bifurcar en un nuevo proyecto.

Si bien se podría argumentar que estas no son ideas universalmente buenas para todos los proyectos, el simple poder del desarrollo colaborativo de código abierto dentro de un ecosistema de desarrolladores es difícil de cuantificar, pero claramente beneficioso para aquellos que desean emplearlo y aprovecharlo. Por ejemplo, muchos proveedores de API sin recursos de ingeniería infinitos pueden depender de un ecosistema próspero de bibliotecas de terceros  para ayudar a extender su API a varios lenguajes y plataformas.

Lea también: Creación de un bot inteligente con la API de Slack

Advertencias

Es cierto que para algunos desarrolladores, usar GitHub puede no ser una opción ideal. Los proyectos cubiertos por NDA ( Acuerdos de confidencialidad ), por ejemplo, generalmente no usarán cosas como Github debido a la  transparencia del sistema; aunque hay una opción de repositorio privado, esto requiere una actualización del servicio y, a menudo, no será aceptable por cuestiones de privacidad .

Incluso la documentación alojada puede ser problemática: con la capacidad de bifurcación, un usuario malintencionado podría bifurcar documentación, cambiarla y marcarla como oficial a pesar de que no lo es. No existe una forma oficial mediante la cual un repositorio pueda eliminarse de manera sumaria a través de reclamos de derechos de autor o debido a un uso malintencionado, y las solicitudes de extracción a administradores o moderadores a menudo pueden llevar mucho tiempo. Incluso si un repositorio se actualiza y se convierte en privado, todo lo que ya se haya bifurcado antes de convertirse en privado seguiría existiendo y, de hecho, sería más visible que el repositorio privado.

Conclusión

Incluso con estas advertencias, muchos casos de uso relacionados con el desarrollo y el mantenimiento de API se ajustan bien a la filosofía de GitHub. GitHub es un enfoque único hacia el desarrollo. El desarrollo individual definitivamente tiene sus beneficios: control granular y privacidad, pero la edición colaborativa , en la mayoría de los casos de uso, es un enfoque superior.

Una comunidad próspera , un potente soporte de control de versiones y un servicio de seguimiento de problemas integrado harían que esta sea una elección maravillosa por sí mismos. Agregue alojamiento de código independiente de la plataforma, una cultura de seguridad y una poderosa metodología de edición colaborativa, y no usar GitHub se convierte en una venta difícil en sí misma.

Recursos adicionales

  • Gestión de API con Github
  • Ejemplo de hospedaje de API - Basecamp
  • Alojamiento en Github de documentación de API
  • Control de versiones en repositorios de Github

Publicar un comentario

0 Comentarios