Mostrando entradas con la etiqueta web. Mostrar todas las entradas
Mostrando entradas con la etiqueta web. Mostrar todas las entradas

martes, 17 de octubre de 2017

Laravel

¿Qué es Laravel?

Es un framework para aplicaciones web con una elegante sintaxis. Nos ofrece componentes no tan básicos para intenta eliminar cierta parte del desarrollo, facilitando las tareas más comunes que se utilizan en la mayoría de proyectos web, tales como la autenticación, enrutamiento, sesiones y caché. Es necesaria la versión 5.5 o superior de PHP. Y usaremos Composer para su instalación.

Laravel está construido para la última versión de PHP, aunque se puede usar a partir de la versión 5.5. Cuenta con algunos componentes para desarrollo, algunos ofrecen funciones básicas muy útiles como por ejemplo soporte para autenticación y una unidad de pruebas. Cuenta con ORM propio, llamado Eloquent. Usa el motor de plantillas Blade. Es bastante sencillo construir una API REST full. Tiene un sistema de rutas, las cuales hay que definir previamente. La instalación mediante Composer. Gran comunidad de desarrollo y buena documentación.

Laravel también cuenta con una comunidad considerable en español, aunque no tan grande porque no ha tenido mucho fomento en la comunidad de habla hispana.

Codeigniter vs Laravel Trends 
Laravel comienza a desplazar a CodeIgniter por mucho e inicia a tener mucha presencia en Europa y asia, un framework que comienza a tener una gran apertura.

Laravel tiene una instalación un poco más tediosa, por ejemplo, la necesidad de usar Composer para instalar Laravel es un pequeño atraso ante su competencia, puede ser un impedimento a la hora de usar Laravel en un hosting normal y corriente. Y una forma de programar un poco más estricta en cuanto al patrón MVC.

Por supuesto si estás empezando en el mundo del desarrollo web te aconsejo encarecidamente que empieces aprendiendo PHP y CodeIgniter pero si ya dominas el segundo y estas dispuesto a comenzar con algo más interesante. Continuemos.

Metodología

La principal metodología que debemos manejar para utilizar Laravel viene siendo la de MVC (Modelo Vista Controlador) ya que es la base del desarrollo en este framework y en muchos más. En donde también necesitamos comprender que todo inicia cuando definimos nuestras primeras rutas, que es en donde parte todo el desarrollo de Laravel.

Las rutas vienen siendo las URL de nuestro sistema, luego estas rutas se enlazan con nuestro Controlador. Y en nuestros controladores podemos enviar variables a nuestras Vistas y también podemos consultar nuestros Modelos que son los objetos que estan enlazados a nuestras tablas de nuestra base de datos.

mvc1

¿Tecnologías para comenzar a trabajar con Laravel?

  • Composer: es una herramienta para la gestión de las dependencias en PHP. Nos permite declarar las bibliotecas  que necesitaremos en nuestros proyectos y de cuales libreras depende y Composer nos ayudara a (instalar / actualizar) de una manera sencilla y practica.
  • Blade: es un motor de plantillas, Blade es simple pero potente y esta integrado ya en Laravel. A diferencia de otros motores de plantillas de PHP, Blade no restringe el uso de código PHP normal en sus vistas. De hecho, todas las vistas se compilan en código PHP simple y son guardados hasta que sean modificadas con esto no generar lentitud en la carga de tu aplicación utilizando Blade. Los archivos de vista de Blade utilizan la extensión de archivo .blade.php y normalmente se almacenan en el directorio Resources / views.
  • Artisan: es la interfaz en línea de comandos (shell) que se incluye con Laravel. Proporciona una serie de comandos útiles que nos ayudaran  mientras se construye su aplicación. Por ejemplo cuando queremos crear una tabla en nuestra base de datos se realizar con migraciones de Laravel (algo que veremos más adelante) y esto funciona por la vía de Artisan desde consola.
  • Configuración de variables de entorno: algo muy bueno de Laravel son sus variables de entorno ya que es útil tener diferentes valores de configuración basados en el entorno de la aplicación o sea en donde ejecuta la misma. Por ejemplo, es posible que desee utilizar un controlador de caché diferente en ambiente de desarrollo que en el de producción. Para que esto simple laravel utiliza la biblioteca DotEnv PHP. En una instalación nueva laravel, el directorio raíz de la aplicación contendrá un archivo .env.example. Si instala a través de laravel composer, este archivo automáticamente se cambiará el nombre a .env. De lo contrario, se debe cambiar el nombre del archivo de forma manual.
  • PHP namespaces: aunque cualquier codigo válido de PHP puede estar contenido dentro de un namespace, sólo los siguientes tipos de códigos se ven afectados por los espacios de nombres: clases, interfaces, funciones y constantes. Los namespaces se declaran usando la palabra clave namespace. Un archivo que contiene un namespace debe declarar el namespace en la parte superior del archivo antes de cualquier otro código – con una excepción: la palabra clave declare.
  • Json: JavaScript Object Notation, es un formato ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo.
  • Git: para una mejor explicación detallada sobre Git puedes verla aqui, Git es importante para Laravel ya que mucho de los desarrollos de distintas librerías las encontraras en repositorios con esta tecnología así que es importante conocerla a fondo. También puedes ver nuestra guía Como utilizar Git en un Hosting compartido en caso de que lo necesites.



