Archivo

Archivo para la categoría ‘PHP’

GoPHP5 y sentencia para PHP4

Lunes, 20 de Agosto de 2007 Neozeratul Sin comentarios

GoPHP5 es un proyecto creado por varios desarrolladores, muchos de ellos de algunos de los programas hechos en PHP más utilizados, para darle un nuevo impulso al PHP 5.x, que ya va a cumplir tres años desde su lanzamiento. Lo que este grupo aclama es que PHP4 ya ha cumplido un servicio a la comunidad, y muchos ( cuando no casi todos ) los problemas de esa versión, se resolvieron en PHP5, pero aún así la transición en estos tres años ha sido muy lenta.

GoPHP5Por eso nace este compromiso, patrocinado por GoPHP5 y adoptado por desarrolladores y web hostings, de darle soporte completo a PHP 5.2 a partir del 5 de Febrero de 2008. Explicándolo mejor: a partir de esta fecha, todos los proyectos que se adhieren a GoPHP5, deben requerir para correr PHP 5.2 al menos, o la versión más actualizada a esa fecha. Así mismo, las empresas de Hosting se comprometen a tener instalado en sus servidores la misma versión de PHP.

A todo esto se suma el anunio hecho hoy por PHP.net, de que ya no darán más soporte a PHP4 a partir del 31 de Diciembre de 2007, así como tampoco lanzarán más versiones de la rama 4.4.x de este lenguaje, centrándose por completo en PHP 5.x y en el próximo a aparecer, PHP6.

Fuente: Zona PHP

Categories: NOTICIAS, PHP, PROGRAMACION Tags:

Los "Desarrolladores PHP" debemos profesionalizarnos o quedaremos descartados por obsoletos

Lunes, 20 de Agosto de 2007 Neozeratul Sin comentarios

Esta reflexión se la escribo a todos los “Programadores PHP”:

Al día de hoy la mayoría de los institutos o universidades de muchos países siguen enseñando PHP4, o mejor dicho, programación “scripting” básica. Se mueven en el viejo concepto de la “programación estructurada”, trabajando constantemente sobre código que mezcla html y sintaxis PHP, todo como si de una ensalada estuviéramos hablando.

Casi paralelamente, los jóvenes autodidactas siguen por el mismo camino, tal vez ayudados por la gran cantidad de material repetido y obsoleto que se encuentra tanto en la web como en las editoriales de turno, donde a pesar que un libro haya sido impreso recientemente, los autores siguen siendo los mismos y escribiendo -una y otra vez- sobre los mismos temas elementales.

Enfrentar la realidad con madurez

Solo nos damos cuenta que estamos en un grave problema cuando nos enfrentamos a la realidad: salimos al mercado laboral y con inocente sorpresa vemos que se habla mayoritariamente de Java o .Net, de UML, desarrollos en 3 capas, lógica de negocios, persistencia, polimorfismo, frameworks, patrones de diseño, refactoring… y tú solo tienes una vaga idea de algunos conceptos, pero nulo conocimiento de si es realmente posible hacerlo con PHP…


¿No crees que algo está pasando y que tú estás quedando fuera de la “conversación”?

Este es el gran problema de la mayoría de los “Programadores PHP”: se quedan en el “lenguaje”, en la programación lisa y llana, rechazando todo lo que sea objetos hasta que no les queda otra salida que aprender a usarlos mínimamente… pues todas las nuevas herramientas solo hablan “ese” idioma.

¿Hasta donde piensas que podemos llegar con tan poca preparación?

Mi experiencia personal

De lo que trato de hablar en este blog es de “profesionalizarnos”, de copiar y mejorar, de aprender y evolucionar. La mayoría de los temas que expongo no son nuevos, trato de basarme en autores reconocidos y darle más prioridad a los conceptos que al lenguaje, y por sobre todas las cosas: ser simple y directo (pragmático antes que dogmático, pero sin olvidarme de lo último). Hay muchas cosas que desconozco de PHP y otras que directamente no uso, y nunca me baso en la memoria, siempre voy a buscar hasta lo más elemental al manual (doy prioridad al razonamiento por sobre la retención mecánica de conocimientos). Siguiendo esta metodología, mañana deberías poder cambiar de lenguaje y seguir trabajando sin problemas, pues los conceptos base los tendrías claros y estos se aplican sin importar la plataforma que estés usando.

