Framework, CMS, Comunidad y Software Libre
¿Quienes son ustedes?
- ¿Qué carreras?
- ¿Qué semestre?
- ¿Cuántas clases de programación han tenido?
- ¿Cuál es su lenguaje favorito?
- ¿Orientado a objetos o estructural?
- ¿Compilado o interpretado?
- ¿Tipos estáticos o dinámicos?
- ¿Cuál es su editor o IDE favorito?
- ¿Cuál es su sistema operativo favorito?
¿Qué es Drupal?
¿Por qué Drupal?
¿Cómo desarrollan páginas web?
¿Cómo desarrollan páginas?
- HTML
- CSS
- Tal vez Javascript
Geocities
Pero yo quiero una página dinámica
El poder del HTML
Este no es el Internet de nuestros padres
- Hosting gratis en neocities.org o en github.com
- Comentarios con facebook o disqus.com
- Videos con youtube o vimeo
- Mapas dinámicos con leaflet o google maps
- Formularios con Google Drive Forms, Mailchimp, SurveyMonkey
El poder del HTML
¿Por qué Drupal?
¿Cómo desarrollan páginas?
Como me ensañaron en la escuela:
- Servidor web (IIS, Apache, Nginx?)
- Lenguaje de programación (PHP, Java)
<!DOCTYPE html>
<html>
<head><title>Hola!</title></head>
<body>
<?php
echo "Hola desde la web<br>";
echo "Hoy es " . date('r');
?>
</body>
</html>
¿Cómo desarrollan páginas?
Usando bases de datos para guardar y actualizar:
- El contenido de las páginas
- Los usuarios que pueden modificar el contenido
- Los clientes que han solicitado información para saber a quienes mandarles spam
- Los productos o servicios que ofreces
¿Cómo desarrollan páginas?
<?php
include('connect.php');
$result = mysql_query("SELECT id, name FROM students");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf("ID: %s Name: %s", $row[0], $row[1]);
}
¿Cómo desarrollan páginas web?
- Primero haces copy paste de código
- Haces tu propia colección de funciones
- Creas clases que encapsulan funcionalidades básicas
- O las copias de phpclasses.org
¡Felicidades!
Haz creado tu propio Framework.
Quien no conoce la historia
(de PHP)
está condenado a repetirla
(en su propio framework)
¿Qué es un framework?
Es el fruto de la flojera de los programadores
¿Qué es un framework?
- Conectarse a la BD
- Mandar correos
- Autenticación y Autorización (usuarios y permisos)
¿Qué es un framework?
- Validación de formularios (SQL Injection)
- Filtrar la salida (XSS)
- Cachar el contenido para mejorar el desempeño (DDoS)
- Generadores de código
- Instalador
- Actualizaciones a la BD
- Pruebas automáticas
¿Qué es un framework?
- Librería de funciones y clases
- Estructura de archivos
- Estándar y convenciones
Web Frameworks
Mientras más grande es tu framework más lenta es tu aplicación
Mientras más minimalista es tu framework más tienes que programar tú
Aunque suene poco intuitivo, los frameworks minimalistas son para expertos
Usar un framework es pararse sobre los hombros de gigantes
Ejemplos de Web Frameworks
Ejemplos de frameworks
CMS
Content Management System
Manejadores de Contenido
Web 2.0
:P
Usos de un CMS
- Blog
- Catálogo / Portafolio
- ¿Quiénes somos?
- Intranet
30% de todos los sitios en Internet usan un CMS
Los 3 más usados: Wordpress, Joomla y Drupal
LAMP
Wordpress, Joomla, Drupal
Alexa, incluyendo subdominios. (diresnote)
Ejemplos de CMS
Wordpress: Playmobil.
Es más sencillo y fácil de usar
Drupal: Lego.
Necesitas unir varias piezas para que haga algo
pero es más flexible
Buena comparación aquí
Curva de aprendizaje
Wordpress recien instalado
Drupal recién instalado
Drupal + módulos
Drupal
CMF: Content Management Framework
- Fields (CCK). Crear tus propios tablas
- Views. Crear vistas de tus tablas
- Panels. Crear páginas con su propio layout
- Features. Guardar tus configuraciones en código
Drupal en acción
El poder de Drupal
- Taxonomías, categorización de contenido
- Permisos y roles de usuarios
- Seguridad (equipo de seguridad)
- Distribuciones y features
Otros usos
- Tienda en línea (KickStart)
- Intranet (OpenAtrium)
- Sitio para gobiernos (OpenPublic)
- Agregador de noticias (Managing News)
- Sitio de revista o periódico (OpenPublish)
- Comunidad (Drupal Commons)
- Escuela (Opigno)
Software Libre
Llegas por el código, te quedas por la comunidad
http://groups.drupal.org
/spanish
/mexico
/guadalajara
contribuciones
- Código
- Documentación
- Pruebas (probar parches)
- Cursos
- Traducciones
Drupal mexico
Framework, CMS, comunidad
By jackbravo
Framework, CMS, comunidad
- 1,125