jueves, 9 de octubre de 2014

Raspberry Pi como Servidor WEB

Hola que tal, después de un rato sin escribir ya que he tenido mucho trabajo, vengo con esta nueva entrada que es muy buena y les servira para practicar un poco a esos que quieren una pagina web desde su Rapsberry Pi ya que aqui tendran el control de todo el servidor.

Lo que necesitamos es una Raspberri Pi con conexión a internet, y una conexión a alguna pantalla mediante HDMI esto solo de inicio una vez configurado el Raspbian podremos continuar desde una computadora conectada a la misma red y desde luego una SD con los archivos de intalación de NOOBS(New Out Of the Box Software) que es más ni menos una lista de sistemas operativos que podemos instalar en la RaspberryPi.

Los archivos los encontramos en el siguiente link y la descargamos como sea nuestra preferencia. (zip ó torrent)




Una vez descargados jalamos los archivos a la carpeta raiz de la SD previamente formateada, después conectamos la SD a la Raspberry y encendemos. (Ojo es necesario tener un teclado conectado)

Encontraremos una pantalla como la siguiente:


Elegimos Raspbian [RECOMMENDED] y pulsamos la letra (i) nos saldra un mensaje que formateara la SD y perderemos toda la información, damos continuar y comenzara la instalación.


Una vez terminado tendremos una pantalla de configuración.



Si queremos trabajar con escritorio vamos al punto 3 Enable Boot to Desktop/Scratch:
  • Damos clic en Desktop Log y habilitamos. (Personalmente no lo recomiendo ya que se pierde muchos recurso con el entorno gráfico y como lo queremos para un web service seria muy lento)

Despues iremos al punto 4 Internationalisation Options y configuraremos:
  • Change Locale  como es_MX.UTF-8 UTF-8
  • Change Timezone como America/Mexico_City
Finalizamos y reiniciamos.

En este punto ya tenemos instalado y configurado Raspbian, ahora lo que necesitamos para conectarnos remotamente desde SSH para no tener que depender del teclado y pantalla tenemos que saber que IP se le asigno a la Raspberry PI.

  1. Hacemos login con las siguientes credenciales que son por default:
    • user: pi
    • pass: raspberry
  2. Escrbimos ifconfig y tendremos en pantalla la ip en algo similar a esto donde la IP es 192.168.0.5

Una vez teniendo esto ya podemos reiniciar desconectar el teclado el monitor y trabajar desde nuestra computadora siempre y cuando tengamos una consola disponible, en mi caso trabajo en MAC que es ambiente unix y tiene su consola, para usuarios de Linux no veo problema alguno y para los que usan Windows les recomiendo putty o alguna consola similar.

Abrimos la consola y logueamos mediante ssh.
  • ssh pi@192.168.0.5
Nos hemos conectado a las Raspi remotamente. Ahora biene lo más fácil, instalar y configurar todo para que esta funcione como un servicio WEB intalaremos lo que comunmente se le conoce como LAMP server (Linux, Apache, Mysql, PHP).
  • sudo apt-get install apache2 (Apache)
  • sudo apt-get install mysql-server (Mysql)
  • sudo apt-get install php5 (PHP)   
  • sudo apt-get install php5-mysql (Mysql librerias PHP)
Listo, tenemos nuestro servidor web funcionando.

Si queremos utilizar algun CSS podemos descargar alguno gratuito y empezarle a dar forma a nuestra página. CSS Gratis