Muchas veces comento que los temas sobre los que escribo son elementales para muchos desarrolladores Java de nivel medio y alto, pero en el ambiente PHP esto cambia (todavía no hemos madurado hacia el concepto de “arquitectura”) donde “en el mundo de los ciegos puedo ser rey”. Debemos cambiar la mentalidad ahora que existe PHP5 y que su nueva sintaxis nos permite hacer muchas cosas que son habituales en el mundo Java.


Por lo tanto, tenemos todas las herramientas para “evolucionar” y no quedarnos en las excusas.

Programador versus Desarrollador

Desarrollar Orientado a Objetos va más allá que crear objetos aislados que solo contienen datos, programar usando algunos objetos es distinto a desarrollar 100% Orientado a Objetos, ser programador es distinto a ser un desarrollador, un sitio web no es lo mismo que un sistema web. Existen, además de los objetos, “Principios de Diseño (OO)”, “Patrones de Diseño (OO)”, el lenguaje de diseño UML, frameworks, etc, y todo es perfectamente aplicable usando PHP.


Es más, muchos de estos conceptos e ideas son independientes al lenguaje si este cumple mínimamente con las características de la OO, cosa que sucede a partir de PHP5 en adelante y que PHP4 casi carece por completo.

Finalmente, es mi visión que un programador resuelve problemas aislados usando un lenguaje, pero un desarrollador diseña e implementa una solución global, une los componentes en un único sistema integrado y es lo suficientemente inteligente y estratega para poder reutilizar la experiencia y conocimientos adquiridos en favor de los próximos desarrollos.

Los sistemas que van quedando atrás nunca serán un lastre porque podrán ser mantenidos con el mínimo costo posible, permitiendo que el desarrollador pueda afrontar nuevos y enriquecedores desafíos.

Todos estos detalles los percibimos claramente cuando nuestros desarrollos dejan de ser un “programa menor” y necesitamos crecer, pero vemos que con los conocimientos que contamos hasta el momento todo se nos hace cuesta arriba.

La culpa es enteramente nuestra

No podemos quejarnos que a los programadores Java se les paga el doble que a nosotros y que a la mayoría de los proyectos PHP se los desvalorice, se los trate como “algo menor”, “poco serio”, todo porque es un “simple lenguaje web” limitado en sus posibilidades.

El “Simple Lenguaje” lo hacemos todos, al ser “Simples Programadores PHP” y nuestras son las limitaciones fundamentales. Perfectamente podemos tratar de trabajar “más seriamente” como lo hacen los “desarrolladores Java”, y tratando con creatividad de suplir las carencias momentáneas (como el muy sonado caso de la falta de “namespaces”).

PHP se está orientando a convertir en una “arquitectura”, a parecerse a un J2EE pero mucho más simple y directo.

El proceso hace tiempo que inició.

Debemos pasar de los dichos a los hechos

De la misma forma, creo que nos hace falta tener más “sentimiento de comunidad”, como sucede habitualmente -hasta de forma exagerada- en el mundo GNU/Linux. No es posible que nos sigamos quejando que los proveedores de hosting siguen usando PHP4. Deberíamos hacer campañas para promover la migración a las nuevas versiones de PHP, pero fundamentalmente, incorporar en nuestros desarrollos las características avanzadas del lenguaje, e invitar a usarlo como si fuera una arquitectura, actualizar a nuestro equipo de desarrolladores, visitar empresas, universidades, etc.


¿Tú, qué vas a hacer? ¿Te vas a quedar donde estás o te vas a subir al tren?

¿Eres parte del problema o parte de la solución?

Tenemos que especializarnos y profesionalizarnos, el mundo pide POO, arquitecturas, capas, etc, y habla en “UML”… tú, en que idioma hablas?

Fuente:

Categories: PHP, PROGRAMACION Tags:

Los “Desarrolladores PHP” debemos profesionalizarnos o quedaremos descartados por obsoletos

Lunes, 20 de Agosto de 2007 Neozeratul Sin comentarios

Esta reflexión se la escribo a todos los “Programadores PHP”:

Al día de hoy la mayoría de los institutos o universidades de muchos países siguen enseñando PHP4, o mejor dicho, programación “scripting” básica. Se mueven en el viejo concepto de la “programación estructurada”, trabajando constantemente sobre código que mezcla html y sintaxis PHP, todo como si de una ensalada estuviéramos hablando.

