Curso de Programación Web en PHP

download Curso de Programación Web en PHP

of 50

Transcript of Curso de Programación Web en PHP

  • 8/16/2019 Curso de Programación Web en PHP

    1/50

    Curso de Programación W

    en PHP

    Fundación Metropolitana del Ecuador

    Profesor: MSc. Carlos M. [email protected]

  • 8/16/2019 Curso de Programación Web en PHP

    2/50

    1er encuentro…• Historia de la Internet.

    • La internet de hoy.

    • La web como herramienta.

    • Construcción de páginas web.

    • Lenguajes de programación.

    • Servidor y flujo de datos.

    • Comparación entre la programación Web y Desktop.

    • Arquitecturas de desarrollo de Aplicaciones Web.• Patrones de Diseño.

    • Generalidades del curso.

    • Qué necesitas para programar Web en PHP.

    • Temas en este curso.

  • 8/16/2019 Curso de Programación Web en PHP

    3/50

    Historia de la Internet.

    • 1962. Inicio de investigaciones por parte de ARPA, una a

    ministerio estadounidense de defensa, y se defienden ideas una red global de computadoras.

    • 1969. Conexión de las primeras computadoras entre 4 univestadounidenses a través de la Interface Message Processor.

    • 1971. 23 computadoras son conectadas a ARPANET. Envío correo.

    • 1983. Primer servidor de nombres de sitios.

    • 1984. 1000 computadoras conectadas.

    • 1989. 100000 computadoras conectadas.

    • 1991. Se anuncia públicamente la World Wide Web. DARPANET.

  • 8/16/2019 Curso de Programación Web en PHP

    4/50

    • 1991. Primer sitio web Oficial.• 1993. Aparición del navegador web NCSA Mosaic y el p

    buscador de la historia, Wandex servía como un índice web.

    • 1995. Surge Yahoo.

    • 1996. 10 millones de computadoras conectadas.• 1998. Fundación de Google (nuevos enfoques para el

    ordenamiento por relevancia)

    • 2000. Explosión de la Internet Mundial.

  • 8/16/2019 Curso de Programación Web en PHP

    5/50

    Primer Sitio Web de la Historia.

  • 8/16/2019 Curso de Programación Web en PHP

    6/50

    La internet de hoy.

  • 8/16/2019 Curso de Programación Web en PHP

    7/50

    Qué se hace hoy en internet?

  • 8/16/2019 Curso de Programación Web en PHP

    8/50

    La web cómo herramienta principal deInternet

  • 8/16/2019 Curso de Programación Web en PHP

    9/50

    Qué es una Web?

    • Una página web, página electrónica o ciberpágina, es un do información electrónica capaz de contener texto, soniprogramas, enlaces, imágenes, y muchas otras cosas, adapla llamada World Wide Web (WWW) y que puede sermediante un navegador. Esta información se encuentra genen formato HTML o XHTML, y puede proporcionar n

    (acceso) a otras páginas web mediante enlaces de hiperpáginas web frecuentemente también incluyen otros recupueden ser hojas de estilo en cascada, guiones (scripts),digitales, entre otros.

  • 8/16/2019 Curso de Programación Web en PHP

    10/50

    Web 1.0

    • La Web 1.0 (1991-2003) estado más básico de la World Widenavegadores de sólo texto.

    •  La Web 1.0 es de sólo lectura. El usuario no puede interactcontenido de la página (nada de comentarios, respuestas, citas,

    • Es en general un término que ha sido creado para describir la del impacto de la fiebre punto .com en el 2000-2001, que emuchos como el momento en que el internet dio un giro contun

  • 8/16/2019 Curso de Programación Web en PHP

    11/50

    Web 2.0

    • El término Web 2.0 se refiere a una serie de aplicaciones y Internet que utilizan la inteligencia colectiva para proservicios interactivos en red.

    • Blogs: Espacio web personal. (La blogosfera es el conjuntque hay en internet)

    • Wikis: En hawaiano "wiki" significa: rápido, informal.

  • 8/16/2019 Curso de Programación Web en PHP

    12/50

    Web 3.0• Web 3.0 es una expresión que se utiliza para describir la evo

    uso y la interacción de las personas en internet a través de formas entre los que se incluyen la transformación de la rbase de datos, un movimiento social hacia crear caccesibles por múltiples aplicaciones non-browser, el emptecnologías de inteligencia artificial, la web semánticaGeoespacial o la Web 3D.

  • 8/16/2019 Curso de Programación Web en PHP

    13/50

  • 8/16/2019 Curso de Programación Web en PHP

    14/50

    Web 4.0

    • El Objetivo Primordial es unir las inteligencias de las personacosas, logrando la comunicación entre sí.

    • Para el 2020 se espera que haya agentes en la Web que conaprendan y razonen como lo hacemos las personas.

  • 8/16/2019 Curso de Programación Web en PHP

    15/50

    Evolución de la Web.

  • 8/16/2019 Curso de Programación Web en PHP

    16/50

    Construcción de Páginas Web.

    Tecnologías Web(Filosofía cliente - servidor)

    Tecno logías d el lado del Cli ente 

    Navegador Web

    •Internet Explorer 

    •Netscape Navigator 

    Tecnologías de programación

    •HTML

    •Hojas de estilo en cascada(CSS)

    •JavaScript.

    Tecnologías Web(Filosofía cliente - servido

    Tecno logías del lado d el Se

    Servidor Web

    Internet Information Server (I

     Apache

    Tecnologías de Programació

    PHP

     ASP

     ASP.NET

  • 8/16/2019 Curso de Programación Web en PHP

    17/50

    Tecnología Cliente - Servidor

  • 8/16/2019 Curso de Programación Web en PHP

    18/50

    HTML.

    • HTML, sigla en inglés de HyperText Markup Language (le

    marcas de hipertexto), hace referencia al lenguaje de marcaelaboración de páginas web. Es un estándar que sirve de del software que conecta con la elaboración de páginas wdiferentes versiones, define una estructura básica y (denominado código HTML) para la definición de contenipágina web, como texto, imágenes, videos, juegos, entre ot

  • 8/16/2019 Curso de Programación Web en PHP

    19/50

    Javascript.• JavaScript (abreviado comúnmente JS) es un len

    programación interpretado. Se define como orientado basado en prototipos y dinámico.

    • Se utiliza principalmente en su forma del lado del cliente (cimplementado como parte de un navegador web pemejoras en la interfaz de usuario y páginas web dinámicas.

  • 8/16/2019 Curso de Programación Web en PHP

    20/50

    CSS.• Hoja de estilo en cascada o CSS (siglas en inglés de casca

    sheets) es un lenguaje usado para definir y crear la preseun documento estructurado escrito en HTML.

  • 8/16/2019 Curso de Programación Web en PHP

    21/50

    PHP.• PHP es un lenguaje de programación de uso general de c

    lado del servidor originalmente diseñado para el desarro

    contenido dinámico. Se puede incorporar directamendocumento HTML y el código es interpretado por un servidoun módulo de procesador de PHP que genera la páresultante.

  • 8/16/2019 Curso de Programación Web en PHP

    22/50

    Apache.

    • Apache es un poderoso servidor web, completamente libre

    un software Open Source y con licencia GPL. Una de las vegrandes de Apache, es que es un servidor web multiplatadecir, puede trabajar con diferentes sistemas operativos ysu excelente rendimiento.

  • 8/16/2019 Curso de Programación Web en PHP

    23/50

    Flujo de Datos.

    •   Apache

    •   Codificación PHP, JS, CSS y HTML.

    •   Acceso a datos.

  • 8/16/2019 Curso de Programación Web en PHP

    24/50

    Comparación con la Programación D

    Cliente Enriquecido Cliente Inteligen

    Programación de Sistemas Informáticos

    ¿?

    Programación d

    Sistemas Web

    Programación de

     Aplicaciones de

    Escritorio

  • 8/16/2019 Curso de Programación Web en PHP

    25/50

    Cliente Enriquecido(Ejecución de código)

    Código Fuente

    Compilador

    Código Ejecutable   10101010100

    Borland Builder C++, D

    Escrito en

    lenguaje de

    alto nivel

     Aplicación

    Resultante

  • 8/16/2019 Curso de Programación Web en PHP

    26/50

    Caso de Java

    Código Fuente

    Compilador

    Código Intermedio   10101010100

    Eclipse, NetBeans,…et

    Escrito en

    lenguaje java

    ByteCode

    Máquina VirtualInterprete

  • 8/16/2019 Curso de Programación Web en PHP

    27/50

    Cliente Inteligente(Ejecución de código)

    •   Apache

    •   Codificación PHP, JS, CSS y HTML.

    •   Acceso a datos.

  • 8/16/2019 Curso de Programación Web en PHP

    28/50

    Código Fuente

    Intérpetre

     Aplicación

    Resultante

    Cliente Inteligente(Ejecución de código)

    EtiquetasCódigo y/o Etiquetas

    Preprocesamiento

    Navegado(Firefox, IE

    etc…)

    PHP, ASP…

    CLIENTE

    SERVIDOR

  • 8/16/2019 Curso de Programación Web en PHP

    29/50

    Ventajas de la Web.

    • 1. Ubicuidad. Se accede a la aplicación desde cualquier equipo i

    (ordenador personal, PDA...) conectado a Internet, con indepesu situación geográfica. Así, es posible controlar en todo msituación y contenidos de la Web, tanto desde el propio local ccasa, o incluso desde el extranjero...

    •   2. Multiusuario. A diferencia de las aplicaciones de escritorio,

    el usuario frente al ordenador puede utilizar la aplicacióaplicaciones Web puede haber varios usuarios conectados simultáneamente, cada uno a través de un ordenador distintubicación geográfica separados (empresas con varios almaejemplo), y todos utilizar la aplicación con normalidad.

  • 8/16/2019 Curso de Programación Web en PHP

    30/50

    3. Independencia de software. Para acceder a la aplicación sólo e

    un navegador Web estándar, sin necesidad de instalar en caningún otro programa específico. Debido a estos bajos requerisoftware puede utilizarse incluso desde ordenadores obsolepotentes.

    4. Seguridad. Al albergarse en un servidor remoto, el funcionamaplicación y los valiosos datos que contiene son totalmente indedel ordenador utilizado para la gestión. Así, la normal operaaplicación es inmune a una avería de hardware, virus inforcualquier otro problema local. En caso de necesidad, basta conconexión al servidor desde cualquier otro ordenador personal o

  • 8/16/2019 Curso de Programación Web en PHP

    31/50

    • Multiplataforma e interoperabilidad. A diferencia de las apde escritorio, que sólo pueden funcionar bajo el sistema pfueron diseñadas, las aplicaciones Web son multiplatafdiseño. Esto significa que podrá conectar con el softwcualquier versión de Windows -presente o futura-, y desistemas operativos como GNU/Linux, Solaris, Symbian

    móviles,)...

  • 8/16/2019 Curso de Programación Web en PHP

    32/50

    Puntos Comunes.

    •  Programación estructurada.

    •  Programación lineal.

    •  Programación no lineal.

    •   Programación Orientada a Objetos.

    A i l d ll d

  • 8/16/2019 Curso de Programación Web en PHP

    33/50

    Arquitectura para el desarrollo deAplicaciones Web N-Capas.

    •  La Arquitectura de Aplicaciones en n-capas se ha converestándar para el software empresarial. Se caracterizdescomposición de las aplicaciones.

    • Proporciona una escalabilidad, capacidad de adminisutilización de recursos mejorados.

    •  Cada capa es un grupo de componentes que realiza un

    específica.• Se puede actualizar una capa sin recompilar otras capas.

  • 8/16/2019 Curso de Programación Web en PHP

    34/50

    1.Capa de presentación

    2.Capa de negocios

    3.Capa de datos

     Arquitectura de 3 capas

    (1)

    (2)

  • 8/16/2019 Curso de Programación Web en PHP

    35/50

    Capa de Presentación

    • Formularios

    • Informes

    • Respuestas al usuario

    Por regla general, La capa de la presentación es unainterfaz gráfica que muestra los datos a los usuarios.

  • 8/16/2019 Curso de Programación Web en PHP

    36/50

    Capa de Negocio

    • Reglas del negocios

    • Validaciones

    • Cálculos

    • Flujos y procesos

    La capa de la lógica de negocios es responsable de pro

    datos recuperados y enviarlos a la capa de presentac

  • 8/16/2019 Curso de Programación Web en PHP

    37/50

    Capa de datos

    • Base de datos

    • Tablas

    • Procedimientos almacenados

    • Componentes de datos

    La capa de datos almacena los datos de la aplicació

    almacén persistente, tal como una base de datos rela

    archivos XML.

    Arquitectura para el desarrollo de Aplicac

  • 8/16/2019 Curso de Programación Web en PHP

    38/50

    Cliente #1

    Cliente #2

    Cliente #3

    Cliente #N

    Arquitectura para el desarrollo de AplicacWeb utilizando 3 Capas.

    Presentación Negocio Dato

  • 8/16/2019 Curso de Programación Web en PHP

    39/50

    Modelos de desarrollo de Aplicaciones W1. Desarrollo en cascada: Resultados visibles sólo al final.

    •  Es el enfoque metodológico que ordena rigurosamente las etapas del proceso par

    de software, de tal forma que el inicio de cada etapa debe esperar a la finalizacianterior.

    2. Desarrollo en espiral: más conveniente.

    •  Las actividades de este modelo se conforman en una espiral, en la que cada burepresenta un conjunto de actividades. Las actividades no están fijadas a ninguna p

    Modelo Vista Controlador: conveniente y robusto.

    3. Es un patrón o modelo de abstracción de desarrollo deque separa los datos de una aplicación, la interfaz de uslógica de negocio en tres componentes distintos.

  • 8/16/2019 Curso de Programación Web en PHP

    40/50

    Modelo - Vista - Controlador

    • Es un Patrón de Diseño donde el modelo

    es el Sistema de Gestión de Base de Datosy la Lógica de negocio, y el controlador esel responsable de recibir los eventos deentrada desde la vista.

  • 8/16/2019 Curso de Programación Web en PHP

    41/50

    Aclaración.

    • No confundir la Arquitectura para el desarrollo de Aplicac(orientado básicamente a la estrategia de desarrollo) con eldiseño MVC (más centrado en la estructura del código).

  • 8/16/2019 Curso de Programación Web en PHP

    42/50

    • Servidor web(contiene Apache, con PHP y Mysql).

    • Netbeans como IDE de Programación.

    Ambiente de trabajo en el curso.

  • 8/16/2019 Curso de Programación Web en PHP

    43/50

    Programar como meta

  • 8/16/2019 Curso de Programación Web en PHP

    44/50

    Sin censuras… lleva tiempo y esfuerzo.

    Aprender a programar….

    Cómo piensas que será… Cómo será en realidad…

  • 8/16/2019 Curso de Programación Web en PHP

    45/50

    Recomendaciones para aprender a progra

    • No tengas prisas.

    • Conocer fundamentos de la programación.

    • Empezar por un lenguaje de programación muy usado y con

    • Resolver problemas sencillos.

    • Codificar todo lo que se estudia.

    • Hacer preguntas.

    • Ser perfeccionista.

    • Escribir y escribir código.

  • 8/16/2019 Curso de Programación Web en PHP

    46/50

    Qué necesitas para programar Web en

    • Tener dominio de los fundamentos de la Programación.

    • Conocer cómo mínimo lenguajes como HTML, CSS, Javascripúltimo PHP y MySql.

    • Codificar y preguntar siempre.

    • No detenerte ante los problemas.

    • Estudiar y usar las nuevas tecnologías.

    • Dominar las herramientas para la construcción de Aplicacioactuales(CMS, frameworks, …).

  • 8/16/2019 Curso de Programación Web en PHP

    47/50

    Temas en este curso…

    • Maquetación de sitios web utilizando HTML5 y CSS3. (1 sem)

    • Programación del lado del cliente utilizando JavaScript nativo• Programación del lado del servidor utilizando PHP nativo.(2 s

    • Programación Orientada a Objetos en PHP.(1 sem)

    • Modelación y Gestión de Bases de Datos. (1 sem)

    • Desarrollo de Sistemas de Gestión utilizando PHP.(1 sem)

    8 encuentros, entre 3 y 5 horas cada uno.

    4-8 horas de trabajo individual por cada hora de clase

    Una evaluación Final con un trabajo integrador.

  • 8/16/2019 Curso de Programación Web en PHP

    48/50

    El Profesor…

    • MSc. Carlos M. Delgado Riveros

    • Ingeniero Informático y Máster en Matemática Aplicada.• Profesor en Universidades de Cuba, Panamá y Ecuador.

    • Desarrollo de Proyectos Web en países como Cuba, Panamá, BélEcuador.

    • Utiliza Herramientas como Joomla, Wordpress, Moodle, OJS, ade

    frameworks como Yii, Codeigniter o Symphony.

    • Email: [email protected]

    • Telef: 0998724637

    ó

    mailto:[email protected]:[email protected]

  • 8/16/2019 Curso de Programación Web en PHP

    49/50

    Próximo encuentro…

    • Maquetación de sitios web utilizando HTML5 y CSS3.

    • Estudio independiente. Literatura especializada.

  • 8/16/2019 Curso de Programación Web en PHP

    50/50

    Curso de Programación W

    en PHPGracias

    Fundación Metropolitana del Ecuador

    Profesor: MSc. Carlos M. Delgado

    [email protected]