Check the new version here

Popular channels

Que uso para programar sitios web [parte 2]

Como le va a la gente ? Como prometí en esta oportunidad voy a ampliar mas sobre algunas herramientas referentes a algunos de los lenguajes que mencione en la primera parte y así es como lo voy a hacer:  voy a mencionar el lenguaje como un titulo y debajo una lista de herramientas, detallando el sitio web en cada una y una breve descripción. Voy a arrancar de arriba hacia abajo Backend y luego Frontend

No son todas las cosas que sé usar a la perfección, sino mas bien las cosas con las que estuve curiociando algún tiempo.

No dejo a mano modos de aprender a usar estas herramientas mas que el link del sitio oficial porque para cada una de estas cosas hay manuales publicados a montones. Y a su vez en el sitio siempre esta la documentación oficial, que si bien puede variar la calidad de los ejemplos y esas cosas la idea es ir llenando conceptos y no otra cosa. La practica la van a ir haciendo de a poco si es que recién entran a la cancha.

Trate de ser lo mas amplio posible y no descartar ninguna pero eso en virtud es imposible, hay mucho para ver y para probar.

Recuerden que muy importante que primero se machaquen con el lenguaje, con la plataforma en cuestión. Un caso ejemplar es: primero aprender a usar python y luego aprender a usar django. Así que es recomendable que primero se lean un manual de un lenguaje (si es posible 5 manuales bien diversos y de diferentes autores) que los introduzcan y los eduquen en buenas practicas y recetas para soluciones comunes.

Por ultimo mencionar que estas no son las únicas alternativas que podes elegir, hay muchísimo mas que pueden elegir en la web. Herramientas completamente libres y algunas con enfoques completamente distintos a las que se detallan en este post.  Y otras con propocitos muy afines a lo que necesitas hacer, ya sea un blog, un ecomerce o lo que fuere. Las que presento debajo son las que se utilizan para el desarrollo multipropocito en la web.

Backend

PHP


Yii http://www.yiiframework.com/

Es uno de los frameworks MVC para PHP mas viejitos y su mecánica es algo anticuada para lo que se vive en la actualidad: argumenta que primero te enfoques en crear el esquema de datos, la base de datos y que de ahí él te va a ayudar a generar las clases que necesitas basándose en ese esquema.

Es una idea muy practica si pretendes sacar un sitio de manera ágil. Genera el CRUD, los modelos y todo lo demás de un gatillazo. No esta mal, funciona si queres sacar algo en unas cuantas horas pero no se adapta a un flujo de trabajo envolvente, digamos que funciona bien en un solo sentido ... para adelante. Reitero, es muy practico para convertir un esquema de datos en una app de manera rápida.

Tiene una guía muy completa donde le podes sacar provecho a para poder generar código a tu manera. Y a su vez comprender el código que te genera y sacarle provecho a todos sus componentes http://www.yiiframework.com/doc/guide/

Cakephp http://cakephp.org/

Es el primer framework MVC que aprendí a utilizar, al igual que yii genera el código a partir del esquema de tu base de datos. Es bastante estructurado, se maneja por convenciones solidas en cuanto a las rutas, los nombres de los controladores y de los modelos. Cuando lo arranque a usar me pareció una ventaja porque una vez que se te amoldaba el cráneo a estas convenciones casi no te fijabas donde estabas parado y codeabas bastante rápido.

Tiene ventajas como lo son soportar versiones viejas de PHP, es veloz y su template engine (que es lo que usas para maquetar) no es un metalenguaje como en otros frameworks sino que es PHP puro, lo que lo hace mas versátil en algunos casos. Admito que lo deje de usar hace como 2 años y que ahora cuando entro a la documentación me doy cuenta que a cambiado bastante por eso no me animo a ir mas adelante con los detalles.

Symfony http://symfony.com/

