Una de las opciones que tenemos a la hora de comenzar a desarrollar una aplicación es la de usar un Framework de desarrollo. Estos nos ayudan en la programación de la misma, aliviando la programación de partes que normalmente son comunes a todas las aplicaciones gracias a la reutilización de módulos y componentes genéricos.
De este modo no tenemos que preocuparnos de la programación común de estos módulos y podemos centrarnos en los desarrollos de las funciones específicas de nuestra aplicación.
Dentro de este grupo, encontramos varios framework entre los que elegir:
· Symfony
· Zend
· YII
· Laravel
· CakePHP
· Codelfniter
· Etc…
Bien en ese post quiero hablar de uno de ellos, concretamente Symfony. Pero ¿Por qué usar Symfony?
En primer lugar hemos de indicar que es un framework construido en lenguaje PHP que hace que sea bastante sencillo tocarle a su código o añadirle código nuevo.
Sus componentes desacoplados se usan tanto para aplicaciones PHP como para módulos Drupal, phpBB y eZPubliz y otros…
La comunidad de desarrolladores es de las más amplias y como ocurre con los plugin de WordPress, encontraremos códigos por servibles, pero por el contrario encontraremos códigos altamente reutilizables y casi en la mayor parte de los casos gratuitos.
En la elaboración de los módulos se siguen unas normas que hacen que el código sea muy estándar y profesional, haciendo muy sencilla la interoperabilidad entre distintas aplicaciones. Tanto es así que permite la creación de software con módulos externos (ORM Doctrine, SwiftMailer, etc).
Es importante saber también que detrás de symfony hay una empresa (Sensiolabs), creada hace mas de 12 años que nos da cierta seguridad a la hora de afrontar un proyecto por las perspectivas de permanencia.
Symfony aporta todo lo que esperamos de un Framework de desarrollo: velocidad, flexibilidad, componentes reutilizables, etc.
Los elementos comunes que aporta symfony son:
La capa de internacionalización que incluye Symfony permite la traducción de los datos y de la interfaz, así como la adaptación local de los contenidos.
Los formularios incluyen validación automatizada y relleno automático de datos «repopulation»), lo que asegura la obtención de datos correctos y mejora la experiencia de usuario.
La autenticación y la gestión de credenciales simplifican la creación de secciones restringidas y la gestión de la seguridad de usuario.
La capa de presentación utiliza plantillas y layouts que pueden ser creados por diseñadores HTML sin ningún tipo de conocimiento del framework. Los helpers incluidos permiten minimizar el código utilizado en la presentación, ya que encapsulan grandes bloques de código en llamadas simples a funciones.
Los datos incluyen mecanismos de escape que permiten una mejor protección contra los ataques producidos por datos corruptos.
La gestión de la caché reduce el ancho de banda utilizado y la carga del servidor.
El sistema de enrutamiento y las URL limpias permiten considerar a las direcciones de las páginas como parte de la interfaz, además de estar optimizadas para los buscadores.
El soporte de e-mail incluido y la gestión de APIs permiten a las aplicaciones web interactuar más allá de los navegadores.
Los listados son más fáciles de utilizar debido a la paginación automatizada, el filtrado y la ordenación de datos.
Los plugins, las factorías (patrón de diseño «Factory») y los eventos otorgan al código del framework una gran flexibilidad.
No obstante antes de comenzar un proyecto, no estaría de más sentarse y ver cual de los Framework se adapta mejor a nuestras necesidades y en base a eso elegir el más adecuado. Normalmente será el tipo de proyecto y los requisitos del mismo el que nos indique qué framework es el más adecuado.
Usamos cookies en nuestro sitio web para brindarle la experiencia más relevante recordando sus preferencias y visitas repetidas. Al hacer clic en "Aceptar todo", acepta el uso de TODAS las cookies. Sin embargo, puede visitar "Configuración de cookies" para proporcionar un consentimiento controlado.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duración
Descripción
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.