Archive for the ‘PHP’ Category
Se ve bien en Firefox y en IE no…
Estaba buscando la manera mas facil de explicarle a mis estudiantes virtuales el porque usar cualquier navegador, menos IE, para aprender HTML y me he encontrado este articulo que cae a la perfeccion:
El otro día una amiga me comentó que una compañera suya estaba haciendo una web, y que en el Explorer se ve bien y en Firefox mal, y me preguntó que a qué podría ser debido. Le di una respuesta deprisa y http://cafeina.ladybenko.net/index.php corriendo y creo que no expresé bien, así que aquí va la full version. La comparto con vosotros porque seguramente nos esperen muchas más preguntas de este estilo.
La clave para entenderlo bien es darle la vuelta a la tortilla. La realidad es que en IE se ve mal, y en el resto de los navegadores (no sólo Firefox) se ve bien. Pongo bien y mal porque son apreciaciones que hacemos los humanos, subjetivas.
Los navegadores no son adivinos con bolas de cristal que se conectan a la mente del maquetador web e interpretan su voluntad. El maquetador tiene que dejar escrito, detalladamente, el contenido y apariencia de la página web: esto se consigue con los lenguajes (X)HTML y CSS.
Estos lenguajes se encuentran bien definidos cómo estándar, en el WWW Consortium (viene a ser algo así como la RAE). Este organismo se encarga de describir con precisión cómo deben interpretar el (X)HTML y el CSS los navegadores.
Ahora bien, los navegadores no siempre cumplen a pies juntillas lo que dice el W3C. Es más, cierto navegador no hace ni puto caso.
Pongamos un ejemplo ficticio: Imaginemos que el Explorer confunde los colores rojo y blanco, y los intercambia, debido a un error de programación (no entraremos a valorar si por descuido o deliberadamente). Es decir, que donde pone #FFFFFF IE lo interpreta como #FF0000, y viceversa. En este ejemplo supondremos que el resto de los navegadores interpretan los colores correctamente.
¿Qué pasaría si queremos hacer una página web con fondo blanco? En nuestro código HTML, pondríamos <body bgcolor="#FF0000"> que en IE se mostraría blanco. Entonces cuando vamos alegremente a mirar la web con otros navegadores, vemos que se muestra de color rojo fosforito. En Firefox se ve mal. Pues no. Por mucho que se empeñe el Explorer en hacer creer a los desarrolladores web, el número #FF0000 significa rojo, y prou.
Lo que ha pasado es que una página se ha desarrollado mal (a menudo inconscientemente) para forzar a que se vea bien en IE. Lo que obtenemos es que en IE la página se visualiza incorrectamente, pero por casualidades místicas esa visualización coincide con los deseos del diseñador.
Un ejemplo real y muy gráfico de cómo IE visualiza de mal las páginas lo podemos encontrar en el Acid Test. Es un ejemplo de página web que construye mediante código estándar y válido un dibujito de una cara sonriente. Según lo bien programado que esté el navegador, veremos este dibujo más o menos bien. Los únicos navegadores mayoritarios que lo muestran correctamente son Safari (Mac), Konqueror (GNU/Linux) y Opera (multiplataforma). Firefox se queda a medio camino, pero lo de Internet Explorer clama al cielo.
En resumen, lo más fácil para que una web se vea más o menos bien en todos los navegadores es hacerla primero para Firefox o cualquier otro navegador, y luego apañarla como buenamente podamos para Internet Explorer.
O sea, usa internet explorer, para probar que se ve bien, por si acaso uno de tus visitantes entra con ese navegador. Tu usa firefox!!!
Copiado de: http://cafeina.ladybenko.net/?p=303
Mas aqui: http://www.jorgeoyhenard.com/porque-no-usar-internet-explorer-6/399/
Clases 100% virtuales
Recientemente estoy trabajando en el proyecto Juvenctec, impartiendo clases de Php de manera 100% virtual. Quizas sea mucho trabajo, pero lo acepte ya que PHP es mi lenguaje favorito y de esta manera puedo probar que tanto se puede enseñar por este medio.
Como se ve.. la educacion virtual esta de moda, se ven muchas instituciones ofertando entrenamientos por esta via, pero existen mucha personas que tienen sus dudas, aunque esto de la educacion virtual tiene sus pro y su contra, tambien depende como se ha preparado el material para la clase.
Estoy de acuerdo de que no todo los cursos virtuales se pueden aplicacar con la misma metodologia, por lo cual se deben adoptar las mejores tecnicas para logar buenos objetivos. Que tipo de materiales se pueden usar en aula virtual, a continuacion selecciono de lo que mas he visto en practica:
- PDFs -> un documento en este formato, el cual puede ser desde un libro hasta un material preparado por el docente.
- Presentaciones (PPT, PPS) -> Presentacion en power point con los temas del curso.
- Videos -> Se pueden usar videos para tratar los temas mas complejos.
- Foros -> Para discutir los temas, desarrollados con otros metodos o compartir el conocimiento.
Estas herramientas tienen sus pro y sus contra, pero cada una se adecuan al tipo de entrenamiento, pero si se combinan correctamente el exito es aun mayor. Como soy programador he usado mucho los videos, ya que son una manera facil de mostrar como se hacen las cosas, no imagino mostrando un ejemplo con un power point, digo si lo imagino, pero me pongo en lugar del estudiante y esto no me gustaria.
He desarrollado un programa de 12 clases para juventec, y si quieres ver parte de los videos aqui te los pongo. Hasta ahora he logrado un buen ambiente en el aula…
Clase 1:
Parte 1 Parte 2 Parte 3 Parte 4 Parte 5 Parte 6
Clase 2:
La proxima Semana.
Luego les cuento que tal me va en el desarrollo de la clase.
Aplicaciones Web vs Escritorio
En mi carrera como programador, pocas veces he desarrollado una aplicacion de escritorio y segun veo las ventajas que brinda una aplicacion web, es poco probable que inicie un gran proyecto como aplicación de escritorio…
1. Concepto
Las aplicaciones Web utilizan lo que se conoce como clientes livianos (light clients) los cuales no ejecutan demasiadas labores de procesamiento para la ejecución de la aplicación misma. Desde el punto de vista de la arquitectura se distinguen dos lados el uno es el cliente en donde se encuentra el usuario final utilizando la aplicación por intermedio de una navegador (explorer o firefox), es aquí donde el usuario interactúa con la aplicación localizada al otro lado o servidor en donde residen realmente los datos, reglas y lógica de la aplicación.
2. ¿Por que este concepto ha tomado tanta relevancia?
La esencia del concepto es: no dejar que el cliente realice demasiadas tareas, solo lo necesario para que lleve a cabo su trabajo y dejar que en el lado del servidor se realicen las operación importantes: almacenamiento de datos, transacciones, reglas del negocio y la lógica del programa.
Con el auge de las rede locales (empresariales, institucionales o caseras) y la popularidad de la Internet ofreciendo la oportunidad de acceso a través de computadores y otros dispositivos móviles, lo que era algo de uso privilegiado hace algunos años, ahora es común. La Internet ha elevado y extendido aun más el concepto de aplicación Web para servir no sólo a usuarios de una pequeña red sino ubicados en cualquier sitio donde tenga acceso a la Internet.
3. Problemas con las aplicaciones de escritorio.
Con la división del problema en dos partes, se logra centralizar la administración en general a un solo lado: el servidor, resolviendo una gran cantidad de problemas anteriormente encontrados en las aplicaciones de escritorio mono usuario, como son:
- Duplicidad de datos por la falta de unificación de los mismos.
- Diseminación de la información y lógica en muchas partes (cada computador que la use).
- Falta de portabilidad de la aplicación a diferentes sistemas operativos
- Traumas a la hora de realizar actualizaciones o correcciones al programa ya que las instalaciones están diseminadas
- La administración de la seguridad, controlando el acceso a los usuarios a información no relevante o privada es un caos.
- Dificultad para configurar cada una de las instalaciones.(deployments) dependiendo de las necesidades de cada usuario
4. Que pasa con las aplicaciones de consola o modo texto?
Con aplicaciones tipo consola nos referimos a las aplicaciones construidas en plataformas del tipo Cobol, AS400 y RPG, FoxPro entre otras.
El concepto de las aplicaciones de consola es un poco similar al de una aplicación Web con una arquitectura del tipo cliente-servidor en el cual el cliente también se puede considerar liviano. Aunque existen algunas diferencias como son:
- Protocolos de comunicación propio y no estándar como si ocurre en Web con el protocolo HTTP y el concepto de URL.
- Formatos de intercambio propio y no estándar como si ocurre en Web con el formato HTML o XML.
- En el lado del cliente hay restricciones con las vistas ya que es necesario instalar APIs específicas que no son estándar, portables, o extensibles. En la Web sólo se debe instalar un navegador para acceder a la aplicación.y demas.
- La dependencia con el proveedor del software con respecto a la plataforma, arquitectura, hardware, sistema operativo y demás aditamentos que lleva consigo el “paquete” de la “solución” es inmensa en las aplicaciones de consola. En la Web la división por capas de las soluciones hace posible una independía en todo sentido mucho mayor.
5. La Web
La Web se puede considerar como una plataforma o “sistema operativo” en el cual los recursos están distribuidos en la red y están siendo extendidos en todo momento con posibilidades ilimitadas.
La Web se ha hecho popular con aplicaciones tales como clientes de correo, buscadores, portales, foros, chats, IRCs, RSSs, blogs y demás. Además de estas aplicaciones de propósito general existe adicionalmente una gran diversidad de soluciones que se acomodan al ambiente Web como son: Administradores de contenido (CMS), Administrador de proyectos, Suites para trabajo colaborativo, Administración de relaciones con el cliente (CRM), ERP y demás
La Web se reinventa día a día, lo que ayer parecía imposible hoy es una realidad, hace uno año o quizás meses no me cabía en la cabeza que hubiera muchas opción para realizar una hoja de calculo (Excel) en plataforma Web docs.google.com o que tal un juego animado de construcción de mundos (Age of empires) www.travian.net, un sistema de búsqueda mapas y direcciones (Google maps) maps.google.com. Google es uno de tantos que ha ayudado y sirve de infraestructura para llevar a cabo tales ideas a la realidad.
Si bien es cierto que la arquitectura cliente servidor de la web ha ofrecido muchas ventajas también es cierto que carece de la riqueza gráfica de las aplicaciones de escritorio que cuentan con controles inteligentes que dan mayor fluidez al trabajo del usuario, esto ha sido resuelto con varias estrategias o tecnologías tales como AJAX, flash y Web 2 entre otras. Asi que en vez de ir perdiendo fuerza debido a la pobreza en sus interfaces gráficas, la web busca alternativas que le permitan ofrecer todas sus ventajas pero con la posibilidad de ofrecer controles visuales más amigables al trabajo del usuario.
6 Integración
No se puede despreciar el enorme impacto que ha tenido el computador personal o PC en la actualidad, el haber puesto al servicio de un usuario normal el poder de una computadora en vez de una terminal simple ha potenciado una gran diversidad de usos.
Las aplicaciones de escritorio se han usado y se seguirán usando y tienen un campo enorme (sistemas CAD, CAM, suite de oficina, aplicaciones graficas, juegos, utilidades o el mismo sistema operativo), no todo esta en Web, hay cosas que se necesita que se ejecuten estrictamente en su máquina para aprovechar el poder que tiene al alcance. Pero la fusión e integración de servicios de los computadores, las aplicaciones de escritorio y la extensión de las facultades de comunicación con las aplicaciones Web que hace posible la Internet es la plataforma óptima que sirve de infraestructura para todos los usuarios desde el tipo empresarial, institucional o personal.
Referencias
Como usar de un modo práctico estas técnicas para el desarrollo Agil de aplicaciones, ver mas en: Open Systems Development (OSD) – http://www.osdglobal.com
AsgReport, ya se hace algo con el…
Saludos, como les habia dicho en el post anterior de AsgReport, Aqui esta la primera version visible de este programa. Como les habia dicho he utilizado en ocaciones la clase Fpdf para generar pDFs ,pero para ser sincero de verdad hay que estar de animos para hace algo con ella. Asi que he decidido en mi tiempo libre realizar un gui para hacer PDFs con esta clase. Claro que ahora estoy un poco lejos de lo que quiero (Manejo de datos, saltos automaticos, etc), pero ya esta la plataforma hecha, ahora es solo añadir opciones. Puedes ver un beta del recien nacido en http://adamix.net/asgReport/. En lo proximo publico un roadmap y la lista de feactures que tendra el producto final.
Por ahora solo tiene dos controles rudimentarios que son el label y la imagen, y el resize hay que hacerlo por la ventana de propiedades, pero genera pdf mas facil que con fpdf. En lo pronto le pongo campos dinamicos para que genere una clase que se pueda usar en algun proyecto. No doy opcion a descargar la clase ya que hasta ahora es un PDF sin muchas opciones, pero le gano a cualquiera que venga a hacer los mismo con fpdf pelado a codigo limpio. Al añadir una imagen por defecto se coloca el src a una imagen local, pero puedes poner cualquier imagen si sabes la ruta de internet. Nada, pruebalo y me cuentan que tal lo ven. http://adamix.net/asgReport/
AsgReport, reporteador PHP.

Reporte
En unos dias subo mas detalles, acerca de un reporteador que estoy desarrollando para php, explico en que consiste a ver si alguien me quiere acompañar en este proyecto.
No es para un cliente especifico, es solo para ahorrarme trabajo a la hora de realizar un software en php y sacar un reporte en PDF. basado en FPDF estoy realizando un GUI para dicha clase de producir PDFs, en algunos dias actualizo con mas detalles.