Autor Tema: Ajax/Javascript/Mejores Practicas y otras hierbas  (Leído 10172 veces)

0 Usuarios y 4 Visitantes están viendo este tema.

Desconectado g00mba

  • The Communiter-
  • *
  • Mensajes: 14587
  • SOMOS LEGION
    • ALABADO SEA MONESVOL
Ajax/Javascript/Mejores Practicas y otras hierbas
« : enero 26, 2012, 08:52:39 am »
No muchacho, usted está confundido. Framework viene de algo más general que al español se podría traducir como "Entorno de trabajo" o más literalmente "marco de trabajo". Un ejemplo sencillo: el .NET Framework, es un conjunto de bibliotecas, que te dan un montón de herramientas para trabajar tus aplicaciones. Un Framework NO NECESARIAMENTE te dice como tu aplicación tiene que estar estructurada. Si bien el Visual Studio te fuerza a seguir cierta convención (separando el código de la página del código de aplicación) no es ley que vos tengas que seguir la arquitectura MVC por ejemplo.

Tu confusión debe de originarse debido a que has utilizado varios Frameworks que se basan en "convención sobre configuración" como RoR o CakePHP donde ya existe una convención de la arquitectura a utilizar para construir tu aplicación.

Obviamente existen Frameworks que no te dan un esqueleto como CakePHP. Realmente Framework es nombre genérico que se le da a una serie de bibliotecas que te ayudan a desarollar aplicaciones como mencionó g00mba arriba. Alguien podría decir que las bibliotecas de java también son un framework y no estaría demasiado equivocado.

Tal vez sería más correcto decir que un Framework puede ser un conjunto de bibliotecas distribuidas como un conjunto más que de manera individual.

Bibliotecas como jQuery están en un area gris ya que podrías considerarla "framework" porque proveen diferentes herramientas que te ayudan a programar aplicaciones escritas en Javascript (orientado a navegadores), pero también podrías considerarla como una biblioteca si la estas usando en conjunto con otras bibliotecas diferentes.
osea básicamente la idea que vos tenes sobre framework es parecida a la mia. vos podes tener un framework en una bibloteca o en veinte, con un esqueleto estructural o sin el, pero al final depende si vos las usas como bibliotecas sueltas o como realmente un framework.


Buenas, acá estoy nuevamente...
miren, a mi no me gusta presumir de cosas que no sé, si dije que manejo perfectamente ajax, es porque es cierto, sin embargo creo que usé el tono y las palabras que no debía usar, por lo general no soy nada agrandado sino todo lo contrario, la verdad es que no quiero echar más leña al fuego,
te felicito, pero no creo que nadie aqui crea que vos tenes bases sobre ajax para nada. te lo digo porque la única referencia que tenemos al respecto es ese tu post incendiario que demostró más desconocimiento que habilidad en el tema, te lo digo para que tengas en cuenta situaciones asi en el futuro y entendas porqué nuestro escepticismo. yo puedo venir y decir "yo soy un ingeniero agrónomo certificado super pro" y ni criar una planta de frijoles puedo...
el foro aguanta con lo que le queras escribir sin embargo vos podes poner mil veces que sabes ajax, igual no te vamos a creer. mejor DEMOSTRALO. hablá algo razonable. así es como se te respeta aqui.
ahora, viéndolo de otra forma en base a esto se consiguió tener un excelente post sobre ajax!
pd. la discusión NO se refiere a ajax sinó a la definición de framework y bibliotecas.

« Última Modificación: enero 26, 2012, 08:54:34 am por g00mba »

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #1 : enero 26, 2012, 09:00:06 am »
osea básicamente la idea que vos tenes sobre framework es parecida a la mia. vos podes tener un framework en una bibloteca o en veinte, con un esqueleto estructural o sin el, pero al final depende si vos las usas como bibliotecas sueltas o como realmente un framework.

Es lo malo de "enamorarse" de un framework específico, pensas que todos los demás tienen que ser como ese que te gusta a vos jajaajaja El rdoggsv es otro enamorado de RoR fasklj hflkfjas fjd ahsklasjfdas


Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #2 : enero 26, 2012, 09:15:42 am »
Pues estoy de acuerdo también en varias cosas con el_quick en sus comentarios, y que bueno ver que después de tantos comentarios en su contra mantiene la calma. Creo que si esta equivocado en el pensamiento que ajax es solo visual como lo planteo en su primer post, pero ya se retracto de eso, la idea creo que va en que la mayoría de veces ajax se ocupa para actualizar la página que estas viendo sin necesidad de cambiarla, y eso es algo que últimamente el usuario ve como "visual" porque estaba viendo una pantalla con un contenido, y luego "magicamente" cambio a otro sin refrescar completamente, a eso le agregas el hecho que muchas veces cuando esta listo el nuevo contenido a ser actualizado casi en todos lados le meten algún efecto para que vos te des cuenta que el contenido cambio y que ya no estas viendo el mismo.

Pero si que regada la actitud de el primer post de saltar demasiado a la defensiva, lo otro es que también considero cierto que no hay que cometer el mismo error que con flash, que solo porque algo lleva efectos de javascript después se lo quieren meter por todos lados, tipo como el boom de "dhtml" que ponian javascript para todo y al final quedaban unos macarronnes de enredo.

Así como hay sitios que hacen uso masivo de ajax, y de efectos javascript para brindar una gran usabilidad a los sitios, hay otros que prefieren utilzarlo poco, o no utilizar nada, y siempre pueden ser muy buenos.

Ya si estas hablando de aplicaciones web, que requieran tener una funcionalidad muy parecida a la de escritorio si estamos en otro tema, en donde el uso de ajax y javascript para muchos efectos se vuelve una necesidad :)

Desconectado g00mba

  • The Communiter-
  • *
  • Mensajes: 14587
  • SOMOS LEGION
    • ALABADO SEA MONESVOL
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #3 : enero 26, 2012, 09:21:28 am »
Ya si estas hablando de aplicaciones web, que requieran tener una funcionalidad muy parecida a la de escritorio si estamos en otro tema, en donde el uso de ajax y javascript para muchos efectos se vuelve una necesidad :)
en ese aspecto, creo que Spry lleva bastante ventaja sobre los otros.

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #4 : enero 26, 2012, 09:23:07 am »
en ese aspecto, creo que Spry lleva bastante ventaja sobre los otros.

Por que lo decis g00mba ?

Te pregunto porque no soy cliente frecuente de adobe, y siempre en lecturas que hago para refrescar conocimientos, nunca encuentro mencionado spry como una gran cosa o algo que deba de revisar
« Última Modificación: enero 26, 2012, 09:25:26 am por rdoggsv »

Desconectado hkadejo

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 3345
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #5 : enero 26, 2012, 09:25:35 am »
en ese aspecto, creo que Spry lleva bastante ventaja sobre los otros.

Ext Js...tambien es una opcion a considerar, aunque el unico contra que le veo es que la version mas poderosa es la de pago.
http://www.sencha.com/products/extjs

Desconectado moyo18

  • The Communiter-
  • *
  • Mensajes: 1719
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #6 : enero 26, 2012, 09:28:56 am »
para paginacion uso PAGER, y me gusta porq lo puedo usar con PDO

http://xtremenews.info/2011/03/30/paginacion-sencilla-en-php-usando-pager-y-pdo/

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #7 : enero 26, 2012, 09:34:08 am »
Ext Js...tambien es una opcion a considerar, aunque el unico contra que le veo es que la version mas poderosa es la de pago.
http://www.sencha.com/products/extjs

Pues por $329 sin incluir el soporte no está así como extremadamente caro. Digamos si haces una aplicacion para un cliente podes incluirle el precio de su licencia.
« Última Modificación: enero 26, 2012, 09:37:01 am por mxgxw »


Desconectado Vwarlock

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 1905
  • Go find your own truth and let the others be
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #8 : enero 26, 2012, 09:34:57 am »
Que bonito darse cuenta uno de su propia ignorancia. Esto nos ayuda a motivarnos más por aprender y ver mas allá de nuestras narices :)

Desconectado g00mba

  • The Communiter-
  • *
  • Mensajes: 14587
  • SOMOS LEGION
    • ALABADO SEA MONESVOL
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #9 : enero 26, 2012, 09:47:36 am »
Por que lo decis g00mba ?

Te pregunto porque no soy cliente frecuente de adobe, y siempre en lecturas que hago para refrescar conocimientos, nunca encuentro mencionado spry como una gran cosa o algo que deba de revisar
yo tampoco soy fan de adobe, sin embargo, spry es de uso libre si queres incorporarlo en tus apps. OJO que la ventaja de SPRY es solamente cuando estamos hablando de RIA, en otras palabras, su fuerte es la estética de la aplicación y la estética y simplicidad del código.

tiene todo lo estándard de un framework moderno como el manejo de data set, widgets para presentación de los datos, etc. pero la ventaja que le veo es la misma que tiene dreamweaver: está elegantemente implementado, y estéticamente, te queda un muy buen código por lo general, limpio y sencillo, osea tiene un nivel de abstracción de funciones bastante alto, incluso para peticiones json.

tiene ventaja en el sector profesional primero por ser el por defecto de dreamweaver (eso creo que influencia mas a los diseñadores/fans de adobe que a los programadores de hueso colorado que les gusta con pala y piocha) pero habiendolo usado un par de veces, es MUY intuitivo y la integracion con DW es impecable, es realmente divertido sencillo y rápido hacer ondas con spry.  con la integración a pata en otros IDE no puedo hablar, pero cuando menos ha de ser igual de buena que jquery si no es que mejor.

ademas, siguiendo en el tema de las RIA *creo* que es más directa la transición de una webapp con spry a un standalone desktop app con adobe air.
« Última Modificación: enero 26, 2012, 09:49:46 am por g00mba »

Desconectado JaiMe

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 1485
  • λ | h+
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #10 : enero 26, 2012, 02:31:47 pm »
Empiezo diciendo que voy a seguir usando los términos en ingles. Vivo en gringolandia EEUU, trabajo aqui y aprendo aqui. Hay términos que me toma tiempo asociar en español, ambito con scope por ejemplo. No tomen mi uso de términos en ingles como una imposición cultural u otra idea rara, sino mas bien una manera de mantener precision de lo que digo.

No muchacho, usted está confundido. Framework viene de algo más general que al español se podría traducir como "Entorno de trabajo" o más literalmente "marco de trabajo". Un ejemplo sencillo: el .NET Framework, es un conjunto de bibliotecas, que te dan un montón de herramientas para trabajar tus aplicaciones. Un Framework NO NECESARIAMENTE te dice como tu aplicación tiene que estar estructurada. Si bien el Visual Studio te fuerza a seguir cierta convención (separando el código de la página del código de aplicación) no es ley que vos tengas que seguir la arquitectura MVC por ejemplo.

Tu confusión debe de originarse debido a que has utilizado varios Frameworks que se basan en "convención sobre configuración" como RoR o CakePHP donde ya existe una convención de la arquitectura a utilizar para construir tu aplicación.

mx, siempre me ha llamado la atención la certeza con la que saltas a decir que alguien se equivoca y nitpick ciertos detalles y hacer a hell lot of assumptions. No voy a responder todos tus puntos, algunos los estas trayendo como si solo quisieras mostrar que andas en la jugada.

Por ejemplo, empezas diciendo que un framework se podría traducir como un entorno de trabajo, lo cual suena bastante a lo que un IDE hace y ocupas a visual studio como ejemplo, nota como si yo siguiera tu estilo de comunicación, I'd nitpick este detalle y te diria  "marachito, estas confundido [blah blah historia no tan necesaria]... " y terminaria haciendo un assine comment sobre como visual studio rots the mind. Sin embargo IMHO tales maniobras no son necesarias.