Casi paralelamente, los jóvenes autodidactas siguen por el mismo camino, tal vez ayudados por la gran cantidad de material repetido y obsoleto que se encuentra tanto en la web como en las editoriales de turno, donde a pesar que un libro haya sido impreso recientemente, los autores siguen siendo los mismos y escribiendo -una y otra vez- sobre los mismos temas elementales.

Enfrentar la realidad con madurez

Solo nos damos cuenta que estamos en un grave problema cuando nos enfrentamos a la realidad: salimos al mercado laboral y con inocente sorpresa vemos que se habla mayoritariamente de Java o .Net, de UML, desarrollos en 3 capas, lógica de negocios, persistencia, polimorfismo, frameworks, patrones de diseño, refactoring… y tú solo tienes una vaga idea de algunos conceptos, pero nulo conocimiento de si es realmente posible hacerlo con PHP…


¿No crees que algo está pasando y que tú estás quedando fuera de la “conversación”?

Este es el gran problema de la mayoría de los “Programadores PHP”: se quedan en el “lenguaje”, en la programación lisa y llana, rechazando todo lo que sea objetos hasta que no les queda otra salida que aprender a usarlos mínimamente… pues todas las nuevas herramientas solo hablan “ese” idioma.

¿Hasta donde piensas que podemos llegar con tan poca preparación?

Mi experiencia personal

De lo que trato de hablar en este blog es de “profesionalizarnos”, de copiar y mejorar, de aprender y evolucionar. La mayoría de los temas que expongo no son nuevos, trato de basarme en autores reconocidos y darle más prioridad a los conceptos que al lenguaje, y por sobre todas las cosas: ser simple y directo (pragmático antes que dogmático, pero sin olvidarme de lo último). Hay muchas cosas que desconozco de PHP y otras que directamente no uso, y nunca me baso en la memoria, siempre voy a buscar hasta lo más elemental al manual (doy prioridad al razonamiento por sobre la retención mecánica de conocimientos). Siguiendo esta metodología, mañana deberías poder cambiar de lenguaje y seguir trabajando sin problemas, pues los conceptos base los tendrías claros y estos se aplican sin importar la plataforma que estés usando.

Muchas veces comento que los temas sobre los que escribo son elementales para muchos desarrolladores Java de nivel medio y alto, pero en el ambiente PHP esto cambia (todavía no hemos madurado hacia el concepto de “arquitectura”) donde “en el mundo de los ciegos puedo ser rey”. Debemos cambiar la mentalidad ahora que existe PHP5 y que su nueva sintaxis nos permite hacer muchas cosas que son habituales en el mundo Java.


Por lo tanto, tenemos todas las herramientas para “evolucionar” y no quedarnos en las excusas.

Programador versus Desarrollador

Desarrollar Orientado a Objetos va más allá que crear objetos aislados que solo contienen datos, programar usando algunos objetos es distinto a desarrollar 100% Orientado a Objetos, ser programador es distinto a ser un desarrollador, un sitio web no es lo mismo que un sistema web. Existen, además de los objetos, “Principios de Diseño (OO)”, “Patrones de Diseño (OO)”, el lenguaje de diseño UML, frameworks, etc, y todo es perfectamente aplicable usando PHP.


Es más, muchos de estos conceptos e ideas son independientes al lenguaje si este cumple mínimamente con las características de la OO, cosa que sucede a partir de PHP5 en adelante y que PHP4 casi carece por completo.

Finalmente, es mi visión que un programador resuelve problemas aislados usando un lenguaje, pero un desarrollador diseña e implementa una solución global, une los componentes en un único sistema integrado y es lo suficientemente inteligente y estratega para poder reutilizar la experiencia y conocimientos adquiridos en favor de los próximos desarrollos.

Los sistemas que van quedando atrás nunca serán un lastre porque podrán ser mantenidos con el mínimo costo posible, permitiendo que el desarrollador pueda afrontar nuevos y enriquecedores desafíos.

Todos estos detalles los percibimos claramente cuando nuestros desarrollos dejan de ser un “programa menor” y necesitamos crecer, pero vemos que con los conocimientos que contamos hasta el momento todo se nos hace cuesta arriba.

La culpa es enteramente nuestra

No podemos quejarnos que a los programadores Java se les paga el doble que a nosotros y que a la mayoría de los proyectos PHP se los desvalorice, se los trate como “algo menor”, “poco serio”, todo porque es un “simple lenguaje web” limitado en sus posibilidades.