Puede ser que sea (dando lugar a discusión obviamente) el mejor de los mencionados en la lista de PHP. Es veterano, muy muy bien mantenido, sumamente elegante y como esta pensado para que te hagas tu propio entorno de trabajo ... te da ese espacio de libertad para que trabajes a tu manera que le añadas las cosas que necesites a medida que las necesites. Es de la rama de los frameworks que apuntan al alto desempeño, es decir que si tenes un proyecto grande y de una gran inversión, una herramienta como esta te vendría bien.

Laravel http://laravel.com

Es el que estoy usando ahora mismo y a pesar de avanzar entre versiones de una manera que ralla la inestabilidad, me ha servido de mucho. Esta basado en symfony. Tiene un desempeño mucho mas bajo que el de symfony pero lo compensa con un set de herramientas muy interesante para prosperar en un proyecto codeando, sin generar código como a montones como lo hace yii o cake. Conservando así la libertad de desarrollar a tu manera con un estilo y con un flujo de trabajo propio. Podes empezar maquetando y terminar con el esquema de datos o del modo que te parezca mas cómodo. Esta repleto de plugins, a mi parecer no esta del todo bien documentado ... me parece que una persona que recién se inicia con este tipo de herramientas si casa laravel se puede pegar tremenda perdida.

Afortunadamente hay muchos manuales y documentación en Internet que te permite aprender mas sobre como funciona y algunas buenas practicas en el proceso, como el uso de interfaces al momento de implementar clases, manejo de componentes, fachadas y servicios.

A su vez cuenta con un IRC que a toda hora esta hasta las bolas de usuarios deseosos de darte una mano. En esas ocasiones cuando tengo una duda desenfundo mi ingles de cacique - yo tener problema con service provider, porfavor ayudar me - Y en algo asi como 15 min tengo a alguien con quien charlar (si a lo que escribo califica como dialogo) y conseguimos resolver mis dudas.

Tanto con simfony como con este no te vendría mal aprender a usar git primero y saber algo sobre control de versiones y paquetes. No solo para saber como instalarte productos y esas cosas, porque eso se hace un 60% con composer, sino mas bien para que vayas aprendiendo como publicar tus propios paquetes y plugins.

Y hablando de paquetes hace poco di con este sitio que es bastante interesante:
Te permite buscar paquetes de laravel con la solucion a los problemas mas comunes como social link, manipulación de imágenes y varios chiches mas.

OctoberCMS https://octobercms.com/


Laravel esta basado en symfony y october esta basado en laravel, pucha parece que ya nadie quiere arrancar de cero. Tengo que serles honesto jamas use esta cosa, siquiera la probé. Pero me pareció muy interesante y le echaría un par de ensayos en un futuro lejano para ver que onda.

De antemano al ver la documentación veo que tiene un par de cosas interesantes, como ese tal Twig que es algo así como un template engine. Tambien se muestra bien estructurado para maquetar envolturas y plantillas de una forma ordenada.

...Que se yo si les pica pruebenlo y de ultima me cuentan como les fue.

Ruby


Ruby on Rails http://rubyonrails.org/

Jamas pude usar RoR, aprendí como usarlo, estuve meses programando entusiasmado con él y nunca lo pude usar. Nunca me salio un trabajo con un hosting que soportase ruby.

Es muy loco que estas herramientas tan geniales tengan tan poca convocatoria en el ámbito laboral. Pero me dio una valiosa lección, no te entusiasmes con algo hasta que no tengas que trabajar con eso. Por eso como consejo personal, aprendan a usar ruby, aprendan a usar RoR, pero no se entusiasmen a lo loco porque existe la posibilidad de que lo usen muy pocas veces o nunca. En vez de eso, vayan investigando y practicando en sus momentos libres y de forma paulatina.

RoR fue uno de los adelantados a su tiempo, desde los inicios arranco muy bien y hasta el día de hoy es popular entre las herramientas de backend. Cakephp y varios mas están basados en este framework, algo a destacar sobre ruby es que cuenta con una documentación maravillosa ... ejemplar me atrevería a decir. Cuenta con guías interactivas y esas cosas con las que terminas aprendiendo a usarlo en un fin de semana y podes seguir profundizando mas y mas por años. Por ej acá tienen una guía de RoR que te enseña a iniciar un proyecto y a ponerte en marcha enseguida. Obviamente lo recomendable es que se introduzcan en Ruby primero y aprendan un poco sobre él.

