Etiqueta: desarrollo

  • WordPress vs Shopify 2026: La elección perfecta para tu tienda online

    ¿Estás pensando en lanzar tu propia tienda online, pero no sabes qué plataforma elegir? La verdad es que tanto WordPress como Shopify son herramientas poderosas, pero cada una tiene su propio enfoque y ventajas. En mi experiencia, he visto a muchos emprendedores optar por Shopify por su facilidad de uso y escalabilidad, pero también he visto a otros preferir WordPress por su capacidad de personalización y control total.

    Pero ¿qué pasa si necesitas algo en medio? ¿Qué pasa si tu tienda necesita ser rápida y funcional, pero también necesita ser flexible y adaptable? La clave está en entender cuál plataforma se adapta mejor a tus necesidades específicas.

    ¿Por qué Shopify podría ser la mejor opción para ti?

    Shopify es ideal para aquellos que quieren lanzar su tienda online rápidamente y sin problemas. Su interfaz de arrastrar y soltar es muy intuitiva y fácil de usar, incluso para aquellos que no tienen experiencia técnica. Por ejemplo, un emprendedor que quiere vender productos de moda puede configurar su tienda en menos de una hora, sin preocuparse por la infraestructura subyacente.

    Una de las principales ventajas de Shopify es su escalabilidad. Shopify maneja el hosting, la seguridad y las actualizaciones automáticamente, lo que reduce el riesgo de caídas o vulnerabilidades. Además, su sistema de pago integrado y herramientas de marketing como Shopify Plus ofrecen soluciones para tiendas de alto volumen. Para un negocio que anticipa crecimiento rápido, esto puede ahorrar horas de trabajo.

    ¿Y qué hay de WordPress?

    WordPress es ideal para aquellos que necesitan una plataforma que pueda ser personalizada y adaptable a sus necesidades específicas. Su capacidad para integrar múltiples funcionalidades, como una biblioteca de contenido, un sistema de membresías o un marketplace, lo hace una opción muy versátil. Por ejemplo, un diseñador que quiere vender cursos y productos digitales puede usar plugins como WooCommerce y Elementor para crear una experiencia única.

    La principal ventaja de WordPress es su capacidad de personalización. Puedes modificar el diseño, integrar APIs externas y adaptar la plataforma a necesidades específicas. Sin embargo, esto también implica más responsabilidad: debes gestionar actualizaciones, seguridad y backups. Para un proyecto que requiere integración con otras herramientas (como CRM o sistemas de inventario), la flexibilidad de WordPress es un activo.

    Costos y mantenimiento: ¿Quién se paga más?

    En 2026, los costos de mantenimiento pueden ser un factor decisivo. Shopify opera bajo un modelo de suscripción, lo que incluye hosting, seguridad y soporte técnico. Por ejemplo, una tienda pequeña podría pagar alrededor de $29 al mes, mientras que WordPress requiere inversión en hosting (como $10/mes), dominios y plugins adicionales.

    El mantenimiento de WordPress es más complejo. Si no tienes conocimientos técnicos, podrías enfrentar problemas como conflictos de plugins o vulnerabilidades de seguridad. Shopify, en cambio, se actualiza automáticamente, lo que reduce el riesgo de fallos. Para un negocio que prioriza la simplicidad, esto puede ser un gran ahorro de tiempo.

    Para terminar: ¿Qué opción es mejor para ti?

    La decisión entre WordPress y Shopify no es binaria. Si tu prioridad es lanzar rápido y minimizar el esfuerzo de mantenimiento, Shopify es la opción más segura. Sin embargo, si necesitas personalización extrema y control total sobre tu tienda, WordPress sigue siendo la mejor herramienta. La clave está en evaluar qué necesitas: una solución listo para usar o un proyecto que requiera adaptación constante.

    Palabras clave relacionadas:

    • wordpress vs shopify cual es mejor para ecommerce
    • diferencias entre wordpress y shopify 2026
    • shopify o wordpress para tienda online

    Un último apunte

    Antes de tomar una decisión, analiza qué herramientas ya estás usando. Si tienes una web existente en WordPress, integrar WooCommerce puede ser más eficiente que migrar a Shopify. Por otro lado, si estás empezando desde cero, Shopify te permite ahorrar tiempo y recursos. La elección correcta dependerá de tu visión a corto y largo plazo.

  • WordPress vs Shopify: ¿Cuál es mejor para tu tienda en 2026?

    ¿Estás buscando crear una tienda online pero no sabes si elegir entre WordPress y Shopify? Ambas opciones son populares, pero no son iguales. Como editor de contenido técnico con 10 años de experiencia, puedo decir que cada una tiene sus ventajas y desventajas que dependen de tus necesidades, presupuesto y nivel de habilidad técnica. La elección equivocada puede afectar tu capacidad para vender, gestionar inventario o incluso construir una marca sólida.

    La decisión entre WordPress y Shopify no es solo cuestión de preferencias personales. Depende de factores como la complejidad de tu negocio, el tiempo que estés dispuesto a invertir y los recursos que tengas disponibles. Por ejemplo, si quieres una solución rápida y sencilla, Shopify podría ser la mejor opción. Pero si necesitas personalización total, WordPress con un plugin de comercio electrónico como WooCommerce podría ser más adecuado.

    Flexibilidad vs. facilidad de uso

    WordPress es conocido por su versatilidad. Puedes crear una tienda online, pero también un blog, un portafolio o incluso un sitio corporativo. Esto lo hace ideal si quieres un enfoque multifuncional. Pero la verdad es que esto requiere más trabajo. Configurar un sistema de pago, gestionar inventarios o personalizar el diseño puede tomar tiempo si no tienes experiencia técnica. ¿Alguna vez has tenido que lidiar con un tema de WordPress que parecía no funcionar? (y esto es clave)

    Shopify, en cambio, se enfoca en el comercio electrónico desde el principio. Su interfaz es intuitiva, incluso para usuarios sin conocimientos de programación. Si tu negocio es principalmente una tienda de productos físicos o digitales, Shopify te permite crear una tienda funcional en minutos. Pero, ojo con esto, Shopify tiene sus propios límites en cuanto a personalización.

    Costos y mantenimiento

    El costo es un factor clave para pequeñas empresas. Shopify opera bajo un modelo de suscripción, lo que significa que pagas una tarifa mensual que incluye alojamiento, seguridad y soporte técnico. Por ejemplo, una tienda básica cuesta alrededor de 29 USD al mes, mientras que una avanzada puede llegar a 149 USD. ¿Te has preguntado alguna vez si el costo de Shopify vale la pena? Aunque el costo inicial es más bajo, el mantenimiento puede ser más complejo, especialmente si no tienes conocimientos de programación.

    Escalabilidad y futuro

    En 2026, la escalabilidad es un aspecto crucial. Shopify está diseñado para crecer con tu negocio. Si tu tienda se vuelve popular y necesitas agregar funciones como envíos internacionales o pagos en criptomonedas, Shopify ya tiene integraciones para eso. Pero, dicho esto, la escalabilidad de WordPress también es una ventaja si sabes cómo personalizarla.

    • WordPress es ideal si necesitas un enfoque multifuncional y tienes conocimientos técnicos.
    • Shopify es mejor si buscas una solución rápida y sencilla para comercio electrónico.
    • La elección dependerá de tu presupuesto, tiempo y nivel de personalización requerido.

    Un último apunte

    La decisión entre WordPress y Shopify no es fácil, pero en 2026, las diferencias entre WordPress y Shopify se han vuelto más claras. Si tu negocio es sencillo y quieres una solución rápida, Shopify es la opción más segura. Si necesitas personalización total o un enfoque multifuncional, WordPress es la mejor elección. No importa cuál elijas, lo importante es que tu tienda online esté optimizada para el futuro.

    Antes de cerrar

    Recuerda que ambas plataformas evolucionan con el tiempo. Shopify ha introducido funcionalidades como pagos en criptomonedas y gestión de inventarios inteligente, mientras que WordPress sigue siendo una opción versátil para proyectos complejos. Si tienes dudas, prueba ambas opciones con un plan de prueba y elige la que te dé más confianza.

  • Organizar Código HTML Desordenado Con HTML Washer

    Organizar Código HTML Desordenado Con HTML Washer

    Si está editando la página web de otra persona o quiere copiar un código de un diseño, puede ser difícil implementar un formato. Tendrás que limpiar muchas áreas desordenadas y no es divertido hacerlo manualmente. Muchas veces los plugins de los editores de texto que usamos para el desarrollo no funcionan casi siempre.

    Con la aplicación web HTML Washer, puede limpiar automáticamente cualquier código HTML con el clic de un botón.

    Esta aplicación web elimina todas las funciones externas del HTML, incluido el exceso de CSS y JavaScript. También eliminará la mayoría de las clases y atributos para dejar solo la estructura HTML del código que deseamos limpiar.

    Esto es quizás el más útil cuando se estudia la estructura de otro sitio web. Si desea clonar un diseño, puede ver fácilmente el código fuente y copiar/pegar el código en su propio editor.

    Es posible que también desee quitar los comentarios HTML y simplificar aún más el código. Aquí es donde HTML Washer es útil.

    Tiene un puñado de características interesantes y estas son las más útiles para los desarrolladores:

    • Convierte el código en HTML5 (desde HTML4 / XHTML)
    • Repara las etiquetas mal formateadas
    • Reformatea HTML con sangría apropiada
    • Elimina todos los scripts y CSS en línea

    Tenga en cuenta que HTML Washer no es una solución completa para transferir un diseño anterior a HTML5. Tampoco es una herramienta perfecta para copiar / pegar literalmente un diseño existente y hacerlo suyo.

    Pero, como punto de partida, esta herramienta puede ayudarlo a limpiar rápidamente el desordenado HTML. Te ayudará a concentrarte solo en los fundamentos del código, para que no te atasques por clases o atributos HTML extraños.

    Aunque, si las etiquetas <img> no tienen atributos alt, este HTML Washer las agregará a la página. Su objetivo es producir HTML que cumpla totalmente con los estándares modernos de codificación y accesibilidad.

    Una característica que me gustaría ver es la inclusión opcional de clases o ID. A veces, querrás mantener las clases, para que puedas copiar y pegar el código junto con la hoja de estilo original para mantener el mismo aspecto.

    En este momento, esto no es posible con HTML Washer, aunque esperamos que se pueda agregar en una actualización futura. Para una herramienta automatizada, esto es genial y te permite copiar o pegar código o cargar un archivo directamente desde tu computadora.

    limpiar-html-codigo-html-washer

    Para verlo en vivo en acción, revisa el sitio principal y pruébalo. Si esto es algo que podrías ver usando, asegúrate de guardarlo para usarlo en futuros desarrollos.

  • Crear Correos Electrónicos Responsive Fácilmente Con MJML Framework

    Crear Correos Electrónicos Responsive Fácilmente Con MJML Framework

    Diseñar y maquetar un newsletter es una tarea larga. Puede encontrar muchos consejos de diseño, pero codificar o maquetar un newsletter en una plantilla es la parte más difícil.

    Ahí es donde entra en juego el framework MJML. Es uno de los mejores frameworks de correo electrónico gratuitos y se compila en HTML/CSS puro, el cual funciona para todos los clientes de correo electrónico.

    Una de las cosas más frustrantes sobre la codificación y maquetacion de un boletín de noticias es hacer que funcione en todas las plataformas de correo electronico. Este trabajo se complica para cuando se trata de un diseño responsive que también debe funcionar para dispositivos móviles y de escritorio.

    Afortunadamente, con el framework MJML obtienes una simple estructura de HTML, por lo que no es tan complicado el trabajo de codificar para diversas plataformas. Tienen una guía para principiantes que es ideal para cualquier persona nueva en el desarrollo de correo electrónico.

    Utilizará elementos personalizados como <mj-column> para construir columnas y filas para su plantilla. Puede agregar texto, botones y espacios rápidamente, en función de sus necesidades. El framework de MJML convierte tu código de etiquetas de  MJML a HTML y CSS que cumplen con los estándares de los diversos servicios de correo electrónico.

    A partir de ahí, puede probar su boletín de noticias para ver cómo se ve en varios clientes. Aunque, basado en las tablas de compatibilidad, diría que MJML es una opción fantástica para todos los correos electrónicos modernos.

    Tenga en cuenta que necesita tener algún conocimiento del desarrollo de frontend para usar MJML correctamente. Ejecuta su propio lenguaje de plantillas patentado y lo convierte en HTML, pero también debe comprender lo que hace su código.

    Para obtener más información sobre el funcionamiento de esta herramienta, consulte la página de preguntas frecuentes o navegue por el repositorio oficial de GitHub (¡sí, es de código abierto!)

    O bien, puede utilizar el editor de navegador en vivo para jugar con el código MJML, sin descargar nada.

    Este editor en vivo funciona como un transpiler en el navegador, por lo que puede usarlo para convertir su código en una plantilla de boletín de noticias.

    Una vez que haya escrito algo de MJML, simplemente haga clic en el enlace “Ver HTML” sobre el panel de vista previa. Esto muestra todo el HTML sin formato, para que pueda copiarlo y pegarlo y usarlo para su propia plantilla.

    Cualquier persona nueva en los boletines electrónicos debe comenzar con un framework o herramienta para el desarrollo agil. No hay una buena razón para codificar todo a mano, por lo que MJML es un gran ahorro de tiempo.

    Para comenzar, visite los documentos en línea o incluso intente editar una de sus plantillas en el editor en vivo. Con solo unas pocas horas de trabajo, puede tener un boletín informativo por correo electrónico finalizado, codificado y listo para funcionar.

  • 7 Herramientas De Sublime Text Para Desarrolladores Frontend

    7 Herramientas De Sublime Text Para Desarrolladores Frontend

    Sublime Text es uno de los editores de código más poderosos con algunas características sorprendentes para los desarrolladores, y puede ser aún más poderoso mediante la instalación de plugins o paquetes. Estos plugins añaden funciones extra para Sublime Text, actualmente existe una variedad de herramientas que sirven para satisfacer cualquier necesidad de los desarrolladores.

    extensiones para sublime text

    Si eres un desarrollador frontend, hemos elegido algunas útiles extensiones que te pueden ser de utilidad si usas Sublime Text para tu trabajo.

     

    1. AlignTab

    AlignTab es una extensión para alinear sus código en Sublime Text. Tiene un “Modo de vista previa”, que te permite ver cómo se aplicará la alineación (dada la notación RegEx) antes de que la apliques. AlignTab es una extensión útil ordenar el código y hacer que sea más fácil de leer.

    pestaña align tab sublime text

     

    2. ColorHighlighter

    ColorHighlighter es un plugin que muestra una selección de color con su color visual. Si selecciona “#fff” se le mostrará el color, blanco. ColorHighlighter soporta todos los formatos de color CSS como Hex, RGB, HSL, HSV, e incluyen palabras clave de color como “rojo”, “verde”, etc. También te podrás visualizar variables LESS, Sass, y Stylus que contiene un valor de color. Es un pedazo de plugin te ayudará a ser más intuitivo al trabajar con colores.

    color highlighter sublime text

     

    3. MultiEditUtils

    MultiEditUtils complemento mejora el “multi-cursor” y la función “multi-selección”, ahorrándonos tiempo para la edición de largas líneas de código. Por ejemplo: se puede combinar o intercambiar las líneas seleccionadas.

    extension multi edit sublime text

     

    4. Git Gutter

    Si está trabajando con Git, Git Gutter es un plugin de Sublime Text recomendada de instalar. GitGutter mostrará una bandera en la zona del canal, de cualquier edición, adición o eliminación que hizo dentro del código. Es un código útil para ver al instante la comparación entre la edición de código original.

    extension git gutter sublime text

     

    5. Modific

    Modific es útil cuando usted está utilizando Git o SVN en su trabajo. Al igual que GitGutter, Modific marcará un cambio en sus códigos. Además de resaltar los cambios, también puede ver o comparar la diferencia entre el código actual y la última confirmación pulsando Ctrl + Alt + D. Otras cosas que puedes hacer con Modific incluyen vista previa del código modificadas para la línea actual, así como revertir modificaciones de código .

    extension modific sublime text

     

    6. Inc Dec Value

    Inc Dec Value le permite aumentar o disminuir el valor de forma simultánea, incluso si están en diferentes líneas. Además de los números, también puede cambiar el valor de las fechas, y los colores HEX. Para utilizar este plugin en general directa el cursor justo a la derecha del número, a continuación, pulse Alt + ↑ para aumentar el número o Alt + ↓ para disminuir el número. También puede utilizar la rueda del ratón.

    extension sublime text inc dec value

     

    7. FileBrowser

    FileBrowser ofrece una nueva forma de navegar por los archivos y las carpetas del directorio del proyecto. Al instalar este plugin se puede tener acceso a su directorio de proyecto en una nueva barra lateral, y navegar a través de él sin mover sus manos lejos del teclado, como todo un desarrollador profesional. A medida que se acostumbre a ella, este plugin puede aumentar gradualmente su flujo de trabajo.

    extension sublime text file browser

     

    Bono Extra

    El titulo dice 7 plugins, extensiones, paquetes o como quieras llamarlo? Pues bien, la cuestión es que reuní 10 paquetes para que puedas usarlos como mejor te parezca, a continuación puedes encontrar un plugin para trabajar iconos como los que encuentras con FontAwesome; una extensión útil para que te concentres cuando estés codificando,  y otra extensión para…. Bueno, dejaré que lo descubras 😉 Solo te pido una pequeña acción social, y así colabores para poner de primera en Google este articulo 🙂

    [indeed-social-locker sm_list=’fb,tw,li’ sm_template=’ism_template_5′ sm_list_align=’horizontal’ sm_display_counts=’true’ sm_display_full_name=’true’ unlock_type=2 locker_template=3 sm_d_text=’

    Desbloquea el contenido con una acción social…

    Comparte este articulo y obtén el contenido premium!’ reset_locker=1 locker_reset_after=30 locker_reset_type=’days’ ism_overlock=’default’ ]

    8. IconFont

    IconFont ofrece fragmentos de muchas fuentes de iconos populares como FontAwesome, PaymentFont, Typicons y Github Octicons. Funciona de manera similar a fragmentos de HTML regulares donde se ampliarán abreviaturas de las clases y el código HTML para cada icono.

    extension sublime text icon fonts

     

    9. DistractionFreeWindow

    Esta extension de Sublime Text te permite centrarse en el código o contenido que está escribiendo, cuando estás en este modo, el minimapa, barra lateral, y todas las demás pestañas están ocultos. Libre de distracciones no debe significar la pérdida de acceso a esas características. Aquí es donde entra en juego DistractionFreeWindow para darle mayor flexibilidad en términos de cómo la distracción debe comportarse.

    extension sublime text distraction free

     

    10. FilterLines

    FilterLines le permite buscar a través de las líneas dentro de su documento para el dad “cadena de palabras clave” o “notación RegEx”. Es una característica muy útil para hacer frente a una gran cantidad de datos en bruto en forma de JSON, JavaScript Array, CVS.

    extension sublime text filter lines

    [/indeed-social-locker]

     

  • Cómo Desarrollar Un Juego En HTML5 Responsive

    Cómo Desarrollar Un Juego En HTML5 Responsive

    Cuando se desarrolla un juego en HTML5, existen diferentes detalles que se deben tener en cuenta para brindar una excelente experiencia al usuario. Actualmente los usuarios cuentan con diferentes dispositivos para jugar, si has desarrollado un juego responsive, que se puede visualizar en diferentes tamaños de pantalla y puede trabajar con diferentes dispositivos, habrás hecho un excelente trabajo.

    Si sigues ciertos consejos, puedes desarrollar un juego en HTML5 responsive, con el cual brindaras una mejor experiencia para el usuario, por lo que tu juego puede terminar siendo popular 😉 A continuación encontraras algunos consejos para que tu juego en HTML5 sea responsive.

    1.  Tamaño De La Pantalla

    html5 etiquetasExisten diferentes tamaños de pantalla actualmente, con lo que tendrás que preguntarte, ¿Mi juego se verá perfectamente en los diferentes tamaños de pantalla? Antes de adaptar el diseño a las diferentes pantallas, debes comenzar desde el tamaño mas grande, luego ir escalando hasta llegar a la resolución mas pequeña de los dispositivos móviles. Además, tienes que decidir la orientación en la que mejor se adapte el juego, es decir, si luce mejor de forma horizontal o vertical. No se recomienda trabajar con tamaños fijos en píxeles, ya que no es adaptable a las diferentes resoluciones.

    Es importante elegir un tamaño de referencia que identifica el tamaño real de la pantalla. En particular, se recomienda utilizar window.innerWidth y window.innerHeight ya que proporcionan el tamaño de la pantalla real.

    Firefox cuenta con una excelente herramienta que puedes usar, esta se llama Vista de diseño adaptable, la cual puedes sacar Ctrl + Shift + M en Windows y Ubuntu, en Mac OS X la usas con Command + alt + M. Acá puedes ver si lo que has desarrollado se adapta a las diferentes resoluciones.

    2. Gestos

    etiquetas meta html5Cuando se desarrollan juegos, es importante desactivar aquellos gestos o eventos que no sean necesarios en el juego. Cuando se disfruta un juego, es muy fácil activar el gesto de zoom por accidente, por ejemplo.

    Para desactivar el zoom se puede utilizar user-scalable=no en el para dispositivos iOS y Android, y -ms-touch-action: none para Windows Phone.

    3. Rotación

    Un último aspecto a cuidar es la gestión de la rotación. Si está utilizando un Framework como c2 es posible y probable que esta función sea gestionada por el mismo. En el caso de la codificación manual, o en cualquier caso sin la ayuda de un Framework, debe capturar la rotación mediante el uso de window.resize en lugar de un evento.

    Mediante el uso de la función window.resize, el dispositivo comparará el innerWidth y innerHeight y nos dirá si el dispositivo está de forma horizontal o vertical. Esta función ofrece una mejor compatibilidad, pero tiene el inconveniente de que puede tomar un segundo en tomar la orientación, si estás jugando en un dispositivo antiguo con poco rendimiento en el procesador, tendrás problema en usar esta función.

    Finalmente

    Adaptando su juego a diferentes dispositivos, actualmente es mucho más fácil de lo que era hace unos años y no necesitas métodos complicados para hacerlo. Pero todavía hay que mirar una gran cantidad de detalles y pensar en la manera que se está codificando. Estos son algunos consejos, no pretendo que sea una guía completa, o una guía para realizar la mejor aplicación, pero si son algunos detalles que casi nadie tiene en cuenta, o por lo menos al inicio del desarrollo.

  • Beneficios Y Desafios Del Desarrollo De Juegos En HTML5

    Beneficios Y Desafios Del Desarrollo De Juegos En HTML5

    Una de las ventajas que tiene el desarrollo web es la usabilidad, hemos visto como últimamente un usuario normal usa a diario mas un navegador web en lugar de una aplicación de escritorio. Una gran cantidad de aplicaciones nativas se están convirtiendo en aplicaciones web, un claro ejemplo de esto lo puedes encontrar en MegaSolitario.com, donde se puede jugar el clásico solitario desde la web, y adivina, esta basado en HTML5.

    juego en html5Los atributos añadidos en el nuevo estándar HTML5 permiten un contenido web mucho más dinámico y el desarrollo de aplicaciones mucho mas amigables. Como toda tecnología nueva, esta tiene sus puntos a tener en cuenta antes de pensar en desarrollar en este nuevo enfoque, a continuación conocerás los beneficios y algunos desafíos que te puedes encontrar al desarrollar en HTML5.

    Beneficios Del Desarrollo De Juegos En HTML5

    Actualmente este estándar web ofrece una gran cantidad de ventajas, para una mayor comprensión se ha resumido en las siguientes categorías:

    Multiplataforma

    A diferencia de las aplicaciones de escritorio, las aplicaciones web no dependen del Hardware o Software (en gran medida). La web se puede usar desde un PC, Mac, portátil, de escritorio, dispositivo móvil o incluso de un SmartWatch. Solo ten en cuenta algo, el futuro esta en la web.

    Basado en estándares abiertos

    Los estándares abiertos permiten tanto a los vendedores y desarrolladores contribuir y mejorar el producto final. Este es uno de los factores claves del éxito de la web. No existe un beneficio en particular, todo se mejora según las necesidades de todos los usuarios.

    Apoyo de grandes empresas

    La web es apoyada por grandes empresas de tecnología en el mundo como Google, Amazon, Microsoft, Facebook, Samsung o Apple. Este apoyo es un buen ejemplo de por qué la web está aquí para quedarse y por eso continuará ganando impulso como una plataforma de desarrollo 😉

    WebGL

    Esta característica podría cambiar la percepción de la web, tanto para aplicaciones y juegos. Los desarrolladores puede hacer uso de los gráficos de gama alta y de una web más interactiva al mejorar la experiencia en 2D con gráficos acelerados por hardware, ademas del uso de gráficos 3D.

    Retos

    A continuación puedes encontrar algunos retos que los desarrolladores tendrán que analizar y pensar si en realidad vale la pena el desarrollo en HTML5, aunque a la velocidad en la que se va mejorando este estándar, lo mas probable es que cuando leas este articulo ya ni existirán:

    Plataformas de distribución

    Los desarrolladores necesitan crear cuentas, entender los detalles de empaquetado en cada plataforma, reglas en cada Store, y demás características para distribuir el producto desarrollado. Actualmente puedes encontrar servicios de empaquetado de HTML5 como XDK de Intel, PhoneGap Build de Adobe y CocoonJS de Ludei.

    Multiplataforma no significa que sea el mismo código

    Hay que tener en cuenta que cada dispositivo móvil tiene características propias como pantalla, táctil, eventos, entre otros. El manejo de cada característica puede diferir entre distribuidores. Por que pensar en dispositivos móviles si hablamos de desarrollo web? Simple, los usuarios acceden a la web cada vez mas desde estos dispositivos.

    Características nativas

    Este punto es relacionado con las plataformas de distribución, ya que no es lo mismo desarrollar, distribuir y desarrollar para Android como para productos Apple, como por ejemplo. Hoy en dia existen diversas herramientas que pueden ser usadas para manejar las características nativas de cada dispositivo, un claro ejemplo de esto es Phonegap.

    Finalmente

    Los beneficios de HTML5 en la web son innegables; la web está aquí para quedarse. La verdadera fuerza de la web y HTML5, radica en su flexibilidad y plataformas a usar. Para obtener el mayor beneficio que brinda este enfoque, es sólo una cuestión de elegir la herramienta adecuada para el trabajo correcto.

  • Desarrollo Web Ágil Con ORM Propel Y Plantillas Smarty

    Desarrollo Web Ágil Con ORM Propel Y Plantillas Smarty

    El usar PHP en el desarrollo web, brinda una potente ayuda. En la actualidad podemos encontrar distintos FrameWorks. Esta vez quiero compartir uno en particular que he escuchado bastante donde trabajo,  Propel. Este ORM brinda una serie de características bastantes llamativas para ser usado en un desarrollo web ágil.

    • Smarty  – Es un motor de plantillas para PHP, lo cual facilita la separación entre la presentación (HTML / CSS) y la lógica de la aplicación. Esto implica que el código PHP es la lógica de aplicación, y está separada de la presentación.
    • ORM Propel – Es de código abierto para PHP5. Permite acceder a una base de datos usando un conjunto de objetos, proporcionando una API sencilla para almacenar y recuperar los datos.

    Para que el tema quede mejor explicado, se dividirá en dos partes, esta es la primera parte, la cual se centrará en la explicación de cómo instalar las dos bibliotecas y usarlas en el proyecto PHP, cómo generar las clases de Propel para trabajar con una base de datos MySQL, configurar e inicializar Propel para su página web y, por último, mostrar datos de la base de datos utilizando la libreria de Smarty.

    1. Como Instalar ORM Propel

    El primer paso que tenemos que hacer es descargar e instalar la última versión de Propel. Para descargar la última versión de Propel ORM puede acceder a la página de descargas del proyecto y elegir cualquiera de las opciones que se adapte mejor a tu desarrollo.

    Para usar el ORM Propel, no es necesario ejecutar algún instalador, sólo tienes que descomprimir el contenido del archivo en una ubicación. Antes de poder ejecutar el ORM Propel generador tendrás que:

    • Descargar la biblioteca Phing que es utilizado por Propel.
    • Después de descargar Phing, asegúrese de que el archivo phing.bat y también php.exe se puede usar en la variable de entorno. Para poder usar Phing, es necesario añadir las rutas de phing.bat y php.exe a las variables del sistema.

    2. Generar El Archivo schema.xml De La Base De Datos MySQL

    A los efectos de demostración de este artículo vamos a utilizar una base de datos MySQL muy simple con un solo nombre de tabla de la gente con la siguiente estructura:

    [showhide type=”codigoDB” more_text=”Ver Código” less_text=”Ocultar Código”]

    CREATE TABLE `people` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `name` varchar(30) NOT NULL,
      `age` int(3) unsigned NOT NULL,
      PRIMARY KEY (`id`)
    ) ;
    

    [/showhide]

    El primer paso para usar Propel con una base de datos existente, es para generar el archivo schema.xml. Para eso tenemos que crear una carpeta en el disco donde almacenemos toda lo relacionado con Propel, como generar archivos (clases de om, archivos de configuración). Para mayor comodidad he creado mi carpeta PropelTest dentro de mi carpeta de propelgeneratorbin. Para generar el archivo schema.xml primero tenemos que crear un archivo build.properties, el cual se ha colocado dentro de la carpeta PropelTest que se ha creado. El archivo build.properties se ve así:

    [showhide type=”codigoProperties” more_text=”Ver Código” less_text=”Ocultar Código”]

        propel.project = PropelTest
    
        # The Propel driver to use for generating SQL, etc.
        propel.database = mysql
    
        # This must be a PDO DSN
        propel.database.url = mysql:dbname=PropelTest
        propel.database.user = root
        # propel.database.password =
    

    [/showhide]

    Una vez que se tenga el archivo build.properties, puedes ejecutar el comando propel-gen. Recuerda que este archivo se encuentra en la carpeta propelgeneratorbin, esto lo tenemos que tener en cuenta al momento de ejecutar el siguiente comando:

    propel-gen PropelTest reverse

    El primer argumento del comando es la carpeta en la que tenemos el archivo build.properties. Si la configuración de Propel y Phing se hace correctamente, el comando anterior debería funcionar correctamente.

    Una vez que se ejecuta con éxito el comando anterior deberías ver un nuevo archivo en la carpeta PropelTest, de nombre schema.xml:

    [showhide type=”codigoXML” more_text=”Ver Código” less_text=”Ocultar Código”]

        
        
        
        
        
        
        

    [/showhide]

    3. Generación de las clases del modelo

    Una vez tenemos el archivo schema.xml, podemos generar las clases del modelo que vamos a utilizar en su proyecto para trabajar con la base de datos. Con el fin de generar las clases que necesitamos para ejecutar el siguiente comando:

    propel-gen PropelTest om

    Si el comando se ha ejecutado con éxito, en la carpeta PropelTest debería ver una nueva carpeta llamada build, que también contiene una carpeta llamada classes. En la carpeta classes, debe encontrar otra carpeta que puedes usar en tu proyecto. El nombre de esta carpeta está dada por el valor propel.project en el archivo build.properties. En nuestro caso es nuevo PropelTest.

    Por cada tabla en la base de datos, Propel crea 3 clases PHP:

    1. Una clase del modelo (por ejemplo, personas), lo que representa una fila en la base de datos;
    2. Una clase de pares (por ejemplo PeoplePeer), ofreciendo constantes estáticas y métodos principalmente para la compatibilidad con versiones anteriores de Propel;
    3. Una clase de consulta (por ejemplo PeopleQuery), que se utiliza para operar en una tabla para recuperar y actualizar filas.

    4. Generar El Archivo De Inicialización De Propel

    Una vez que hemos generado las clases del modelo, se debe generar un archivo de inicialización para el Framework Propel. Con el fin de generar nuestro archivo de inicialización, es necesario crear un archivo XML llamado runtime-conf.xml, el cual debería contener lo siguiente:

    [showhide type=”codArchIni” more_text=”Ver Código” less_text=”Ocultar Código”]

        
          
            
              
                
                  mysql 
                  
                    mysql:host=localhost;dbname=PropelTest
                    root
                    
                  
                
              
            
          
    

    [/showhide]

    De acuerdo con la documentación de Propel, el atributo id para el elemento de origen de datos debe tener el mismo valor que el atributo de nombre del elemento de la base de datos de archivo schema.xml.

    Una vez que hayas creado el archivo runtime-conf.xml puede ejecutar el siguiente comando:

    propel-gen PropelTest convert-conf

    Después de ejecutar este comando, si no has recibido ningún error, debería ver en la carpeta build una nueva carpeta llamada conf. En la nueva carpeta que debe encontrar su archivo de inicialización que en mi caso tiene el nombre PropelTest-conf.php.

    5. Usar Propel En El Desarrollo Web Con PHP

    Para utilizar Propel en mi proyecto PHP he creado dos carpetas adicionales en mi proyecto:

    1. model – carpeta en la que he copiado el contenido de la carpeta de compilación. Si decides hacer lo mismo, en la carpeta model tendrás las clases y carpeta conf con su contenido.
    2. propel – carpeta en la que he copiado el contenido de la carpeta runtimelib de la instalación de Propel.

    El siguiente paso es la creación de un script de configuración para Propel, en el cual se incluyen todos los scripts PHP necesarios para acceder a la base de datos.

    El script de instalación es muy simple y luce así:

    [showhide type=”codProp” more_text=”Ver Código” less_text=”Ocultar Código”]

        
    

    [/showhide]

    6. Insertar, Actualizar Y Eliminar Registros En La Base De Datos Con Propel

    Una vez generado el modelo de clases, utilizándolas y la interacción con la base de datos es bastante simple.

    Con el fin de mostrar cómo ingresar, actualizar y eliminar una entrada de la tabla de la gente de nuestra base de datos, que acabo de crear un simple script PHP que hace todas las operaciones antes mencionadas. El Script es sólo para fines de demostración, estoy seguro de que para sus proyectos que llegaremos a utilizar las consultas más complejas.

    El Script de la demostración, es el siguiente:

    [showhide type=”codigoPHPSent” more_text=”Ver Codigo” less_text=”Ocultar Codigo”]

        ID: ".$people->getId()."
    Name: ".$people->getName()."
    Age: ".$people->getAge()."

    "; } // create a new record $me = new People(); $me->setName('Andrei'); $me->setAge(28); $me->save(); // save the record to the table PrintDetails($me, "Created:"); // update the entry $people = PeopleQuery::create()->findPK(2); // find the people record with the Primary Key 1 if($people != null) { PrintDetails($me, "Found:"); $people->setName('Andrei Croitoriu'); $people->save(); PrintDetails($people, "Updated found entry to:"); $people->delete(); print "Deleted the entry!"; } ?>

    [/showhide]

    Como se ha mencionado, esto es tan solo una parte 😉 En en próximo articulo, te mostrare como integrar las plantillas de Smarty.