El “Simple Lenguaje” lo hacemos todos, al ser “Simples Programadores PHP” y nuestras son las limitaciones fundamentales. Perfectamente podemos tratar de trabajar “más seriamente” como lo hacen los “desarrolladores Java”, y tratando con creatividad de suplir las carencias momentáneas (como el muy sonado caso de la falta de “namespaces”).

PHP se está orientando a convertir en una “arquitectura”, a parecerse a un J2EE pero mucho más simple y directo.

El proceso hace tiempo que inició.

Debemos pasar de los dichos a los hechos

De la misma forma, creo que nos hace falta tener más “sentimiento de comunidad”, como sucede habitualmente -hasta de forma exagerada- en el mundo GNU/Linux. No es posible que nos sigamos quejando que los proveedores de hosting siguen usando PHP4. Deberíamos hacer campañas para promover la migración a las nuevas versiones de PHP, pero fundamentalmente, incorporar en nuestros desarrollos las características avanzadas del lenguaje, e invitar a usarlo como si fuera una arquitectura, actualizar a nuestro equipo de desarrolladores, visitar empresas, universidades, etc.


¿Tú, qué vas a hacer? ¿Te vas a quedar donde estás o te vas a subir al tren?

¿Eres parte del problema o parte de la solución?

Tenemos que especializarnos y profesionalizarnos, el mundo pide POO, arquitecturas, capas, etc, y habla en “UML”… tú, en que idioma hablas?

Fuente:

Categories: PHP, PROGRAMACION Tags:

Mas de 120 Herramientas y Recursos Para El Desarrollo Web

Lunes, 20 de Agosto de 2007 Neozeratul Sin comentarios

Esta recopilación hecha por Mashable ya tiene un tiempecito que se publicó pero vale la pena mencionarla y es que esta ves se trata de una recopilación de mas de 120 herramientas y recursos para los desarrolladores web, y como yo soy uno de ellos esta lista se me hace muy interesante y  muy útil y me ha permitido descubrir nuevos sitios y herramientas para posteriores tareas. Asi que les recomiendo guardar el enlace nunca se sabe cuando nos puedan ayudar.

La lista contiene las siguientes categorías:

Recursos Generales y Referencias.

  • Herramientas generales de desarollo.
  • Constructores de Aplicaciones.
  • Repositorios y Buscadores de Código y Snippets.
  • Ambientes de desarollo y FrameWorks
  • APIs y Mashups
  • Pruebas, Seguimiento de Errores y Administración de Proyectos.
  • Recursos y Herramientas para Ruby y Ruby on Rails.
  • Herramientas y Recursos de Ajax.
  • Herramientas y Recursos para PHP.
  • Herramientas y Recursos para Flash.
  • Herramientas y Recuros para Python.

Como ven la lista esta bastante completa y es seguro que alguno de esos sitios nos sirve de algo.

Enlace: Web Development Toolbox: 120+ Web Development Resources

Fuente: Webadictos

Categories: AJAX, CSS, INTERNET, MySQL, NOTICIAS, PHP, PROGRAMACION Tags:

El ataque de los Frameworks

Jueves, 9 de Agosto de 2007 Neozeratul Sin comentarios

Los frameworks suelen ser implementaciones de patrones de diseño conocidos, aderezados con funciones que asisten al desarrollador.

¿Qué es un Framework?

Un framework en el contexto de la programación es un set de funciones o código genérico que realiza tareas comunes y frecuentes en todo tipo de aplicaciones (creación de objetos, conexión a base de datos, limpieza de strings, etc). Esto brinda una base sólida sobre la cual desarrollar aplicaciones concretas y permite obviar los componentes más triviales y genéricos del desarrollo.

En general, los frameworks son construidos en base a lenguajes orientados a objetos. Esto permite una mejor modularización de los componentes y óptima reutilización de código. Además, en la mayoría de los casos un framework implementará uno o más patrones de diseño de software que aseguren la escalabilidad del producto. Un patrón de diseño es un set de metodologías probadas para resolver problemas comunes en el diseño de aplicaciones. Una convención, si se quiere, que facilita la comprensión de la arquitectura de la aplicación.