Sinatra http://www.sinatrarb.com/

Les confieso - Jamas use sinatra :/ - y uds diran - y que haces aconsejando tantas cosas que nunca usaste marmota !! - Y bueeeno es un post de herramientas de desarrollo web tengan un poco de piedad :<

Por lo que he podido ver de sinatra: esta basado en ruby pero usa muchos paquetes para simplificar las tareas de maquetado como sass y haml. No esta nada mal si queres hacer cosas simples (y tenes una plataforma donde correr el proyecto en produccion). Podrías (al menos en teoría) sacar un sitio de mediana/baja complejidad por semana y prosperar bastante.

Node


Express http://expressjs.com/

No tengo mucha cancha con node, pero tuve un par de intentos con este framework y la verdad que me pareció muy piola. Te hace doler un poco la cabeza las primeras horas pero le vas agarrando la mano de a poco y se pone bueno.

Obviamente te vas a hacer la del mono con este tipo de herramientas si no tenes un portafolio de clientes que exigían este tipo de tecnologías. La parte loca es que están saliendo una buena variedad de hosting que soportan aplicaciones hechas con node y como express tiene tan pocas dependencias de terceros es una buena alternativa para arrancar.

Parial http://www.partialjs.com/

Ahora bien si ya estas hasta las manos de trabajos que requieran el uso de un framework mvc para node te recomiendo pasar pagina para este lado ya que se postula para un flujo de trabajo mas serio, tiene mejor desempeño que express y si bien express tiene muy pocas dependencias este tiene un mejor manejo de las mismas. En mi cabeza, lo postulo como una herramienta para profesionales que sacan un prototipo de un sitio andando día por medio.

Sails http://sailsjs.org/

Es el mas aclamado del momento, principalmente porque esta hecho 100% en JS y porque une la vieja escuela con la nueva con soporte para base de datos MySQL y a su vez cosas que se supone que soporte como mongodb y redis.

Quedaría en vos resolver si usas partial o sails. Para mi verguenza no estoy calificado para decirte cual de los 2 es mas conveniente.

Python


dJangohttps://www.djangoproject.com/

Ya me había apenado con RoR, pero aun así me fue imposible no entusiasmarme con django afortunadamente para este me surgieron algunos trabajos y disfrute mucho haciéndolos. =)

En lo que se destaca es que se plantea el patrón MVC de una nueva manera, una forma mas modular: utiliza middelwares para manipular las dependencias, se plantea el sitio como un conjunto de aplicaciones dentro de una grande a su vez tiene una tolerancia amplia para el modo de trabajo y podes iniciar el proyecto desde donde te plazca.

Tiene un mínimo de generado de código, diría que lo justo y lo necesario y no es tan flexible como otras alternativas, pero lo cierto que en el mundo de desarrollo web con python es la alternativa mas popular de todas.

Otra cosa que tiene de interesante apartir de su popularidad es que la mayoría de las cosas que necesitas están inventadas. Al igual que laravel cuenta con un sitio que registra miles de paquetes... plugins y utilidades para lo que se te ocurra. Si ya arrancaste a trabajar con django, antes de hacer cualquier cosa te recomiendo que visites ese sitio y busques algo que tenga que ver con lo que necesites hacer y no andes reinventando la rueda al santo botón.

Otra de las ventajas de django (que es vital de mencionar si te interesa sacar sitios en un periquete) es que cuenta con un set de módulos para generar plataformas de administración del sitio. De modo que podes hacer un sitio para un cliente y si ya te plateaste el modelo de datos ya tenes la mita de la carrera ganada con la administración del sitio y te quedaría maquetar el sitio en cuestión.

En resumen te podes armar un entorno de trabajo muy ágil con django vos y un par de amigotes mas podes montar una oficina que labure de primera con este framework.

Flask http://flask.pocoo.org/

