Apiumtech Apiumtech Apiumtech Apiumtech
  • ABOUT US
    • CAREERS TEAM
    • PARTNERS
  • SERVICES
    • WEB & MOBILE APP DEVELOPMENT
    • IT TRAINING & CONSULTANCY
    • SOFTWARE ARCHITECTURE
    • UX DESIGN
    • SPRINT ZERO
  • PROJECTS
  • BLOG
  • CONTACT US
Apiumtech Apiumtech
  • ABOUT US
    • CAREERS TEAM
    • PARTNERS
  • SERVICES
    • WEB & MOBILE APP DEVELOPMENT
    • IT TRAINING & CONSULTANCY
    • SOFTWARE ARCHITECTURE
    • UX DESIGN
    • SPRINT ZERO
  • PROJECTS
  • BLOG
  • CONTACT US
Nov 20

Integración de RequireJS con AngularJS

  • 11/20/2014
  • Evgeny Predein evgeny
  • No Comments
  • Agile web and app development
  • Agile development, AngularJS, Casos de uso, Javascript, Requirejs

Recientemente, en Apiumtech, nos entró un proyecto para hacer una página web que, según el diseño era bastante dinámica. Después de investigar y probar backboneJS, dimos con un framework bastante nuevo llamado AngularJS. Esta preciosidad, hecha por los chicos de Google nos ha enamorado por la facilidad de uso y la potencia a la hora de gestionar el código. Unánimemente decidimos crear la aplicación con este framework, que apunta a tener futuro y un fuerte impacto en esta nueva era de javascript.

Como en informática no se puede predecir al 100% las complicaciones con las que te vas a encontrar, nosotros también nos dimos de morros con el hecho de tener tantos archivos javascript separados. Aunque angular gestiona las dependencias y no empieza la ejecución hasta que tenga todo lo que necesita, el tiempo de respuesta del servidor era demasiado lento.

EXPLIQUEMOS MEJOR EL PROBLEMA

“Cualquier aplicación grande precisa de un empaquetador, una herramienta que te permita unificarlo todo y, si puede ser, comprimirlo. Cuando hablamos de aplicación web, dicha herramienta tiene una importancia mayor.”

VEÁMOS MAS EN DETALLE

Cuando un navegador accede a una pagina web, hay una petición por cada archivo necesario para la visualización del contenido. Y si tenemos n archivos javascript, se harán n peticiones. Y lo peor de todo es que no tenemos control sobre el orden en el se que descargan, ya que algunos pueden (en muchos casos) tener dependencias entre ellos.

Con Angular no teníamos el problema de las dependencias, siempre y cuando utilizáramos los modules suyos. Pero en cuanto queríamos incluir un archivo externo, resultaba ser un problema. Aquí es donde encontramos a otra perla llamada RequireJS.

“RequiereJS permite no solo empaquetar tus archivos javascript y css, sino minimizarlos, especificar las dependencias y exportar e importar módulos javascript como si fueran clases de java o de cualquier otro lenguaje de programación orientado a objetos.”
Todo pintaba muy bien, pero la integración entre los dos frameworks no es sencilla.

VAYAMOS POR PARTES

Para integrar requiereJS en una aplicación Angular no basta solo con instalarlo y empezar a “requerir” tus archivos tal y como lo tienes. Tendrás que adaptar tu código. Este es un buen punto donde pararse a pensar si vale la pena hacerlo o no. El cambio no es que sea muy costoso (los tests será lo mas problemático), pero te obliga a trabajar de una determinada manera y, de por si, crea una fuerte dependencia.

En las próximas entregas vamos a explicar como instalar RequireJS, configurarlo, integrarlo con angularJS sin perder la opción que nos facilita angular con sus “modules” y como modificar y/o crear tests.
Al final veremos como nuestra aplicación se vuelve mas manejable, escalable y de fácil mantenimiento. Separaremos diferentes partes del código en módulos de angular y de RequireJS para poder implementar cualquier patrón que nos sea necesario.

  • Facebook
  • Twitter
  • Reddit
  • Pinterest
  • Google+
  • LinkedIn
  • E-Mail

About The Author

Related Posts

  • Simulate server responses with NodeJS12/21/2015
  • Why microservices are a good idea12/18/2015
  • Agile project management benefits12/07/2015
  • Junior software developer12/05/2015

Leave a reply

You must be logged in to post a comment.

JOIN OUR NEWSLETTER

Receive our publication right in your email.





Sending ...

Categories

  • Agile web and app development
  • Apiumtech
  • Events
  • Jobs
  • Offshoring and outsourcing
  • Software architecture
  • Technology industry trends
  • Uncategorized
  • User Experience Design
apiumtech.com Apiumtech is an agile software development company offering services of software architecture, web development, mobile app development, IT consulting, user experience design, bigdata and blockchain

LATEST NEWS

  • Hello world!
  • User experience design infographic
  • Apiumtech’s monthly Newsletter
  • 8 Digital marketing trends in 2016

JOIN OUR NEWSLETTER

    CONTACT INFO

    Av. Doctor Mitjavila 5
    AD500 Andorra la Vella
    Principat d’Andorra
    (+376) 692 2881
    info@apiumtech.com
    © 2022 APIUMTECH SLU. ALL RIGHTS RESERVED.