Build It Fast
XML
PHP
Template
Sergio Cayuqueo
<
[email protected]>
BIF - Resumen
Que es y Para que sirve
Problemas y soluciones
Cómo funciona
Usando BiF
Conclusiones
Referencias y preguntas
http://www.bif.org.ar
BIF – ¿ Para que sirve ?
Framework en PHP
Clases y funciones PHP
Desarrollo Argentino
¿Por qué desarrollar en Web?
Clientes y Servidores Independientes
Representación Remota
Centralización
¿Por qué desarrollar en PHP?
Libre y muy documentado, orientado al web
Soporte de múltiples servidores Web y Sistemas
Operativos
Más de 10 sistemas de bases de datos soportados
http://www.bif.org.ar
BIF – Problemas y soluciones
Noviembre de 2000.
Comienzo del proyecto
Templates PHP.
Sitios más grandes
Duplicación de código.
Copy paste oriented programing
Multiples BUG's, y dificil corrección
Solución.
Orientación a Objetos de los componentes
http://www.bif.org.ar
BIF - Personificación
2 horas 120 páginas
U$S 200
Bastante rápido .. está bueno programar
Muchas horas 120 páginas
Mucho cansancio
U$S 200
¿Se puede cambiar este color ? .. nooo!!!
Repetición de código
1 Template = página
Costo de mantenimiento
http://www.bif.org.ar
BIF – Esquema BiF
Archivo de configuracion bifConfig.inc.php
Skins
Configuración apilable
Templates, imagenes, css
Componentes
Configuración
Persistencia de estado
Contenido
Repartido en archivos .bif XML
Almacenado en base de datos
http://www.bif.org.ar
BIF – Arquitectura BIF
Base
PEAR
Conexion con Bases de Datos
Representacion de Skins
Autenticacion
Componentes
Persistencia de estado
IDM, Wizars, Login, etc.
Widgets
Clases abstractas que reciben contenidos
http://www.bif.org.ar
BIF - Widgets
Widgets :
Separación en componentes lógicos
http://www.bif.org.ar
BIF – Skins y los Widgets
Skins apilables
skins.txt :
SkinDefault
SkinLinuxVa
SkinGleducar
http://www.bif.org.ar
BIF - Skins
Skins
Basadas en templates
Skins apilables
Soporte de CSS
Configuración de Skins skins.txt
SkinDefault
SkinAqua
#SkinAvina
#SkinFSM
#LinuxVa
SkinGleducar
http://www.bif.org.ar
BIF - Skins
Ejemplo de Skin Default
skins.txt :
SkinDefault
<TitleBox TITLE=”Funciono”>
Esta es la primera prueba con BIF3
</TitleBox>
http://www.bif.org.ar
Ejemplo de Skins
Avina Classic Ihuro
Aqua Helius LinuxVa
FSM
Avina
Eos
Default
BIF – Problemas y Soluciones
Problemas encontrados y su solución con BiF
Mantenimiento
Repetición de código
Diferente Representación, pero igual lógica
Estética levemente diferente
Persistencia de estado
Conexiones a bases de datos
Separaración de los roles a cumplir
http://www.bif.org.ar
BIF – División de Roles
El encargado de los contenidos.
Decide los datos a visualizar en la aplicación, los
contenidos se definen en archivos (.bif) XML.
El programador BiF.
Programador BiF que agrega código PHP según las
necesidades de la aplicación, realizando u
ampliando algún Widget o Componentes según se
necesite.
El encargado del diseño.
Modifica las skins pudiendo utilizar cualquier
programa de diseño de sitios web.
http://www.bif.org.ar
BIF – Resultado obtenido
http://www.bif.org.ar
BIF – Templates
Diferente estética
http://www.bif.org.ar
BIF – Templates
http://www.bif.org.ar
BIF – PHP y XML
Ejemplo buscar.php
01 <?php
02 include('bifConfig.inc');
03 $root = & render_file('buscar.bif');
04 print $root->draw();
05 ?>
Ejemplo buscar.bif
01 <BifRoot TITLE="Buscar">
02 <Title1 TEXT="Busqueda" />
03 <GoogleSearch KEY="sl3sds0lfss" QUERY="lanux grupo
de usuarios" />
04 </BifRoot>
http://www.bif.org.ar
BIF – Ampliando
Ampliando BiF a nuestras necesidades
Skin Propio
Agregar los directorios Skins/MiSkin
Crear Skins/MiSkin.php
Editar skins.txt (SkinMiSkin)
Widget Propio
Crear Widgets/MiWidget.php
Crear Skins/MiSkin/miwidget.tpl
http://www.bif.org.ar
BIF - Instalación
Versiones de BiF
PHP4 Stable
PHP5 Testing CVS
Bajar el paquete BIF3
Revisar Documentación
Manual de Usuario
API en PHPdoc
Copiar el directorio bif3-{versión} al disco
Bajar el paquete BIF3-Site
Hojear bifConfig.inc.php
Modificar skins.txt
Modificar index.php e index.bif
http://www.bif.org.ar
BIF – Paquetes
Formatos de Paquetes disponibles de BiF
Tar.gz (genérico)
Makefile de instalación PREFIX=/usr/share/bif3
Makefile generador de RPM's DEB's y TGZ
Rpm's
bif3-mdk
bif3-site-mdk
Debian / Ubuntu
bif3
bif3-site
Slackware (TGZ)
Gentoo (Ebuild)
http://www.bif.org.ar
BIF – En donde corre y se usa
Plataformas
Linux (Mandrake, Gentoo, Ubuntu, Debian)
Windows XP, 98
Cualquier sistema que corra PHP4 o PHP5
Ambitos
Sitios Web
Comerciales, ONG's etc
Aplicaciones Web
Ejemlos
Listado de turnos medicos
Tickets de soporte tecnico
Agenda de contactos
http://www.bif.org.ar
BIF - Conclusiones
Ayuda al mantenimiento
No se repite código
No se repite diseño
Facilidad de expansión
Un widget nuevo para cada necesidad
Divion de roles
Organización y orden del grupo de trabajo
Reutilizar trabajo para otras aplicaciones
Re utilizar los mismos Widget y/o componentes
Re utilizar las mismas Skins o combinarlas
http://www.bif.org.ar
Agradecimientos
Software libre
Licencia GPL
CaFeLUG y USLA
Y la difusion dia a dia del software libre
Por los esfuerzos en llevar a cabo este evento
http://www.bif.org.ar
Preguntas
Referencias
http://www.bif.org.ar
Lista de Correo
Web Site
Jabber ID
[email protected]
join
[email protected]
Repositorio Debian
deb http://bif.lunix.com.ar/deb/ ./
Sergio Cayuqueo
<
[email protected]>
Comentarios de: Buid It Fast XML PHP Template (0)
No hay comentarios