viernes, 8 de junio de 2018

Herramienta GitHub.



INTRODUCCIÓN


La metodología RAD surge como predecesora a las metodologías ágiles y con ella se desarrollaron distintas herramientas automatizadas basadas en sus características y beneficios.

En este documento analizaremos que es lo que caracteriza a la herramienta GitHub como una ajustable a la metodología RAD para el desarrollo rápido de proyectos.

Primero hay que mencionar que Git es un sistema de control de versiones distribuido, gratis, open source, rápido y eficiente y Github es una plataforma web para alojar repositorios de código usando el sistema de Git.



Índice


ANTECEDENTES.. 4
DESCRIPCIÓN.. 5
ESTRUCTURA.. 5
FUNCIONES.. 6
RELACIÓN CON LA METODOLOGÍA RAD.. 7
EJEMPLO DE OPERACIÓN DE LA HERRAMIENTA GITHUB. 7
CONCLUSIONES. 8
BIBLIOGRAFÍA.. 10




ANTECEDENTES


Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente. Su propósito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos.

El núcleo de Linux es un proyecto de software de código abierto con un alcance bastante grande. Durante la mayor parte del mantenimiento del núcleo de Linux (1991-2002), los cambios en el software se pasaron en forma de parches y archivos. En 2002, el proyecto del núcleo de Linux empezó a usar un DVCS propietario llamado BitKeeper.

En 2005, la relación entre la comunidad que desarrollaba el núcleo de Linux y la compañía que desarrollaba BitKeeper se vino abajo, y la herramienta dejó de ser ofrecida gratuitamente. Esto impulsó a la comunidad de desarrollo de Linux (y en particular a Linus Torvalds, el creador de Linux) a desarrollar su propia herramienta basada en algunas de las lecciones que aprendieron durante el uso de BitKeeper. Algunos de los objetivos del nuevo sistema fueron los siguientes:


  • ·         Velocidad
  • ·         Diseño sencillo
  • ·         Fuerte apoyo al desarrollo no lineal (miles de ramas paralelas)
  • ·         Completamente distribuido
  • ·    Capaz de manejar grandes proyectos (como el núcleo de Linux) de manera eficiente (velocidad y tamaño de los datos).



Desde su nacimiento en 2005, Git ha evolucionado y madurado para ser fácil de usar y aún conservar estas cualidades iniciales. Es tremendamente rápido, muy eficiente con grandes proyectos, y tiene un increíble sistema de ramificación (branching) para desarrollo no lineal


DESCRIPCIÓN


         Monitorea los cambios que se hacen en un proyecto.
         Fácil corrección de errores

 Estados:

*Working directory: se edita y se trabaja con el código.
*Staging Area: se eligen archivos que ya estén listos.
*Registro del proyecto

ESTRUCTURA


Github trabaja con Git.Lo que hace diferente a Git es cómo modela sus datos. La mayoría de los demás sistemas almacenan la información como una lista de cambios en los archivos. Estos sistemas (CVS) modelan la información que almacenan como un conjunto de archivos y las modificaciones hechas sobre cada uno de ellos a lo largo del tiempo.

En cambio, Git modela sus datos más como un conjunto de fotografías de un mini sistema de archivos. Cada vez que confirmas un cambio, o guardas el estado de tu proyecto en Git, él básicamente hace una foto del aspecto de todos tus archivos en ese momento, y guarda una referencia a esa fotografía. Para ser eficiente, si los archivos no se han modificado, Git no almacena el archivo de nuevo, sólo un enlace al archivo anterior idéntico que ya tiene almacenado.

La herramienta de Github, esta básicamente estructurada por una ventana de cambios en donde, cada vez que se haga un cambio al código del proyecto aparecerá una notificación y a la vez podrás visualizar cuales fueron esos cambios.

También está la ventana de historial, donde tendrás el repositorio de todas las versiones que se han creado, y podrás consultar cada una.



FUNCIONES


Github tiene la función de alojar tu repositorio de código y te brinda herramientas muy útiles para el trabajo en equipo, dentro de un proyecto. De igual manera, posee un estupendo visor de código mediante el cual, a través del navegador, podemos consultar en un instante el contenido de un determinado fichero.

Se puede contribuir a mejorar el software de los demás. Para poder alcanzar esta meta, GitHub provee de funcionalidades para hacer un fork y solicitar pulls.

Realizar un fork es simplemente clonar un repositorio ajeno (genera una copia en tu cuenta), para eliminar algún bug o modificar cosas de él. Una vez realizadas tus modificaciones puedes enviar un pull al dueño del proyecto. Éste podrá analizar los cambios que has realizado fácilmente, y si considera interesante tu contribución, adjuntarlo con el repositorio original.

Permite que otros desarrolladores que forman parte de la comunidad dejen comentarios sobre un código particular mediante su función “Reviews”. De esta manera, el mismo autor del proyecto puede dejar un comentario solicitando ayuda y recibir respuestas de la comunidad. O alguna otra persona ha notado cierto error en el código, puede detallarlo en comentarios para que se resuelva.

De igual forma ofrece reviews ofrece una manera de protección de cambios en tus proyectos. Como administrador de un proyecto puedes configurar los repositorios de tal forma que antes de fusionar Pull Requests éstas tengan al menos una aprobación y ninguna solicitud de cambios por parte de otros miembros.

En el aspecto de seguridad, debido a que GitHub es una comunidad es esencial ingresar con un usuario y contraseña, además de tener un perfil. Pero con el paso del tiempo, debido a la gran popularidad que ha adquirido GitHub puede ser considerado también como una tarjeta de presentación. Teniendo esto en mente, se han mejorado ciertas funciones en la sección de “Profiles” que permiten a cualquier persona visualizar mejor los proyectos y experiencia del desarrollador.

