Back End
Back End
Backend
Para el backend existen un montón de opciones, todo depende del lenguaje de programación o de las necesidades del rendimiento. Una tendencia a
la alza es alejarse del backend, convirtiendo esa capa en una API consumida por el frontend y las aplicaciones móviles. Sin embargo, utilizar un
framework es a menudo más simple y más rápido, y sigue siendo una opción válida para un montón de aplicaciones web.
Node.js es la principal manera de ejecutar JS fuera del navegador. Ha tenido varias actualizaciones este año, que aumentaron su rendimiento y
ampliaron su soporte a ES6. Node cuenta con frameworks para la creación rápida de APIs, servidores, aplicaciones de escritorio e incluso bots, y una
vasta comunidad que crea todo tipo de módulos imaginables. Puedes echarle un vistazo a estos frameworks: Express, Koa, Next, Nodal.
PHP es un lenguaje web y cuenta con un gran número de frameworks donde elegir. Gracias a su excelente documentación y
características, Laravel es una excelente opción, por ejemplo. Zend Framework lanzó la versión 3, que supuso una gran actualización para este
marco orientado a los negocios. Symfony también vio un montón de nuevas actualizaciones este año, lo que la convierte también en una opción a
tener muy en cuenta.
Para Ruby, el framework Rails es definitivamente un must. La versión 5.0 fue lanzada este 2016, con soporte para Web Sockets, modo API y mucho
más. Sinatra también es una muy buena opción para aplicaciones pequeñas, y su versión 2.0 se espera para algún momento de 2017.
Si eres de Python, definitivamente debes echar un vistazo a Django y a Flask. Django 1.10 se lanzó en agosto introduciendo la búsqueda por texto
completo en Postgres y muchas más características.
El ecosistema de Java también cuenta con frameworks populares donde elegir. Play y Spark son dos opciones sólidas, y como bonus, decir que
también pueden utilizarse con Scala.
Para los entusiastas también está Phoenix, que está escrito en Elixir y trata de ser una característica completa alternativa a Rails con un rendimiento
superior. Si Elixir es uno de los lenguajes que te gustaría aprender en 2017, prueba Phoenix.
Frontend
La web introdujo dos avances muy importantes recientemente: el Web Assembly y los Service Workers, los cuales han abierto la puerta al desarrollo
de aplicaciones web rápidas y eficientes. Los Service Workers, en particular, son la tecnología que lleva a cabo las aplicaciones web progresivas y
cuentan con soporte para Notificaciones en la web, con más APIs a a las que seguir en el futuro.
ANGULAR.JS 2 FUE LANZADO ESTE AÑO. EL FRAMEWORK ES RESPALDADO POR GOOGLE Y MUY POPULAR ENTRE PEQUEÑAS
EMPRESAS Y GRANDES EMPRESAS. CUENTA CON UN GRAN NÚMERO DE CARACTERÍSTICAS QUE PUEDEN IMPLEMENTAR DE TODO,
DESDE APLICACIONES WEB, PASANDO POR APLICACIONES DE ESCRITORIO E INCLUSO, PARA MÓVILES. EL FRAMEWORK ESTÁ
ESCRITO EN TYPESCRIPT, UN LENGUAJE ALTAMENTE RECOMENDADO PARA DESARROLLAR APLICACIONES. POR ESO CREEMOS QUE
APRENDER ANGULAR 2 EN 2017 SERÁ UNA BUENA INVERSIÓN.
Vue.js también vio su versión 2.0 este año. Coge lo mejor de Angular, React y Ember, y lo mete en un paquete fácil de usar. También es un poco más
ligero y rápido que los dos primeros. Te sugiero que lo pruebes este año.
Ember es otra opción sólida para un framework de JavaScript. Soporta data-bindings, plantillas auto-actualizables, componentes y renderizado del
lado del servidor. Una gran ventaja sobre sus competidores, es que es mucho más estable. Los erroes y bugs son muy poco frecuentes y la
comunidad valora la compatibilidad con versiones anteriores. Esto hace que el framework sea una buena opción para aquellas aplicaciones que vayan
a contar con una vida larga.
Otros dos frameworks que también valen la pena son Aurelia y React. El ecosistema en torno a React ha crecido de manera complicada este último
año, por lo que es difícil recomendarlo a usuarios novatos. Pero los desarrolladores experimentados pueden combinar la librería
con GraphQL, Relay, Flux e Immutable.js para obtener una gran solución.
Ninguna compilación de frontend estaría completa sin mencionar Bootstrap. La versión 4 está actualmente en Alpha y se espera que se libere en
2017. Algunos de los cambios más reseñables son el nuevo componente card y la rejilla de flexbox, que modernizan el framework y hace que sea
más sencillo trabajar con él.
SASS y LESS siguen siendo los dos preprocesadores CSS más populares de hoy en día. Aunque vanilla CSS finalmente está recibiendo soporte
para variables, SASS y LESS son aún muy superiores con soporte para mixins, funciones y organización de código.
Nuevos profesionales digitales
La evolución de las plataformas y herramientas para la creación de sitios web ha expandido las posibilidades del desarrollo,
especializando sus partes y dividiendo las tareas principales del webmaster en dos grandes áreas: La interfaz visible para los
usuarios y las configuraciones “backstage” de un proyecto web. En un artículo anterior les explicamos las características del
desarrollador front-end, esta vez analizaremos las funciones del programador back-end.
Se trata de un profesional fundamental en los proyectos digitales, responsable de la programación de un sitio web y todos sus
componentes, coordinando páginas, formularios, funcionalidades, bases de datos y servidores web, evitando problemas
en las capas más profundas del proyecto. En su día a día trabaja con lenguajes del lado del servidor como PHP, Ruby,
Python y con bases de dato relacionales del tipo SQL o no relacionales como MongoDB. Además, maneja JavaScript en el lado
del browser, como un puente entre la interfaz y el motor del desarrollo, muchas veces con un framework como Zend o Cake o
un CMS como WordPress o Drupal.
Conocimientos técnicos:
Capacidad de abstracción lógica: Debe visualizar el inicio y final de acciones y plantear los recorridos posibles para luego
determinar la estrategia más eficiente.
Conocimientos y capacidad de estudio de lenguajes: Estar constantemente estudiando PHP, Ruby, Python, Perl y/o JavaScript.
Manejo de al menos un CMS: Como por ejemplo WordPress o Drupal (en IDA nos inclinamos por el primero).
Conocimientos básicos de configuraciones de servidores web: Para poder adaptar elementos como la capacidad de memoria,
la capacidad para subir archivos, el nivel de demanda e instalar librerías como APC (para el caché) y GD (para la manipulación de
imágenes). Si bien no es imperativo, estos conocimientos son bien valorados.
Habilidades blandas:
Capacidad de escuchar y entender requerimientos del cliente: Debe identificar sus problemas y ofrecer soluciones, sin ponerle
barreras. En IDA sabemos que todo es posible, tal vez sea difícil y involucre tiempos y costos distintos, pero partimos de la base de
que estamos para ayudar a los clientes a llevar a cabo sus ideas, por muy complejas que sean.
Eficiencia y proactividad bajo presión: Al ser el último eslabón de la cadena, debe enfrentar todos los problemas derivados de
las etapas anteriores, manteniendo una actitud analítica que le permita encontrar soluciones de forma ágil y creativa.
Capacidad para trabajar en equipos multidisciplinarios: Esto le permitirá entender y aportar en todos los procesos previos a su
trabajo.
Habilidad de ser ordenado para trabajar: Tener el hábito de comentar el código, escribir manuales y trabajar con estándares,
entendidos como acuerdos de los métodos definidos por los equipos para comunicarse con códigos y trabajar siguiendo la misma
lógica.
Además, el desarrollador debe tener conocimientos sobre Node.Js, un intérprete JavaScript del lado del servidor que permite a
los programadores construir aplicaciones altamente escalables. Esta es la nueva tendencia del desarrollo web, donde se
mezcla la interfaz con el servidor, por lo que empieza a desaparecer la diferencia entre front-end y back-end.
Buscar todas las soluciones posibles a un problema, analizarlas y determinar la más efectiva y eficiente. En IDA tenemos la
premisa que cuando se trata de problemas complejos, la primera solución que se encuentra es siempre la equivocada, sobre todo
si se hace contra el tiempo.
Mantener siempre una actitud de autoaprendizaje y actualización de conocimientos, estudiando los lenguajes de programación
vigentes.
Indagar las necesidades de los clientes y ofrecer las mejores soluciones en forma de proyectos factibles.
Identificar problemas en la cadena productiva, analizando todos los procesos, para definir dónde se generó y cómo
solucionarlo.
CONCLUSIÓN
Un buen desarrollador back-end entenderá, tal como dice WordPress, el código como poesía. Es decir, no se quedará con lo
primero que encuentre, sino que estudiará y probará opciones para diseñar armoniosamente las soluciones que resuelvan de
forma más efectiva y eficiente los problemas planteados.
https://www.youtube.com/watch?v=QF6yts-flNI
https://www.youtube.com/watch?v=yrbEouY5cFk
FRONTEND:
BACKEND:
Python y Javascript, ambos son interpretados y multiplataforma, opensource (se puede ver como esta
desarrollado una librería u otro codigo), google usa python, ambos son de scripting, se pueden usar en
sistemas embebidos.
Con JS se puede crear app de escritorio o mobiles(Facebook) pero es un poco mas complicado debido a
q su entorno por defecto es la web y las apps no son tal cual literalmente.
Python es de propósito general como hasta web, escritorio, embebidos, etc. Muchas bibliotecas.
En JS puede haber paquetes hasta 10 para lo mismo, en Python esto es mucho menos y mas especifico.