He mirando el framework SailsJs y ahora ando mirando el Meteorjs, pero me da que voy a seguir con el mismo problema que cuando deje de picar en sailsjs.
Las bondades de estos fremeworks las sabemos y creo que el futuro es el uso del mismo lenguaje tanto para cliente como para server.
Pero me encuentro con el dilema de que a la hora de realizar tareas, es mucho mas rapido realizar un framework de php como symfony 2 que con estos 2 anteriores (puede ser por desconocimiento por eso es este post ).
Voy a poner una serie de ejemplos típicos como seria con symfony2 y como los pasarias a meteorjs o sailsjs.
---
Necesito crear un formulario de la tabla post en php symfony 2
Código PHP:
/**
* Noticia
*
* @ORM\Table()
* @ORM\Entity
*/
class Noticia
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="titulo", type="string", length=255)
* @Assert\NotBlank()
*/
private $titulo;
/**
* @var string
*
* @ORM\Column(name="noticia", type="text")
* @Assert\NotBlank()
*/
private $noticia;
}
// controlador
$noticia = new Noticia();
$form = $this->createFormBuilder($task)
->add('titulo')
->add('noticia')
->getForm();
$form->handleRequest($request);
if ($form->isValid()) {
$this->em->persist($noticia);
$this->em->flush();
return $this->redirectToRoute('task_success');
}
return $this->render('default/new.html.twig', array(
'form' => $form->createView(),
));
// vista
{{ form(form) }}
Enorme cantididad de mensajes de error tipicos ya definidos del tipo no vacio, de rango al tal y un largo etc de validadores.
Esto puede parecer una tonteria pero el sistema de validaciones de los formularios y errores a mano es un coste de tiempo enorme
---
Las bondades de las entidades (es la clase para definir los atributos de la tabla) es que sabiendo el mapeo de la BD se puede crear un monton de procesos solos (como por ejemplo un backoffice).
---
Sistemas de bundles en los cuales puedes agregar tanto codigo de programacion, rutas o html solo por configuracion
---
IDE Decente para que autocomplete todo lo del framework. Esto me da mucho por saco...
---
EventDispacher, sistema de eventos.