Obviamente existen Frameworks que no te dan un esqueleto como CakePHP. Realmente Framework es nombre genérico que se le da a una serie de bibliotecas que te ayudan a desarollar aplicaciones como mencionó g00mba arriba. Alguien podría decir que las bibliotecas de java también son un framework y no estaría demasiado equivocado.

Tal vez sería más correcto decir que un Framework puede ser un conjunto de bibliotecas distribuidas como un conjunto más que de manera individual.

Esa idea de framework es bastante simplista y el decir que CakePHP no te da el esqueleto suena naive. Lee mi post otra ves, y vas a encontrar esto "pero la característica a notar es que esta capa oculta y controla el flujo de ejecución."  La palabra clave es flujo de ejecución. Hay frases bien simplistas que ayudan a entender la diferencia entre framework y libreria, la que mas me gusta es una llamada the Hollywood Principle "Don't call us, we call you", lo cual ejemplificaría como las capas de abstracción proveídas por el framework proveen patrones que controlan el comportamiento de tu aplicación. En otras palabras "you call a library, a framework calls you."


"Unless you try to do something beyond what you have already mastered, you will never grow."
― Ralph Waldo Emerson

Desconectado JaiMe

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 1485
  • λ | h+
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #11 : enero 26, 2012, 02:46:42 pm »
Ya si estas hablando de aplicaciones web, que requieran tener una funcionalidad muy parecida a la de escritorio si estamos en otro tema, en donde el uso de ajax y javascript para muchos efectos se vuelve una necesidad :)

Las distinciones a notar son

* Sitio web
* Aplicación web
* Single page app

La tercera es el tipo de apps que yo hago, donde todo la comunicación con el servidor es con ajax o websockets.

en ese aspecto, creo que Spry lleva bastante ventaja sobre los otros.

Ext Js...tambien es una opcion a considerar, aunque el unico contra que le veo es que la version mas poderosa es la de pago.
http://www.sencha.com/products/extjs

Yo no usaria ninguna de esas dos. Quizas vivo en una burbuja de startup land, pero nadie que conosco usaria esas librerías. Mis recomendaciones son Ember.js o Backbone.js. 

"Unless you try to do something beyond what you have already mastered, you will never grow."
― Ralph Waldo Emerson

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #12 : enero 26, 2012, 02:52:12 pm »
Single page app no sería como una subcategoría de aplicación web? pues si las ves en macro son sitios web y aplicaciones web, en cuantas páginas lo dividas sería semi relativo al hecho de decir multiple page web apps, single page web apps, o que se yo.

Y podrías profundizar en las recomendaciones de Ember.js o Backbone.js me interesa el tema, pero estoy un poco lejos de conocimiento acerca de pros y contras, que sería interesante algo así como un mini comparativo para ver en cual conviene invertir un par de horas :)

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #13 : enero 26, 2012, 03:18:44 pm »
Empiezo diciendo que voy a seguir usando los términos en ingles. Vivo en gringolandia EEUU, trabajo aqui y aprendo aqui. Hay términos que me toma tiempo asociar en español, ambito con scope por ejemplo. No tomen mi uso de términos en ingles como una imposición cultural u otra idea rara, sino mas bien una manera de mantener precision de lo que digo.

mx, siempre me ha llamado la atención la certeza con la que saltas a decir que alguien se equivoca y nitpick ciertos detalles y hacer a hell lot of assumptions. No voy a responder todos tus puntos, algunos los estas trayendo como si solo quisieras mostrar que andas en la jugada.

Por ejemplo, empezas diciendo que un framework se podría traducir como un entorno de trabajo, lo cual suena bastante a lo que un IDE hace y ocupas a visual studio como ejemplo, nota como si yo siguiera tu estilo de comunicación, I'd nitpick este detalle y te diria  "marachito, estas confundido [blah blah historia no tan necesaria]... " y terminaria haciendo un assine comment sobre como visual studio rots the mind. Sin embargo IMHO tales maniobras no son necesarias.