A diferencia de django, esta herramienta pertenece a la rama de micro-frameworks. Esta pensado para que diseñes tu propio entorno de trabajo a gusto y se concentra mas que nada en el manejo de solicitudes http corriendo su propio web service mediante la popular interfaz (también la usa django) llamada wsgi. Hace uso de un modesto template engine llamado ninja 2 y un buen modulo de depuración.

Es ideal para cuando queres probar una huevada del frontend sin poner en marcha todo un sistema de directorios como pasa con django.

Podes acoplar paquetes de manera mas pythonica sin tanta laraila de middelwares y esas cosas. Obviamente al no estar atado a ningún patrón de diseño si no tenes mucha idea sobre arquitecturas de software podes terminar haciendo terrible enredo de módulos aun así la propuesta esta muy buena

Tornado http://www.tornadoweb.org/

Así como flask, si te interesa hacer ensayos con websockets y esas cosas tornado es mas que útil. Se concentra mas aun que flask en el manejo de solicitudes, en el I/O y esas cosas que tanto nos gusta chusmiar a los programadores.

Digamos a amplio modo que su trabajo seria poder crear APIs autónomas. Es algo así como el nodejs de python, si vamos al caso es ideal para hacer aplicaciones de oficina que trabajen en red.

Es la herramienta que necesitas, si arrancaste con cosas como PyQt5 (aplicaciones de escritorio) y estas desarrollando un sistema de gestión que se maneja en una oficina por varias maquinas y queres armar una capa de serializacion de datos via sockets con control de acceso y demás cosas para que el usuario no acceda directamente a la base de datos desde la app hecha con PyQt.

CherryPy http://www.cherrypy.org/

Al igual que flask y tornado cheeypy continua con la gama de microframework, también esta ideal para cuando queres hacer probar un huevada referente al frontend. A su vez soporta el grupo de solicitudes REST.

Corres un web service con muy pocas lineas, tambieeeeen con sus métodos de enrutamiento y ademas como sus compañerítos te presenta la oportunidad de acoplar utilidades como el template engine o el ORM de tu preferencia y varias cosas mas.

Esta es la realidad con estos chiches, si te toca arrancar un proyecto medio a las apuradas y no tenes nada de nada hecho, no te recomiendo para nada que uses frameworks de las características de estos 3 chiflados. Ahora si tuviste un par de semanas libres y sabes que te da el talento como para armarte tu propio entorno en ese tiempo, bueno aca tenes una alternativa mas elástica.


Pyramid http://www.pylonsproject.org/

Este es uno de los que mas me a despertado fascinación, es como un punto medio entre django y los microframeworks como flask, tornado o cherry.

No te deja a pata con todo como lo hacen los otros microframeworks pero tampoco te obliga a trabajar con herramientas especificas.

Una de las características que mas destaco es que te permite separar facilmente 2 sets de configuraciones, develop (en desarrollo) o production (en produccion). A su vez como mencione antes trae la posibilidad de acoplar las utilidades con las que trabajas muy facilmente.

También te genera un sistema de archivos para arrancar tu proyecto y también te permite escribir fácilmente un instalador con su conjunto de dependencias. Es muy piola para desarrollar aplicaciones web novedosas que muchas veces requieren un comportamiento y un código muy particular.

Su filosofía es que pagues por lo que vas a comer, es decir no te vas a flipar instalando cosas que nunca vas a utilizar. Sino mas bien vas a ser el que controla las utilidades que son necesarias para correr el sitio.

Toda una ganga, les recomiendo que le echen una ojeada

bien hasta ahí estamos repletos de alternativas para el desarrollo del backend ahora pasemos a las utilidades del ...



Frontend


Es por poco que no es necesario redactar un tercer post para poder enumerar las alternativas de trabajo para el frontend aun así como vengo haciendo, voy a tratar de hablar de cosas que conozco un poco aunque sea y a su vez que sean alternativas medianamente modernas y populares.

Cabe destacar que las cosas que voy a mencionar si bien son para desarrollar mas fácil el entorno del frontend, algunas de estas corren en el backend: son compiladas allí a un lenguaje que el frontend reconoce como lo es css, html o javascript.

