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.
Si quieres provocar una discusión entre programadores informáticos, tan sólo pídeles que escojan su lenguaje de programación o framework preferido, tendrás «diversión» asegurada para rato.
La programación es un sector en auge que requiere un reciclaje continuo, de ahí que resulte imprescindible saber cuáles son los lenguajes de programación más cotizados y mejor pagados hoy por hoy. Tanto, que algunos ingenieros incluso tienen agentes (sí, casi como los managers de los cantantes) que les aconsejan dónde trabajar o qué lenguaje de codificación usar.
Hay que destacar que los efectos de la crisis económica en nuestro país también se han dejado notar mucho menos en este sector. Un programador informático cobra de media en España alrededor de 30.000 euros (según PayScale), una cifra que dista mucho de la que ingresan ingenieros de otros países por realizar el mismo trabajo; lo que no quiere decir que no sea una buena opción, puesto que el sueldo sigue siendo bueno y la estabilidad y posibilidades de progreso, también.
Pues bien, la revista digital de negocios Quartz ha elaborado una lista de los lenguajes de programación mejor pagados en EEUU., usando como base para ello miles de anuncios de empleo. El conjunto de datos no es perfecto, puesto que faltan lenguajes nuevos como los cada vez más populares Erlang y Haskell, pero esto da una buena idea de lo que las empresas están pagando y qué debería conocer un ingeniero de hoy en día para progresar en su trayectoria profesional.
Habría que puntualizar algunos consejos, como que aunque una lengua actualmente en alta demanda como Ruby podría conseguirte un mejor salario, tal vez el centrarte sólo en ese lenguaje no sea la mejor manera de hacer carrera puesto que podría ir perdiendo fuelle con el tiempo. Es mejor ser multidisciplinar, con una sólida comprensión de los algoritmos, principios de diseño y, sobre todo, capacidad para aprender nuevos lenguajes y conceptos rápidamente, conociendo varios lenguajes y no centrándose en uno solo.
Para terminar, indicar que por supuesto, dentro del mismo gremio de programadores también hay clases. El que más cobra es, lógicamente, el CTO o Director de Tecnología de la empresa, seguido de los arquitectos/diseñadores de software. El desarrollador de aplicaciones móviles ha ascendido y ya supera al desarrollador de software backend, quedando en última posición el software frontend.
Ese precisamente debe ser tu objetivo: escalar peldaño a peldaño, hasta llegar a la cúspide de tu empresa y para ello, nada mejor que comenzar estudiando un Ciclo Formativo de Grado Superior en Desarrollo de Aplicaciones Multiplataforma, donde aprenderás a dominar un montón de lenguajes de programación y será tu lanzadera para alcanzar tus objetivos.
¡Con Instituto FOC llegarás hasta el infinito y más allá!
Django es un entorno de desarrollo web escrito en Python que fomenta el desarrollo rápido y el diseño limpio y pragmático.
Django es un framework web de código abierto escrito en Python que permite construir aplicaciones web más rápido y con menos código.
Django fue inicialmente desarrollado para gestionar aplicaciones web de páginas orientadas a noticias de World Online, más tarde se liberó bajo licencia BSD. Django se centra en automatizar todo lo posible y se adhiere al principio DRY (Don’t Repeat Yourself).
En el siguiente enlace podéis ver algunos ejemplos, tutoriales Django