Desarrollo back-end con PHP Código:  M4.255    Créditos:  6
Consulta de los datos generales   Descripción   La asignatura en el conjunto del plan de estudios   Conocimientos previos   Objetivos y competencias   Contenidos   Consulta de los materiales que dispone la asignatura   Materiales y herramientas de apoyo   Bibliografía y fuentes de información   Información sobre la evaluación en la UOC   Consulta del modelo de evaluación  
Este es el plan docente de la asignatura. Os servirá para planificar la matrícula (consultad si la asignatura se ofrece este semestre en el espacio del Campus Más UOC / La Universidad / Planes de estudios). Una vez empiece la docencia, tenéis que consultarlo en el aula. El plan docente puede estar sujeto a cambios.

Una parte esencial de lo que ocurre en una aplicación web es lo que tiene lugar en el servidor web. Habitualmente esto incluye la "lógica de negocio" de la aplicación y, en muchas ocasiones, el trabajo con la base de datos. Es lo que se suele conocer como "back end" de la aplicación, por oposición a "front end", que hace referencia a lo que ocurre en el navegador web del usuario (o cualquier otra combinación de hardware y software, en el caso de las aplicaciones para dispositivos móviles, por ejemplo).

En esta asignatura veremos los fundamentos de este trabajo en el servidor. Para ello, de entre las múltiples soluciones que existen, veremos dos bloques, todos ellas basadas en la plataforma AMP (Apache, MySQL, PHP). Ordenadas de mayor a menor simplicidad (y en consecuencia, de menor a mayor potencia), se trata del gestor de contenidos Drupal, usado como si de un framework de aplicaciones se tratara, y Laravel, un framework de aplicaciones en PHP que probablemente, sea actualmente la mejor alternativa a Symfony, el framework PHP sobre el que funciona Drupal.

Aprenderemos a seleccionar la mejor solución para el desarrollo de cada aplicación en función de los diferentes condicionantes que tengamos y a desarrollar la aplicación propiamente.

Trabajaremos tanto sirviendo páginas web estáticas al cliente como pensando en la posibilidad de desarrollar aplicaciones "headless", que se encargan sólo de la lógica y están pensadas para que la parte front-end se desarrolle en paralelo, en HTML, CSS y JavaScript si queremos un cliente web o con la tecnología más conveniente si se trata de clientes móviles "nativos", por ejemplo. Estas tecnologías front-end no se verán en esta asignatura.

Amunt

Dentro del programa de máster en Desarrollo de Sitios y Aplicaciones Web esta asignatura se ocupa del desarrollo del lado servidor. Ilustra, además, para todos aquellos estudiantes que quieran centrarse en el desarrollo en el lado del cliente, cuál es el funcionamiento y las peculiaridades de las aplicaciones en el lado del servidor a que deberán acceder.

Amunt

Son muy convenientes tanto un conocimiento sólido de HTML y CSS como algún tipo de experiencia en programación, aunque no es necesario que se haya trabajado en PHP.

Amunt

Resultados de aprendizaje:

  • Recoger los requisitos funcionales de un sitio o aplicación web complejos
  • Analizar los mejores frameworks de desarrollo a utilizar para la programación de un sitio o aplicación web en función de las necesidades y los recursos disponibles y proponer un conjunto de tecnologías a utilizar
  • Programar aplicaciones en el lado del servidor utilizando el lenguaje de programación PHP y bases de datos relacionales
  • Documentar y explicar el proceso de creación de un sitio web de forma clara y legible tanto para clientes como para colaboradores

Competencias básicas y generales:

  • Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio;
  • Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios;
  • Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.
  • Analizar y sintetizar información técnica compleja.
  • Resolver problemas, identificando, analizando y definiendo sus elementos significativos.
  • Adaptarse a nuevas situaciones y entornos.
  • Aprender y actualizarse permanentemente.

Competencias transversales:

  • Innovar y generar ideas nuevas y llevarlas a la práctica.
  • Uso y aplicación críticos de las TIC en el ámbito académico y profesional.

Competencias específicas:

  • Seleccionar e implementar soluciones tecnológicas de manera efectiva y eficiente teniendo en cuenta los recursos, las alternativas disponibles y las condiciones de mercado.
  • Utilizar de manera adecuada los lenguajes de programación y las mejores herramientas de desarrollo para el análisis, el diseño y la implementación de sitios y aplicaciones web en función de las necesidades del proyecto.
  • Construir sitios web usables y accesibles desde cualquier tipo de dispositivo utilizando las mejores soluciones ofrecidas por los lenguajes de marcado.
  • Aplicar de la manera más adecuada los patrones de arquitectura de software más convenientes para cada problema.
  • Seleccionar y usar de manera efectiva los frameworks más adecuados para el desarrollo de aplicaciones tanto en el lado del navegador como en el del servidor.
  • Adaptarse a las tecnologías web y a los futuros entornos actualizando las competencias profesionales.