También destacar que hay que prestar atención en que modo dejan trabajando estas herramientas para que no afecte el desempeño de la app cuando esta esta en producción. La mayoría de estas herramientas tienen un modo de trabajo en desarrollo y luego pasan a un modo estático que es el modo en producción.

Empecemos !!!

CSS


less css http://lesscss.org/

CSS, como mencione en el post anterior, puede tornarse bastante tedioso si no lo sabes modular, pero ya sabiendo hacerlo podes hacer hojas de estilo mucho mas simples con less. Es una herramienta escrita en javascript que te permite maquetar el estilo con algunas facilidades como variables, funciones, operadores aritméticos y lógicos. Podes sumar colores, contrastarlos, evaluar mediadas y varias cosas mas.

Tiene la ventaja de trabajar tanto en el backend como en el frontend, podes hacerlo trabajar con node o añadir la librería less.js a tus dependencias en el documento y que compile a css la hoja de estilo *.less desde el frontend.

Tiene la particularidad (como mencione mas arriba) de retrasar bastante el desempeño porque bueno, javascript esta compilando la hoja less y eso prolonga un toke el plazo de procesamiento.

Pero ... pero podes guardar la hoja compilada que en definitiva es una hoja css corriente. Hay variadas maneras de hacerlo, desde una configuración en el backend o simplemente recuperándola con herramientas como lessc que si bien como ultima alternativa puede entorpecer un poco el flujo de trabajo no es una mala idea, de hecho como es un comando CLI lo podes aplicar a un conjunto de tareas de instalación =)

Stylus http://learnboost.github.io/stylus/

Otra alternativa similar a less pero que a diferencia de este ultimo solo se compila desde el backend con node. La ventaja que tiene frente a less es que es un código mucho mas limpio.

Esta muy bien documentado, y no se confundan con estas herramientas no son todas iguales, presentan paradigmas de trabajo bastante distanciados.

Cabe aclarar que esta es una de esas cosas que nunca utilice, leí como venia la mano las chusmie de arriba a abajo e inclusive las probé. Pero nunca use stylus en un proyecto y creo que nunca lo voy a hacer :/

SASS http://sass-lang.com/

Es una de las librerías para el manejo de estilo mas longevas, también solo funciona desde el backend y para colmo con ruby. Pero claro, la idea es generar las hojas de estilo compiladas a css como en el resto de los casos de modo que no es necesario que instales sass en producción =)

Se parece bastante a less que a diferencia de stylus no despegan a otro mundo con la sintaxis sino que mantienen cierta similitud, si todas las herramientas que usas no se parecen ni un poco al lenguaje que estas compilando te terminas preguntando que carajo estas leyendo en el editor
:<

Bootstrap http://getbootstrap.com/

Es un framework de maquetado que se desarrolla con less e inclusive podes implementar bootstrap y less en conjunto pero también podes optar por tener el conjunto de componentes de bootstrap ya compilados. Una de sus dependencias es jquery, una librería de javascript que menciono un poco mas adelante por si existe la remota posibilidad de que no la conozcas.

No lo uso para maquetar la parte publica de un sitio pero si suelo utilizarlo para maquetar el panel de administración de uno. Ya que es bastante rígido frente a los desafíos que nos plantean los diseñadores, lo compone un conjunto de normas de maquetado, te manejas con una grilla de 12 columnas por un numero N de filas y así podes definir anchos y altos adaptables a un gran numero de resoluciones de pantalla.

Como toda herramienta popular hay muchos que no les convence, como dije en mi caso me limito solo a desarrollar el admin de los sitios con este framework. El maquetado real lo hago con css común y silvestre.

HTML


Haml http://haml.info/

Claaaro con razon la gente aclama sinatra, podes incorporar fácilmente sass y haml, terminas, sin escribir ni html ni css.

Al igual que sass, haml es una herramienta que te permite escribir html mas lindo y por ende mas conciso, ya ahí en la home te muestra como convertir las marcas en expresiones mucho mas pavas.

