1. El Software en la
Actualidad
UNIVERSIDAD NACIONAL EXPERIMENTAL DEGUAYANA
INGENIERIA EN INFORMATICA
TENDENCIAS INFORMATICAS
2. La invasión de los
Frameworks
Arturo Zambrano
Raelyx Cordero
3. ¿Qué son?
Los Frameworks o “marcos de trabajos” son un conjunto estandarizado de
conceptos, prácticas y criterios, a menudo basada en módulos o
herramientas para realizar un trabajo.
4. ¿Para qué me sirven?
Los frameworks han venido para hacernos la vida más fácil.Ya
sea para evitar que “reinventemos la rueda”, para añadir
nuevas capas de abstracción o agilizar el desarrollo web en
general.
5. De lo macro a lo micro
Existen todo tipo de
frameworks desde full-
stack frameworks para
desarrollar íntegramente
cualquier tipo de aplicación
web
hasta microframeworks de
stinados a correr servicios
web con la mayor velocidad
y el menor consumo de
recursos posible.
6. Tú sólo nómbralo
Los frameworks también pueden clasificarse
según el lenguaje en los que fueron escritos o el
lenguaje usado para utilizarlos.
PHP, Ruby, Python, Java, Groovy, Scala, JavaScript,
CoffeeScript, Perl, incluso C++
7. ¿Cómo elegir uno?
Basado en:
• El lenguaje
• El trabajo
• La popularidad
Existen montones de alternativas ¡incluso sin salirnos de un mismo lenguaje de
programación!
8. Es una herramienta que compara de forma relativa la búsqueda
de términos o temas, lo que significa que los ejes verticales de
los gráficos son una escala 0% a 100% y no un número de
búsquedas determinado.
20. App nativa
• Se desarrolla de forma específica para un determinado sistema operativo,
llamado Software Development Kit o SDK.
• Por ejemplo:
o Las apps para iOS se desarrollan con lenguaje Objective-C
o Las apps para Android se desarrollan con lenguaje Java
o Las apps enWindows Phone se desarrollan en .Net
• Posibilidad de acceder a todas las características del hardware del móvil:
cámara, GPS, agenda, dispositivos de almacenamiento, etc.
• Descarga e instalación a través de la tienda de aplicaciones.
21. AplicaciónWeb
• Desarrolladas con lenguajes de programación web, como lo es HTML,
Javascript y CSS.
• Posibilidad de programar independiente del sistema operativo en el que se
usará la aplicación.
• Las aplicaciones web se ejecutan dentro del propio navegador web.
• No necesita instalación por lo que no pueden estar visibles en app store.
• Suna buena opción si nuestro objetivo es adaptar la web a formato móvil.
22. Aplicación Híbrida
• Es una combinación de las dos anteriores, recoge lo mejor de cada una de
ellas.
• Se desarrollan con lenguajes propios de las webabpp, es decir, HTML,
Javascript y CSS por lo que permite su uso en diferentes plataformas.
• La principal ventaja es que a pesar de estar desarrollada con HTML,
Javascrip o CSS, es posible agrupar los códigos y distribuirla en app store.
• Tienen el mismo tipo de acceso a las APIs nativas de cada sistema operativo
así como a los recursos propios del sistema tipo procesador, GPS, camara,
etc.
27. Criterios de selección
A la hora de elegir cuál de los 3 caminos seleccionar para construir una app
móvil se debe tomar en cuenta lo siguiente:
• Coste que puedas asumir.
• Las características y funcionalidades de tu proyecto tecnológico.
• Tu modelo de negocio y elTarget al que te diriges.
• La complejidad del diseño y la importancia que le des a la experiencia de
usuario.
• Tu intención de hacerlo crecer.
• La estructura de tu empresa.
28. Apache Cordova
• Es un marco de desarrollo móvil de código abierto.
• Permite utilizar las tecnologías estándar web como HTML5,
CSS3 y JavaScript para desarrollo multiplataforma.
• Las aplicaciones se ejecutan dentro de envolturas para cada
plataforma.
• Se graduó en octubre de 2012 como un proyecto de nivel
superior dentro de la Apache Software Foundation (ASF).
29. Un poco de historia
• En el año 2009 una desconocida empresa llamada Nitobi crea un framework
para desarrollo móvil multiplataforma llamado PhoneGap.
• Crear aplicaciones orientadas a móviles con HTML5 y dotarlas de una capa
JavaScript que permita acceder a las funciones nativas de cada sistema.
• Entorno de ejecución multiplataforma.
• La idea triunfa y la empresa se da cuenta que debe tener más colaboradores.
• En septiembre de 2011 se convierte en Open Source.
• En octubre de 2011, Adobe compra Nitobi, se lleva a sus empleados, el
producto y la marca PhoneGap.
30. Un poco de historia
• PhoneGap es una marca registrada de Adobe y es posible
que en el futuro quieran explotar el producto con
herramientas añadidas propias.
• Apache decide renombrar en febrero de 2012 el proyecto a
Cordova. Este nombre tan peculiar se lo ponen porque esta
era la calle en la que estaban las oficinas de Nitobi en
Vancouver (Canadá).
31. Componentes básicos
• En Apache Cordova las aplicaciones se basan en un común config.xml
archivo que proporciona información acerca de la aplicación y
especifica los parámetros que afectan a cómo funciona, como si
responde a la orientación cambia de puesto.
• La misma aplicación se implementa como una página web, un
archivo local llamado index.html.
• La aplicación se ejecuta como un WebView dentro de la envoltura de
la aplicación nativa
32. Frameworks de desarrollo híbrido
• Ionic y phonegap son distribuciones de Apache Cordova. Las cuales poseen
cada una características propias y se desarrollan como proyectos
independientes.
33. Características principales:
Ionic Framework
• Se puede compilar para: Android, IOS,
Windows Phone y FirefoxOS.
• Se centra en la apariencia y usa AngularJS
para una mejor experiencia de usuario
• Posee íconos y diseños muy bien trabajados.
• Es Open Source, posee el mismo tipo de
licencia que JQuery o Ruby on Rails
34. Características principales:
PhoneGap
• Se puede compilar para más
plataformas: Android, IOS, Amazon Fire OS,
Windows Phone,Windows 8, Ubuntu,Tizen,
Firefox OS, Blackberry 10.
• Se puede usar cualquier Framework JS y
CSS.
• Pertenece aAdobe, sin embargo tiene
licencia Apache (libre).
35. Servicios de compilación en la nube de Adobe
• Te ahorras la necesidad de tener que instalar los SDK y las herramientas
específicas de cada plataforma, ya que el servicio se encarga de hacer la
compilación por ti para todas las plataformas que quieras.
• Este servicio es algo específico de PhoneGap que no tienes conApache
Cordova.
• PhoneGap Build compila para las principales plataformas del mercado: iOS,
Android, Windows Phone, Blackberry 5/6/7 y webOS.
• Para proyectos Open Source el servicio es gratuito, pero no es así para
aplicaciones comerciales.
36. ¿Una App nativa es exclusivamente la que se desarrolla en su
código nativo?
¿O también podríamos considerar como nativa aquella App
cuyo código resultante sea nativo a pesar de haber utilizado
otro lenguaje para su desarrollo?
37. La línea que se difumina:
Titanium Appcelerator
• Titanium Appcelerator es un framework de desarrollo multiplataforma en
lenguaje Javascript
• Permite crear aplicaciones cuyo código compilado final será nativo.
• ConTitanium podrás hacer todo lo que haría una App desarrollada
directamente en nativo y además con los mismos tiempos de respuesta en
su uso.
• Al ser multiplataforma, utiliza un sólo lenguaje de programación (JS) para
generar unaApp para casi todos los SO y dispositivos del mercado.
38. La línea que se difumina:
Titanium Appcelerator
• La traducción a todo esto es que se reducirán muchísimo los costes sin
perder las ventajas de las aplicaciones desarrolladas directamente en código
nativo.
• La única desventaja que se le encuentra es que a nivel de diseño no se tiene
la libertad total que ofrece desarrollar directamente en nativo.
• Sus limitaciones a este respecto son muy pequeñas, pero las hay.
39. Shell de Linux enWindows
Se trata de un Linux nativo sobre Windows:
Lo que Canonical y Microsoft no van a hacer es integrar Linux en Windows.
En su lugar, Ubuntu se ejecutará sobre una serie de librerías nativas de
Windows.
Kirkland, que explicaba que lo que se hace aquí es
"realizar una traducción en tiempo real de
llamadas al sistema de Linux en llamadas al
sistema del sistema operativo Windows". Es, nos
decía, algo que podría considerarse como lo
inverso de lo que hace wine, un proyecto que
precisamente permite que se puedan ejecutar
binarios deWindows en sistemas Linux.
40. Muchas ventajas, pero también algunas limitaciones
• El rendimiento en este modo de ejecución o “subsistema” es prácticamente
el equivalente al que se obtendría con una instalación nativa de Windows,
esto en cuanto al rendimiento de CPU, de la memoria y del I/O.
• Este avance no es una plataforma servidora en la que por ejemplo hospedar
sitios web, ejecutar infraestructura de servidor, entre otras.
• Las herramientas de Linux como por ejemplo
bash, no podrán interactuar con las
herramientas o aplicaciones de Windows y
viceversa. En otras palabras, esto quiere decir
que “no podrás ejecutar el bloc de notas desde
bash, ni tampoco podrás ejecutar Ruby en bash
desde el Powershell”.
41. ¿Qué partes de Ubuntu van a funcionar enWindows?
Canonical y Microsoft llevan trabajando desde el verano pasado para integrar los
Linux Containers enWindows 10. Han utilizado para ello una tecnología conocida
como LXD, un hipervisor de código abierto diseñado especialmente para
funcionar con contenedores en lugar de máquinas virtuales.
• La línea de comandos de Unix, lo que permitirá a los desarrolladores y usuarios
de Linux que estén de paso porWindows 10 usar los comandos propios de Bash
sin cambiar de sistema operativo.
• El acceso a otras utilidades como ssh y el
mencionado soporte de apt-get abre
posibilidades realmente interesantes
para cualquier desarrollador Linux.
Hace uso de binarios recompilados de
Linux para adaptarlos y convertirlos en
binarios deWindows.
42. ¿Veremos soporte de otras distribuciones, o incluso acceso a un entorno
gráfico?
La propia descripción de Kirkland de cómo preparó la imagen de Ubuntu para que
los usuarios de Windows 10 pudieran utilizarla en este sistema operativo desde
luego apunta a que muchos otros podrían hacer lo propio.
¿Podremos contar con una sesión gráfica o con la
ejecución de programas con su interfaz gráfica de
usuario (GUI)? Eso parece menos probable según
un usuario que hablaba sobre ello en Reddit y que
indicaba que no hay planes para ofrecer esa
opción: "esto está realmente orientado a
desarrolladores, no se supone que funcione como
una máquina virtual o un sustituto de Cygwin".
43. Así es la consola bash enWindows 10
• Solo se necesitan 2 minutos para activarlo
• No puede abrir aplicaciones con interfaz gráfica GNOME o KDE
• Instalar paquetes y programas
• Acceso a ficheros
• Cygwin X,Vcxsrv o Xming