Hace mucho existen “frameworks” que facilitan el desarrollo de aplicaciones en diversos ambientes y lenguajes de programación. En el mundo de Java existe Struts, un ambiente muy estable y poderoso, y la iniciativa .NET de Microsoft es una especie de super-framework inspirado en Java. En general, sin embargo, la complejidad de estos ambientes ha relegado el uso de frameworks al desarrollo de aplicaciones grandes y costosas.

Los frameworks y la Web

En el mundo de las “aplicaciones web” menores, habitado por diseñadores gráficos, programadores autodidactas, bajos presupuestos y agendas apretadas, es tradición el uso de lenguajes “de scripting” o interpretados como Perl, Asp o PHP diseñados para transar la potencia de lenguajes de más bajo nivel por mayor facilidad de uso y flexibilidad. Esto permite el rápido desarrollo de aplicaciones, pero al mismo tiempo tiende a producir código de difícil mantención y poco eficiente.

El uso de frameworks en la construcción de aplicaciones pequeñas fue históricamente escaso hasta recientemente cuando, en medio de la “revolución web 2.0″, una compañía de 5 personas lanzó BaseCamp, un servicio de administración de proyectos basado en web y construído sobre Rails, un framework de desarrollo web para el poco conocido pero increíblemente versátil lenguaje “Ruby“.

Rails (más conocido como Ruby on Rails) permite crear aplicaciones web con asombrosa facilidad. Esto, porque el framework ya viene con librerías y funciones que abstraen casi toda la complejidad de trabajar con bases de datos, definir clases e instanciar objetos. Parte de esto se debe a que Ruby es natívamente orientado a objetos (a diferencia de PHP o VBScript) y diseñado para escribir el mínimo de líneas de código posible. Pero la magia de Ruby on Rails está en Rails, el framework, y en su uso inteligente de patrones de diseño conocidos.

En el ámbito del desarrollo para la web, los patrones de diseño más utilizados son aquellos que se centran en separar la presentación (páginas html, css) de la lógica o backend. Esto porque un típico equipo de desarrollo consiste en programadores por un lado y diseñadores por el otro. Separando efectívamente las tareas de cada uno mediante una arquitectura estándar comprendida por todos -un patrón de diseño- facilita enórmemente el trabajo del equipo.
De estos patrones, el más popular es MVC (Modelo Vista Controlador), muy conocido en el mundo de Java y el implementado por Ruby on Rails.

Como su nombre lo dice, MVC consiste en separar lo mejor posible las capas de Modelo (los objetos que interactuan con la base de datos y efectúan los procesos pesados o “lógica de negocios”), la Vista (la presentación final de los datos procesados al cliente, comúnmente en formato HTML) y el Controlador (la capa que se encarga de recibir el input del usuario, delegar el trabajo a los Modelos apropiados e invocar las Vistas que correspondan).

Los frameworks, entonces, suelen ser implementaciones de patrones de diseño conocidos, aderezados con funciones que asisten al desarrollador. Con la aparición de Ruby on Rails, muchas comunidades de desarrolladores -especialmente la de PHP- se han entusiasmado y estan apareciendo decenas de frameworks para ese lenguage. Los más recientes, como Solar o Cerebral Cortex, aprovechan el avanzado modelo de clases y objetos de PHP5, la última versión.

¿Necesito un Framework?

Pero un framework, a veces, puede ser más de lo que se necesita para ciertos proyectos. Siendo plataformas genéricas diseñadas para casi cualquier tipo de desarrollo, para un proyecto pequeño o urgente la cantidad de opciones y dificultad de instalación de un framework pueden ser abrumadores (la mayoría de los frameworks que he visto para PHP requieren actualizaciones de PEAR, lo que no siempre es posible en servidores compartidos). De cualquier modo, un frameworks es la forma en que un desarrollador decide solucionar sus proyectos, un ambiente de trabajo. En esencia un framework es la aplicación rigurosa de los principios básicos que hacen la diferencia entre un programa bien construído y uno malo: economía, modularización, separación de tareas. Incluso si decides no ocupar un framework existente, aplicando estos principios a tu trabajo tarde o temprano terminarás creando el tuyo propio.

Algunos recursos

En este link encontrarán una lista de Frameworks Open Source y temas relacionados que he encontrado, para PHP 4 y 5. Además recomiendo este breve tutorial que muestra una sencilla implementación del patrón MVC en PHP4 (en inglés).

Categories: PHP, PROGRAMACION Tags: