{"id":3226,"date":"2013-12-06T09:00:15","date_gmt":"2013-12-06T08:00:15","guid":{"rendered":"https:\/\/blogs.ua.es\/pi\/?p=3226"},"modified":"2013-12-04T17:27:33","modified_gmt":"2013-12-04T16:27:33","slug":"como-competir-con-esto","status":"publish","type":"post","link":"https:\/\/blogs.ua.es\/pi\/2013\/12\/06\/como-competir-con-esto\/","title":{"rendered":"\u00bfC\u00f3mo competir con esto?"},"content":{"rendered":"<p>Recientemente recib\u00ed este correo:<\/p>\n<blockquote><p>Quer\u00eda aprovechar la ocasi\u00f3n para hacerle una pregunta que me ronda por la cabeza. A partir, de los anteriores videos y usando el framework de Bootstrap realice pruebas dise\u00f1ando una p\u00e1gina Web. Tras esto, y en el punto en el que deb\u00eda incorporar c\u00f3digo para la validaci\u00f3n de los usuarios contra la BD, cargar noticias, es decir, darle funcionalidad me surgi\u00f3 la siguiente duda. Existen herramientas como Joomla basadas en templates que automatizan todo el desarrollo de p\u00e1ginas Web a\u00f1adiendo m\u00f3dulos sobre las plantillas que hacen mucho del trabajo que debemos realizar a la hora de desarrollar una Web, \u00bfC\u00f3mo competir con esto?, Cual es su opini\u00f3n sobre este tema. (Al final el usuario valora lo que ve no lo que hay detr\u00e1s)<\/p><\/blockquote>\n<p>\u00bfC\u00f3mo competir con esto?<\/p>\n<p>Esta es una cuesti\u00f3n que me plantean incluso mis alumnos alguna vez, \u00bfpor qu\u00e9 estudiar HTML, CSS, JavaScript y PHP? \u00bfPor qu\u00e9 no estudiar un gestor de contenidos como Joomla, Drupal o WordPress? Se pueden hacer webs mejores, en menos tiempo, etc.<\/p>\n<p>En primer lugar, tanto en mis clases en la universidad como en el curso <a href=\"http:\/\/idesweb.es\/\">iDESWEB<\/a>, yo lo que ense\u00f1o es a desarrollar aplicaciones web. Lo que yo ense\u00f1o te permitir\u00eda crearte tu propio framework, como Codeigniter o\u00a0Symfony, o incluso tu propio gestor de contenidos como Joomla, Drupal o WordPress. Aunque existan esas herramientas, tambi\u00e9n tiene que existir alguien que cree y mantenga esas herramientas. Por tanto, aprender a programar con HTML, CSS, JavaScript y PHP es necesario, hace falta gente que sepa.<\/p>\n<p>Un gestor de contenidos no es la panacea, no es la soluci\u00f3n para todos los problemas. Desgraciadamente, mucha gente aprende algo y se cree que eso es la soluci\u00f3n para todo. El <a href=\"https:\/\/en.wikipedia.org\/wiki\/One_size_fits_all\">one size fits all<\/a> pocas veces existe en ingenier\u00eda. S\u00ed, existen plugins para los gestores de contenidos que te permiten hacer muchas cosas sin tener que bajar a bajo nivel, sin tener que programar, pero otra vez volvemos a lo mismo: alguien tiene que programar esos plugins. Y muchas veces el plugin no se adapta exactamente a lo que necesitas y tienes que implementar ciertas modificaciones o adaptaciones.<\/p>\n<p>Un gestor de contenidos es muchas veces matar moscas a ca\u00f1onazos. En la entrada sobre <a href=\"https:\/\/es.wikipedia.org\/wiki\/Efectividad\">efectividad<\/a> en la Wikipedia lo explican muy bien:<\/p>\n<blockquote><p>La efectividad es la capacidad de lograr un efecto deseado, esperado o anhelado. En cambio, eficiencia es la capacidad de lograr el efecto en cuesti\u00f3n con el m\u00ednimo de recursos posibles viable.<br \/>\nEjemplo: matar una mosca de un ca\u00f1onazo es eficaz (o efectivo: conseguimos el objetivo) pero poco eficiente (se gastan recursos desmesurados para la meta buscada). Pero acabar con su vida con un matamoscas, aparte de ser eficaz es eficiente.<\/p><\/blockquote>\n<p>Con los conceptos de eficaz y efectivo llegamos a la madre del cordero: un gestor de contenidos, como Joomla, Drupal o WordPress, consume muchos recursos. \u00bfCu\u00e1ntos? Muchos&#8230; Una vez encontr\u00e9 una p\u00e1gina web en la que se comparaba el tiempo de mostrar un mensaje como \u00abHello world!\u00bb con un HTML est\u00e1tico, con un PHP que ejecuta echo \u00abHello world!\u00bb y con WordPress que tiene una entrada que muestra \u00abHello world!\u00bb. La diferencia de consumo de recursos y de tiempo de ejecuci\u00f3n era abismal entre WordPress y las otras dos opciones.<\/p>\n<p>Desgraciadamente, no puedo encontrar esa p\u00e1gina otra vez, pero s\u00ed que conozco algunas p\u00e1ginas que hacen la misma comparativa pero a nivel de frameworks de PHP (ya habl\u00e9 de ello en <a href=\"https:\/\/blogs.ua.es\/pi\/2012\/12\/16\/es-lento-php\/\">\u00bfEs lento PHP?<\/a>):<\/p>\n<ul>\n<li><a href=\"http:\/\/paul-m-jones.com\/archives\/238\">New Year\u2019s Benchmarks<\/a><\/li>\n<li><a href=\"http:\/\/seancomeau.wordpress.com\/2008\/03\/07\/open-source-web-framework-hello-world-benchmark\/\">Open source web framework \u201cHello, World\u201d benchmark<\/a><\/li>\n<\/ul>\n<p>Por ejemplo, en el \u00faltimo tenemos:<\/p>\n<ul>\n<li>Apache static file: 2991.65 Requests\/sec with a time per request of 0.334ms.<\/li>\n<li>PHP on Apache: 2518.25 requests\/sec with a time per request of 0.397.<\/li>\n<li>Symfony: 32.21 requests\/sec with a time per request of 31.048ms.<\/li>\n<li>CakePHP: 34.90 requests\/sec with a time per request of 28.657ms.<\/li>\n<\/ul>\n<p>Solamente utilizar un framework de PHP a\u00f1ade una penalizaci\u00f3n brutal al tiempo de ejecuci\u00f3n. No digamos ya el uso de un gestor de contenidos&#8230;<\/p>\n<p>S\u00ed, el tiempo de ejecuci\u00f3n de un framework o de un gestor de contenidos se puede mejorar, se puede optimizar, pero en el fondo, siempre existir\u00e1 una diferencia importante.<\/p>\n<p>Volviendo a la pregunta que se me planteaba, \u00ab\u00bfc\u00f3mo competir con esto?\u00bb y \u00abal final el usuario valora lo que ve, no lo que hay detr\u00e1s\u00bb, eso forma parte de los requisitos que se tienen que tener en cuenta a la hora de afrontar un trabajo. \u00bfEl cliente quiere algo exclusivo, \u00fanico, que sea eficiente, seguro, hecho a medida? Lo veo dif\u00edcil con un gestor de contenidos.<\/p>\n<p>Esto me recuerda los tres tipos de trabajos que se pueden hacer:<\/p>\n<ul>\n<li>Un buen trabajo r\u00e1pido (no saldr\u00e1 barato).<\/li>\n<li>Un trabajo barato y bueno (no ser\u00e1 r\u00e1pido).<\/li>\n<li>Un trabajo barato r\u00e1pido (no ser\u00e1 bueno).<\/li>\n<\/ul>\n<p><a href=\"https:\/\/blogs.ua.es\/pi\/files\/2013\/12\/trs-tipos-de-trabajo.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3227\" alt=\"trs-tipos-de-trabajo\" src=\"https:\/\/blogs.ua.es\/pi\/files\/2013\/12\/trs-tipos-de-trabajo-300x202.gif\" width=\"300\" height=\"202\" \/><\/a><\/p>\n<p>Est\u00e1 claro que en el segmento de las webs a 300\u20ac en una semana, plantearse un desarrollo a medida realizado desde cero es un sinsentido. En ese segmento, una web realizada con un gestor de contenidos es una muy buena opci\u00f3n. Pero para alguien que est\u00e1 dispuesto a gastarse varios miles o varios cientos de miles de euros, lo que se pueda hacer con un gestor de contenidos seguramente no le ser\u00e1 suficiente.<\/p>\n<p>En realidad, todo esto no es un problema exclusivo del desarrollo web. El mismo problema aparece en otros contextos y se podr\u00eda encuadrar en problemas que existen en la sociedad actual, como por ejemplo la\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/McDonaldization\">McDonaldization<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recientemente recib\u00ed este correo: Quer\u00eda aprovechar la ocasi\u00f3n para hacerle una pregunta que me ronda por &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/blogs.ua.es\/pi\/2013\/12\/06\/como-competir-con-esto\/\"> <span class=\"screen-reader-text\">\u00bfC\u00f3mo competir con esto?<\/span> Read more \u2192<\/a><\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[159964,841,2272],"class_list":["post-3226","post","type-post","status-publish","format-standard","hentry","category-general","tag-framework","tag-php","tag-reflexion"],"_links":{"self":[{"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/posts\/3226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/comments?post=3226"}],"version-history":[{"count":3,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/posts\/3226\/revisions"}],"predecessor-version":[{"id":3231,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/posts\/3226\/revisions\/3231"}],"wp:attachment":[{"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/media?parent=3226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/categories?post=3226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ua.es\/pi\/wp-json\/wp\/v2\/tags?post=3226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}