4) Tecnología escogida
Principal tecnología a Utilizar
Para el desarrollo de esta solución se
involucrarán varias tecnologías: javascript, css, html, bootstrap, jquery, nuget,
github. Las alternativas que existen de
desarrollo en frontend son muy amplias, pero hasta el día de hoy todas
requieren en algún momento de javascript pues hasta el momento sigue siendo el
único lenguaje nativo interpretado por todos los principales navegadores web[1].
GitHub es un servicio de hosting y versionamiento utilizado principalmente por
desarrolladores para publicar código, esto gracias a su servicio de
versionamiento y su potente
administrador de código fuente[2].
La publicación de la solución se haría en
Nuget, esta es una herramientas soportada por Microsoft por que los
desarrolladores puedan crear, compartir, almacenar, actualizar y consumir
código reutilizable. Esta herramienta soporta tanto código abierto como código
cerrado, lo que permite que las soluciones aportadas puedan dirigirse al
público en general como también a grupos de trabajos u organizaciones.
Básicamente Nuget almacena y comparte
proyectos mediante los paquetes nuget, estos son compilados con la extensión
.nupkg que contienen el código compilado, algunos otros archivos y un
manifiesto con información descriptiva del proyecto y la versión del proyecto[3].
Angularjs: es un framework que permite extender
las funcionalidades de html para ofrecer un formato más amplio, expresivo y
legible. Permite incluir un marcado especial en el html que se sincroniza con el javascript. No debe ser confundida con
Angular (también conocido como Angular 4), versión posterior a AngularJS que utiliza typescript en lugar de utilizar
directamente javascript. Aunque ambas herramientas comparten importantes
similitudes también son muy diferentes y no son compatibles[4].
Esta
interacción entre el html y javascript que potencia angularjs tiene su
principal ventaja en la creación de las SPA (single page application), un
concepto que permite actualizar vistas de forma
dinámica, sin tener que hacerlo de forma manual, como consecuencia
cualquier acción de la página, como cambiar de pantalla o un clic, no tienen la
consencuencia de recargar toda la aplicación, lo cuál la hace radicálmente
distinta a las metodologías tradicionales basadas en callbacks que obligaban a
recargar todo el proyecto. Este importante logro para el dinamismo de los
sitios web se hace posible gracias a la manipulación del DOM que hace
Angularjs.
El
DOM (Document Object Model) es una
interfaz de manipulación de los elementos del documento html y xml,
representando estos como nodos y objectos. Enauglar pemite, mediante sus
directivas generales hacer una manipulación dinámica de estos elementos. El DOM
es el que permite que JavaScript (y por extensión los frameworks para
javascript) pueda interactuar con el HTML y XML[5].
De esa
forma angularjs permite crear aplicación más para muchos escenarios[6].
Angularjs es mantenido por ingenieros de google, esto garantiza una significativa
y activa comunidad de desarrolladores alrededor de esta tecnología, ofreciendo
así una amplia documentación y la ayuda de ingenieros muy capacitados y por una
amplia comunidad de desarrolladores que constantemente aportan nuevas
soluciones para seguir mejorando Angularjs, en parte gracias a esto el
framework se ha mantenido vigente desde hace varios años como una de las herramientas
más comunes para desarrollos de sitios web.
[1] Japikse, P., Grossnicklaus, K.,
& Dewey, B. (2017). JavaScript Application Tools. In Building Web
Applications with Visual Studio 2017 (pp. 211-240). Apress, Berkeley,
CA. https://link.springer.com/chapter/10.1007/978-1-4842-2478-6_6
[2] Dabbish, L., Stuart, C., Tsay, J.,
& Herbsleb, J. (2012, February). Social coding in GitHub: transparency and collaboration
in an open software repository. In Proceedings of the ACM 2012
conference on Computer Supported Cooperative Work (pp. 1277-1286).
ACM. http://www.cs.cmu.edu/afs/cs/Web/People/xia/resources/Documents/cscw2012_Github-paper-FinalVersion-1.pdf
[3] Kraig Brockschmidt and Alfred
Myers. January 10, 2018. An IntroductionTo Nuget. Microsoft
Documentation. https://docs.microsoft.com/en-us/nuget/what-is-nuget
[4] de Kort, W. (2016). Creating and Sharing Packages. In DevOps on the Microsoft Stack (pp.
189-201). Apress, Berkeley, CA. https://link.springer.com/chapter/10.1007/978-1-4842-1446-6_10
[5] Jensen, S. H., Madsen, M., & Møller, A.
(2011, September). Modeling the HTML DOM and browser API in static analysis of
JavaScript web applications. In Proceedings of the 19th ACM SIGSOFT symposium and the 13th European
conference on Foundations of software engineering (pp. 59-69). ACM. https://www.thali.ch/files/Shop/Documents/013844_Chapter_4_Style_Sheet_Property_Reference.pdf
[6] Japikse, P., Grossnicklaus, K.,
& Dewey, B. (2017). JavaScript Application Tools. In Building Web
Applications with Visual Studio 2017 (pp. 211-240). Apress, Berkeley, CA. https://link.springer.com/chapter/10.1007/978-1-4842-2478-6_6
Comentarios
Publicar un comentario