Como el resto de las estas maravillas modernas viene con una buena documentación, tutoriales e inclusive (al igual que less) viene con un editor interactivo para que vayas codeando un poco sin siquiera instalar nada.

Una linda alternativa para los que se cansan de codear html... es para probarlo.

JavaScript


JQuery http://jquery.com

No es para nada novedosa, en el circulo de desarrolladores web ya estamos asquiados de esta librería, sobre todo de los sliders: levantas una piedra en internet y aparece un slider hecho en jquery que carajos les pasa mierdas !!! .... bueno bueno ya paso

Jquery es un framework que apunta a facilitar el manejo de js con funciones como selectores, manipuladores de formularios, del DOM en general, manejo de ajax, callbacks.

Es muy fácil armar plugins para esta librería, es mas que popular en el medio y tiene muy bajo peso.

No se la pierdan ...  je como si fuese posible perdérsela.

Underscore http://underscorejs.org/

Es raro, underscore tiene prácticamente la misma edad que jquery y sin embargo no es tan conocida, va yo me entere que existía mucho después ... tarde !! se podría decir.

La cosa es que hay varias operaciones comunes con js que esta librería simplifica, sobre todo el manejo de objetos y secuencias de objetos. Iterar, mapear, inducir scope de objetos terceros, linkear eventos.

Es una librería que esta muy piola, sobre todo al momento de normalizar javascript, es decir contar con las mismas utilidades en todos los navegadores. Da para que la miren y la prueben en un proyecto al menos antes de utilizar la librería que menciono a continuación.

Backbone http://backbone.org

backbone, backbone whatcha gonna do whatcha gonna do?
When they come for you?

emmm MVC del lado del cliente si señor, va no es MVC es MV* el asterisco indica que ahí puede ir cualquier maruyo en lugar de un controlador.

Backbone es un framework que emplea Modelos, Colecciones, Vistas y Rutas para desarrollar single page applications (aplicaciones en un solo documento HTML). Hace uso de ajax, de JSON y de eventos personalizados para armar apps asincronicas con muy poco código.

Tiene como dependencia directa a underscore y a jquery: jquery aporta lo suyo con sus selectores y muy poca manipulación del DOM y underscore hace casi todo lo demás .

Una de las cosas que mas aplican de underscore en backbone es el manejo de templates para representar objetos en bloques html bien prolijos.

Lo lindo de backbone es que si no te gusta el modulo de plantillas de underscore podes usar otro de tu preferencia como handlebars, mustashe o cualquier que cuele. A su vez es bastante minimalista, no resuelve todos los asuntos sino que te deja acoplar otras herramientas como validadores y esas cosas.

Marionette marionettejs.com

Con jquery y underscore se hizo backbone y con backbone y un poco de paciencia se hizo marionette.

Es un entorno un poco mas avanzado basado en backbone que simplifica tareas comunes del framework, como lo es el manejo de vistas que operan colecciones, mapeo a formularios y esas cosas. A su vez te permite centralizar los componentes de tu app de una manera mas elegante permitiendoles comunicarse entre si con un interfaz mas limpia.

Aun ... y solo aun no lo alcance a utilizar en un proyecto, pero el próximo que me toque le va a tocar el ocho a marionette.

No se la pierdan porque esta muy buena =)

D3 http://d3js.org/

A veces nos toca representar datos en de una manera poco particular, y nos toca manipular vectores SVG dentro del documento y uno ve esa .38 cargada y luego nos la llevamos lentamente a la sien sollozando y ...en que me quede?

Ahh representar datos en el documento, bueno d3 presenta muchas mas ventajas que jquery al momento de operar con elementos dentro del navegador: canvas, svg ... vos pedile y te va a dar.

La cosa es que con esta librería te van a quedar unas interfaces de puta madre si le sabes sacar provecho a todo lo que puede hacer. Y lo lindo de todo esto es que consume muy pocos recursos del navegador .. cosa que son bastante escasos.

Moment http://momentjs.com/