Como desarrollador dentro de la comunidad de GitHub puedes colocar los proyectos en los que has trabajado como favoritos y aparecerán de forma destacada dentro de tu perfil. De esta forma, puedes escoger los proyectos más representativos según tu área de especialización.
Asimismo, hay una línea de tiempo que muestra de forma visual cuantas contribuciones has realizado en diferentes proyectos para verificar tu grado de actividad, sin mencionar que hay una breve historia de las acciones relevantes realizadas dentro de GitHub mes a mes.
Sin duda alguna es una gran adición para cualquier desarrollador que quiere darse a conocer mediante GitHub.




RELACIÓN CON LA METODOLOGÍA RAD


Esta herramienta nos ayuda a una parte esencial de la metodología ágil ya que genera lo que son las entregas continuas al cliente para que esté enterando del avance que se lleva al respecto y pueda ver la fase del proyecto y si en algún momento ve que algo no concuerda con lo que tiene en mente se puede generar un cambio sin afectar a todo lo que ya se lleva de adelanto en el proyecto.

Es una herramiento que al igual ayuda a la documentación del proceso ya que permite agregar una descripción del proyecto que se aprecia en el directorio casa del repositorio online lo cual ayuda a que si alguien nuevo llega puede ver la arquitectura y el flujo de trabajo bajo el cual se está desarrollando el proyecto.

Los desarrolladores profesionales según la página StackOverFlow el %88.4 prefieren el uso de la herramienta git para llevar el manejo de las versiones de un proyecto al igual que para conjuntar su sistema centralizado y sea más eficiente el despliegue del aplicativo lo cual en una metodología como lo es RAD ayuda mucho al desempeño de esta metodología.



EJEMPLO DE OPERACIÓN DE LA HERRAMIENTA GITHUB.


La página Github ofrece un tutorial sobre las funciones principales que ofrece la herramienta para poder levantar subir un ejemplo de un proyecto, los pasos que ofrece este curso son:

         Inicialización de un repositorio
         Aprender a visualizar si tienes cambios en el repositorio
         Aplicar un commit y después subirlo a la plataforma
         Subir archivos individuales y por conjunto
         Obtener el historial de trabajo
         Bajar cambios del repositorio Online
         Subir cambios
         Diferencias entre archivos
         Deshacer los cambios


Después de hacer este tutorial es recomendable leer a fondo la documentación oficial de git para poder descubrir más comandas para poder hacer más eficiente en la práctica al igual que te permite ver de forma gráfica como es el árbol de versiones que se van generando por cada comando que ejecutes al igual que te permite especializarte en saber cumplir con las actividades.


CONCLUSIONES


Es una herramienta que ofrece bondades para el manejo de versiones de un proyecto entre las cuales nos permite recuperar los contenidos pasados de un archivo.
Dónde puede que estos cambios hayan sido diferentes en un largo tiempo.
Una característica importante es el control minucioso sobre ese proceso, lo que le permite al final recopilar los pensamientos de la forma que el equipo prefiera para presentar sus ideas al público.
Al igual que el tiempo de ahorro que conlleva todo este proceso es la mejor forma en la que tu puedes agilizar el proceso de desarrollo y mejor en el aspecto de mantenibilidad y escalabilidad.

Git junto con Github te permite hacer todas estas cosas, y con relativa facilidad

Ajustándose así a la metodología RAD al cumplir con:

-Permite que la productividad del usuario aumente considerablemente.
-La vida útil del sistema también aumenta
-Distinguido equipo de desarrollo.
-Mecanismos de administración de proyectos
-Técnicas que apoyen el desarrollo.
-Uso de notaciones para llevar a cabo el modelo lógico. Herramientas CASE.
-Desarrollo de Prototipos para hacer una proyección de la aplicación.
-Ser muy rápido.
-Permite trabajar en el a varias personas a la vez
-Mayor flexibilidad.
-Menor codificación manual.
-Ciclos de desarrollo más pequeños.
-uso de interfaz gráfica estándar.
-Los entregables pueden ser fácilmente trasladados a otra plataforma.
-Visibilidad temprana.
-Funciones reducidas (por "timeboxing").

BIBLIOGRAFÍA


     Git. Fundamentos de Git. Recuperado de: https://git-scm.com/book/es/v1/Empezando-Fundamentos-de-Git
     Git. Una breve historia de Git. Recuperado de: https://git-scm.com/book/es/v1/Empezando-Una-breve-historia-de-Git
     Wikipedia. (2018). Git. Recuperado de: https://es.wikipedia.org/wiki/Git
     8 Razones por las que debes usar Git. Recuperado de : https://blog.coffeedevs.com/8-razones-para-usar-git/
     Git From the bottom Up. Recuperado de: https://jwiegley.github.io/git-from-the-bottom-up/5-Conclusion.html
     Apuntes-mads. Recuperado de: https://github.com/domingogallardo/apuntes-mads/blob/master/sesiones/07-git-workflows/git-workflows.md
     Introducción a GitHub. Recuperado de : http://conociendogithub.readthedocs.io/en/latest/data/introduccion/
     Guia rápida de GitHub. Recuperado de : http://wikis.fdi.ucm.es/ELP/Gu%C3%ADa_r%C3%A1pida_de_Github
     Nuevas funciones de GitHub que alientan a los desarrolladores a trabajar en equipo. Recuperado de : http://blog.aulaformativa.com/nuevas-funciones-de-github-desarrolladores-trabajar-en-equipo/

No hay comentarios:

Publicar un comentario