Amunt

  1. Sistemas de gestion de contenidos
    Definición de CMS. Frameworks vs CMS. Uso de los CMS. Componentes del servidor necesarios  para instalar CMS. Características de un buen CMS. Otras características de los CMS. Tipos de CMS
  2. WordPress
    Introducción. Instalación. El escritorio de WordPress. Configuración y seguridad. Introducción a los temas. ShortcodesPlug-ins
  3. Drupal
    Introducción. Instalación. Panel de administración. Módulos. Drupal vs WordPress. Integración con redes sociales. Themes
  4. Frameworks PHP. Laravel
    Instalación. Configuración. Conceptos de arquitectura. Fundamentos. Frontend. Seguridad. Bases de datos.

Amunt

Amunt

  • bin Uzayr, Sufyan. Learning WordPress REST API. Packt Publishing, 2016
  • Burrows, Alex. Drupal 8 Blueprints. Packt Publishing, 2017
  • Caya, Andrew. Mastering The Faster Web with PHP, MySQL, and JavaScript, Packt Publishing, 2018
  • Chumley, Chaz. Drupal 8 Theming with Twig. Packt Publishing, 2016
  • Dockins, Kelt. Design Patterns in PHP and Laravel. Apress, 2016
  • Glaman, Matt. Drupal 8 Development Cookbook - Second Edition. Packt Publishing, 2017
  • Gray, Markus; Carr, David. Beginning PHP. Packt Publishing, 2018
  • Hodgon, Jennifer. Programmer's Guide to Drupal, 2nd Edition. O'Reilly Media, 2015
  • Hurley, William; Chumley, Chaz. Mastering Drupal 8. Packt Publishing, 2017
  • Jones, Richard; Abbot, Nick. Learning Drupal 8. Packt Publishing, 2016
  • Król, Karol. WordPress Complete - Sixth Edition. Packt Publishing, 2017
  • Lefebvre, Yannick. WordPress Plugin Development Cookbook - Second Edition. Packt Publishing, 2017
  • Madel, Kurt; Tewari, Malabya et al. Drupal 8 Development Beginner's Guide - Second Edition. Packt Publishing, 2016
  • Mann, Eric. Security Principles for PHP Applications. php[architect], 2017
  • Nixon, Robin. Learning PHP, MySQL & JavaScript, 5th Edition. O'Reilly Media, 2018
  • Salehi, Sohail. Mastering Symfony. Packt Publishing, 2016
  • Stauffer, Matt. Laravel: Up and Running. O'Reilly Media, 2016
  • Waheed-ud-din Ahmad, Haafiz. Building RESTful Web Services with PHP 7. Packt Publishing, 2017

Amunt

La Normativa académica de la UOC dispone que el proceso de evaluación se fundamenta en el trabajo personal del estudiante y presupone la autenticidad de la autoría y la originalidad de los ejercicios realizados.

La falta de originalidad en la autoría o el mal uso de las condiciones en las que se hace la evaluación de la asignatura es una infracción que puede tener consecuencias académicas graves.

El estudiante será calificado con un suspenso (D/0) si se detecta falta de originalidad en la autoría de alguna actividad evaluable (práctica, prueba de evaluación continua (PEC) o final (PEF), o la que se defina en el plan docente), ya sea porque ha utilizado material o dispositivos no autorizados, ya sea porque ha copiado de forma textual de internet, o ha copiado de apuntes, de materiales, manuales o artículos (sin la citación correspondiente) o de otro estudiante, o por cualquier otra conducta irregular.

La calificación de suspenso (D/0) en la evaluación continua (EC) puede conllevar la obligación de hacer el examen presencial para superar la asignatura (si hay examen y si superarlo es suficiente para superar la asignatura según indique este plan docente).

Cuando esta mala conducta se produzca durante la realización de las pruebas de evaluación finales presenciales, el estudiante puede ser expulsado del aula, y el examinador hará constar todos los elementos y la información relativos al caso.

Además, esta conducta puede dar lugar a la incoación de un procedimiento disciplinario y la aplicación, si procede, de la sanción que corresponda.

Amunt

Esta asignatura sólo puede superarse a partir de la evaluación continua (EC). La nota final de evaluación continua se convierte en la nota final de la asignatura. La fórmula de acreditación de la asignatura es la siguiente: EC.


Ponderación de las calificaciones

Opción para superar la asignatura: EC

Nota final de asignatura: EC

Amunt