Manipular fechas ... que te pario jueputa, hora del atlántico, hora del pacifico pff, ganas una hora con respecto el servidor, perdes una hora. Debes mostrar el plazo de tiempo relativo a una publicación: fue hace 2 min, fue hace 2 días, fue hace un rato mientras estaba garcando. Ok ... ya fue

Esta librería te permite manipular reprecentaciones y objetos nativos de fechas en javascript con un una implementación muy simple.

Si te encanutas a hacer esas cosas a mano podes perder una mañana por eso te recomiendo que le des al menos una oportunidad a esta librería.

Angular https://angularjs.org/

Otra alternariva para implementar MVC en el backend, esta no requiere dependencias y es mas amplia que backbone.

Esta fuertemente documentada ahi nomas en el sitio con tutoriales, guías interactivas y ejemplos de apps terminadas.

Y que recomendas backbone o angular ? yyy lo que uno elija esta perfecto por eso las llamo alternativas: backbone es mas simple y te deja describir tu app mas a tu gusto y angular te ofrece un modo mas especifico de hacerlo sin dar tantas vueltas. La idea es que uno las tiene que probar y ver como le va con cada una y por lo general termina eligiendo sabiamente.

Esta es otra de las cosas que aun no utilice en un proyecto pero bueno, después de marionette ...

Require http://requirejs.org/

Todas las ideas evolucionan, javascript no es la excepción. La complejidad de las aplicaciones escritas con javascript cada vez es mayor y al ser así se las modula, es decir se las separa en módulos que son archivos de extension *.js que contienen partes especificas de la aplicación. Y esto ocurre cuando uno implementa cualquiera de las herramientas de javascript descritas en este post ya sea en el entorno de Node o en el navegador.

Estos módulos suelen formar una cadena de dependencias:
el modulo C.js depende de que B.js este cargado y este a su vez depende de que se encuentre cargado el modulo A.js

El problema surge cuando estos módulos no se cargan en el orden correcto, si se cargase primero el modulo C antes que el A y B, C fallaría en su definicion porque le faltan sus dependencias aun indefinidas.

Sin mencionar que es mas confuso ver un modulo aislado sin poder interpretar a golpe de vista cuales son sus dependencias.

De este conjunto de inconvenientes surgió la necesidad de algo como require. Te ayuda a ordenar las dependencias de un modulo, encadenarlas y asegurarnos que se carguen en el orden correcto.

Esta no les puede faltar

Polymer http://www.polymer-project.org

Bueno este chiche no creo que lo use en un futuro cercano porque .... que carajo haces con esto? jajaj

La intención básica es que te armes tus propios elementos html, esta muy fumado todo lo que podes hacer con esta cosa y no estaria de mas que lo añadan aunque sea ultimo de todo a su lista de cosas por chusmiar.

CoffeScript http://coffeescript.org/

No sabría como transmitirles con que seguridad creo que jamas jamas voy a usar coffescript jajaj. Y es una lastima porque la idea esta genial, así como haml para html o less para css, coffescript propone simplificar la sintaxis de javascript y resolver las operaciones con bastante menos código y algunas ventajas. Como utilizar un análogo del paradigma clásico de POO y varias curiosidades mas.

Pero siempre que aparece la idea en mi mente de utilizar coffescript, me repito - naaa tengo que aprender mas sobre javascript puro primero -.

En fin, no lo dejo de aconsejar, lo mio son meros prejuicios y supersticiones. La realidad es que es un proyecto con una buena creciente al que se le han redactado al menos media docena de manuales y técnicas para su buen uso.

Ok gente creo que ahí les deje varias herramientas para picotear y armarse su entorno de trabajo de pies a cabeza. Por razones obvias no pueden elegir todo jaja pero si es razonable ir probando cada una de forma muy paulatina y en periodos breves... o no. Quizá es mejor quedarse con algo que les funcione y punto como voy a saber?.

Si sigo haciendo posts de este estilo (que es lo mas seguro porque es de lo único que me gusta parlotear) voy a tratar de buenas practicas en el flujo de trabajo y esas cosas. Como es mas barato digamos, desarrollar y mantener un proyecto.

Abrazos y mucho amor !!
0
0
0
0No comments yet