Esa idea de framework es bastante simplista y el decir que CakePHP no te da el esqueleto suena naive. Lee mi post otra ves, y vas a encontrar esto "pero la característica a notar es que esta capa oculta y controla el flujo de ejecución."  La palabra clave es flujo de ejecución. Hay frases bien simplistas que ayudan a entender la diferencia entre framework y libreria, la que mas me gusta es una llamada the Hollywood Principle "Don't call us, we call you", lo cual ejemplificaría como las capas de abstracción proveídas por el framework proveen patrones que controlan el comportamiento de tu aplicación. En otras palabras "you call a library, a framework calls you."

Hace algunos años cuando todavía estaba en la U hicimos algo que tu podrías llamar Framework de juegos, era un programita muy sencillo que tenía una API con unas cuantas interfaces que tu tenías que heredar para definir varias clases que controlaran la lógica del juego , la parte gráfica y la multimedia (¿Te suena similar a un a Framework?). Para esos días no se había puesto de moda la palabra (hace casi 10 años ya) y la bautizamos simplemente como "API de Juegos".

Al punto que quiero llegar  y es donde estoy en desacuerdo con vos y con las referencias que pusiste. Que un Framework es la capa de abstracción, que en este caso puede o no controlar el flujo de ejecución. Y de capas de abstracción las hay en distintos niveles, por lo que no es correcto decir que un Framework es única y exclusivamente aquel que cuenta con las características de por ejemplo RoR o CakePHP.

Te sugeriría que leyeras otra vez mi comentario porque en ningún momento he dicho que CakePHP no te da un esqueleto, tal vez la redacción es un poco confusa, a donde dice:

Obviamente existen Frameworks que no te dan un esqueleto como CakePHP.

Debería haberse leído:

Obviamente existen Frameworks que no te dan un esqueleto como lo hace CakePHP.

Yo puedo venir, definir algunas convenciones de diseño y montar una API que facilite cierta tarea. Puede que la diseñe de tal manera que controle el flujo de ejecución o no. ¿A donde termina un Framework y comienza una API? Si bien estoy de acuerdo en que el framework es algo más grande que una api o una biblioteca, no estoy de acuerdo con tu aseveración (o de tu referencia) de que todo lo que no controle el flujo de ejecución no es un framework.


Desconectado JaiMe

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 1485
  • λ | h+
Re: Ajax/Javascript/Mejores Practicas y otras hierbas
« Respuesta #14 : enero 26, 2012, 03:45:56 pm »
Single page app no sería como una subcategoría de aplicación web? pues si las ves en macro son sitios web y aplicaciones web, en cuantas páginas lo dividas sería semi relativo al hecho de decir multiple page web apps, single page web apps, o que se yo.

Y podrías profundizar en las recomendaciones de Ember.js o Backbone.js me interesa el tema, pero estoy un poco lejos de conocimiento acerca de pros y contras, que sería interesante algo así como un mini comparativo para ver en cual conviene invertir un par de horas :)


Las aplicaciones web todavia sigen el paradigma de pagina web mientras que las single page apps siempre son solo una pagina y asemejan bastante a las desktop apps.

Facebook es una web app
Gmail es una single page app

La pregunta es bastante broad. Que queres hacer? Mi opinion es que ignores Spry y Extjs por completo y aprendas Backbone.js

Backbone es bastante low level, solo te da la estructura y te da un framework para implementar el MVC pattern y tambien incluye Underscore.js como dependencia - esta ultima es una poderosa libreria con un montón de functional constructs (map, reduce, filter). Extjs - al parecer tambien spry - te dan widgets y un montón de cosas preconfiguradas (design by configuration), lo cual siento que es una limitación.

Dame una idea de que es lo que queres hacer. No caería mal crear un pequeño tutorial que sirva de introducción al mundo profesional de client side apps.
"Unless you try to do something beyond what you have already mastered, you will never grow."
― Ralph Waldo Emerson