Vous êtes sur la page 1sur 34

INFORME

ALUMNO

JHON JAIRO LOPEZ CASTILLO

PROFESOR

FERNEY OSMA MEJIA

UNIVERSIDAD DEL PACÍFICO


CONTENIDO

1) FRAMEWORK PARA DESARROLLO Web---------------------------------------------------7

2) DJANGO-------------------------------------------------------------------------------------------------------7

3) LARAVEL-----------------------------------------------------------------------------------------------------8

4) SYMPHONY-------------------------------------------------------------------------------------------------10

5) ZEND----------------------------------------------------------------------------------------------------------11

6) CAKE PHP---------------------------------------------------------------------------------------------------12

7) YII-------------------------------------------------------------------------------------------------------------14

8) ENTORNOS DE DESARROLLO PARA APLICACIONES--------------------------------16

9) GO-------------------------------------------------------------------------------------------------------------16

10) DART---------------------------------------------------------------------------------------------------------17

11) SDK PARA APLICACIONES MÓVILES-----------------------------------------------------18

12) IONIC---------------------------------------------------------------------------------------------------------18

13) KOTLIN------------------------------------------------------------------------------------------------------20

14) FRAMEWORK DE APLICACIONES MÓVILES--------------------------------------------22

15) NATIVE SCRIPT--------------------------------------------------------------------------------------------22

16) REACT NATIVE--------------------------------------------------------------------------------------------23

17) APACHE CORDOBA--------------------------------------------------------------------------------------24

18) BIBLIOTECAS DE JAVA SCRIPT-------------------------------------------------------------25

19) PROGRESS WEB APPS-----------------------------------------------------------------------------------25

20) JQUERY------------------------------------------------------------------------------------------------------26

21) REACT--------------------------------------------------------------------------------------------------------27
22) D3--------------------------------------------------------------------------------------------------------------29

23) APLICACIONES PARA APPS NATIVAS----------------------------------------------------30

24) IOS (OBJETIVE C, SWTF) -------------------------------------------------------------------------------30

25) ANDROID (JAVA, KOTLIN) ----------------------------------------------------------------------------31

26) APLICACIONES HÍBRIDAS (COMPILADAS A NATIVAS) ----------------------------32

27) XAMARIN---------------------------------------------------------------------------------------------------32

28) APLICACIONES HÍBRIDAS, APPS Y WEBS-----------------------------------------------33

29) IONIC (CON CORDOBA) --------------------------------------------------------------------------------33

30) APACHE CORDOBA--------------------------------------------------------------------------------------33

31) APLICACIONES WEBS APPS------------------------------------------------------------------34

32) POLYMER.JS------------------------------------------------------------------------------------------------34

33) ANGULAR---------------------------------------------------------------------------------------------------35

34) REACT--------------------------------------------------------------------------------------------------------36

35) HERRAMIENTAS DE JAVA SCRIPT---------------------------------------------------------38

36) GULP----------------------------------------------------------------------------------------------------------38

37) GRUNT-------------------------------------------------------------------------------------------------------38

38) NPM-----------------------------------------------------------------------------------------------------------39

39) MEJORES FRAMEWORK-----------------------------------------------------------------------40


1. FRAMEWORK PARA DESARROLLO WEB

 DJANGO: Es un framework web de alto nivel que permite el desarrollo rápido de sitios

web seguros y mantenibles. Django fue desarrollado inicialmente entre 2003 y 2005 por un equipo que era

responsable de crear y mantener sitios web de periódicos, Django se encarga de gran parte de las complicaciones

del desarrollo web, por lo que puedes concentrarte en escribir tu aplicación sin necesidad de reinventar la rueda.

Es gratuito y de código abierto, tiene una comunidad próspera y activa, una gran documentación y muchas opciones

de soporte gratuito y de pago.

CARACTERÍSTICAS

Completo: Django sigue la filosofía "Baterías incluidas" y provee casi todo lo que los desarrolladores quisieran que

tenga "de fábrica".


Versátil: Django puede ser (y ha sido) usado para construir casi cualquier tipo de sitio web, desde sistemas

manejadores de contenidos y wikis, hasta redes sociales y sitios de noticias.

Seguro: Django ayuda a los desarrolladores evitar varios errores comunes de seguridad al proveer un framework

que ha sido diseñado para "hacer lo correcto" para proteger el sitio web automáticamente.

Escalable: Django usa un componente basado en la arquitectura “shared-nothing” (cada parte de la arquitectura

es independiente de las otras, y por lo tanto puede ser reemplazado o cambiado si es necesario).

Mantenible: El código de Django está escrito usando principios y patrones de diseño para fomentar la creación de

código mantenible y reutilizable.

Portable: Django está escrito en Python, el cual se ejecuta en muchas plataformas. Lo que significa que no está

sujeto a ninguna plataforma en particular, y puede ejecutar sus aplicaciones en muchas distribuciones de Linux,

Windows y Mac OS X.

DESVENTAJAS

Algunos desarrollos son más complejos siguiendo dicha estructura que si no la siguiera.

El número de partes que será necesario mantener ya que se encuentran distribuidas.

 LARAVEL: Es uno de los frameworks de código abierto más fáciles de asimilar para

PHP. Es simple, muy potente y tiene una interfaz elegante y divertida de usar. Fue creado en 2011 y tiene una

gran influencia de frameworks como Ruby on Rails, Sinatra y ASP.NET MVC.

CARACTERÍSTICAS

Sistema de ruteo, también RESTful.

Blade, Motor de plantillas.

Peticiones Fluent.

Eloquent ORM.

Basado en Composer.
Soporte para el caché.

Soporte para MVC.

Usa componentes de Symfony.

Adopta las especificaciones PSR-2 y PSR-4.

VENTAJAS

Es de Código abierto u open source.

Reducción de costos y tiempos en el desarrollo y mantenimiento.

Comunidad extremada- mente activa y en continuo crecimiento.

La documentación existente es sencilla y muy completa, sobre todo en el sitio oficial. Facilita el manejo de ruteo

de nuestra aplicación También la generación de url amigables lo que hace más fácil el mantenimiento de un sitio

web.

Cuenta con un sistema de migraciones para gestionar la estructura de la base de datos.

Utiliza varios componentes de frameworks tan reconocidos como Symfony.

Sistema de plantillas Blade, lo que permite tener una mejor estructuración de las vistas.

Sistema ORM (Modelo Relacional de Objetos) muy potente.

DESVENTAJAS

Debes acostumbrarte a utilizar la consola para realizar ciertas funciones.

La curva inicial de aprendizaje puede ser compleja si no has utilizado un framework o no manejas bien el lenguaje.

Está pensado para las últimas versiones de PHP y solo soporta a partir de PHP 5.4.
 SYMFONY: Symfony es un proyecto PHP de software libre que permite crear

aplicaciones y sitios web rápidos y seguros de forma profesional.

CARACTERÍSTICAS

Su licencia MIT permite crear de forma gratuita aplicaciones, incluso comerciales.

Es muy fácil de instalar y configurar en la mayoría de sistemas.

Se puede adaptar para la mayoría de proyectos, aunque está pensado para grandes aplicaciones web, también se

puede usar para otras más pequeñas.

Permite cambiar con facilidad de SGBD en cualquier fase del proyecto.

El desarrollador solo necesita configurar aquello que no es convencional.

El código es muy fácil de leer.

Es muy fácil de extender gracias a la integración de bibliotecas de terceros.

Tiene una línea de comandos muy potente que permiten ahorrar tiempo de trabajo.

VENTAJAS

Es extremadamente flexible: se adapta a casi cualquier necesidad, permitiendo instalar únicamente las piezas

requeridas para el proyecto en vez de todo el framework.

Es tremendamente ampliable: según GitHub, es el proyecto php más activo, lo que te garantiza encontrar

paquetes para prácticamente cualquier funcionalidad.


Es un sistema estable: Laboratorios Sensio garantiza que cada versión de Symfony recibirá soporte

(actualizaciones y solución de problemas) durante tres años, además de compatibilidad con las versiones

secundarias.

Un sistema rápido y que consume poca memoria: Symfony ha sido desarrollado con la idea de ofrecer

aplicaciones de alto rendimiento, es más rápido que otros frameworks usando la mitad de la memoria.

Facilidad de uso: Gracias a la gran cantidad de documentación y tutoriales que se pueden encontrar en la web,

cualquier profesional o usuario avanzado puede aprender rápidamente los conceptos más básicos de Symfony.

Para ello ha tomado las mejores ideas de sus competidores, como Ruby on Rails o Django.

 ZEND: Es un framework basado en MVC, orientado a objetos, que permite cargar solo

los componentes que quieres como bibliotecas individuales. Zend te permite enfocarte solo en los componentes y

funciones que quieres, e ignorar todo lo demás. Gracias a este enfoque y la naturaleza orientada a objetos del

framework, deberías poder reutilizar gran parte del código que escribas, lo que siempre es una buena noticia.

Además, es bastante fácil integrar la plataforma con bibliotecas externas para ampliar aún más su funcionalidad.

CARACTERÍSTICAS

Utiliza un framework PHP orientado a objetos con una arquitectura MVC.

Reutiliza tu código gracias al diseño de la plataforma.

Integra Zend con bibliotecas externas fácilmente.

Usa solo los componentes que desees e ignora todo lo demás.

DESVENTAJAS
La plataforma es bastante compleja de entender.

Si te estás pasando de una herramienta como Laravel a Zend, el salto puede ser bastante desafiante, y puede ser

algo intimidante si es tu primer framework.

 CAKE PHP: A principios de la década del 2000, CakePHP fue el primer framework

MVC de PHP en salir al mercado. En ese entonces fue una revelación, y sigue siendo uno de los mejores frameworks

PHP que puedes usar (y uno de los más populares).

Las nuevas versiones de CakePHP han mejorado su rendimiento a lo largo del tiempo y han agregado muchos

componentes nuevos. Sin embargo, donde CakePHP realmente se destaca es en la forma en que aborda las

convenciones de programación. Esto significa que con CakePHP, una vez que domines tu conjunto de convenciones,

puedes centrarte en el desarrollo y hacer más trabajo más rápido.

CARACTERÍSTICAS

Aprovecha un amplio conjunto de componentes.

Usa las convenciones de CakePHP para programar proyectos más rápido.

VENTAJAS

Fácil de aprender: Hay que reconocer que desarrollar con CakePHP es fácil y sencillo una vez te has documentado

un poco y conoces la estructura de ficheros.

Implementación rápida: Gracias a su estructura y los métodos propios del framework, desarrollar una aplicación

puede realizarse en poco tiempo, eso sí, en relación a si hubiera que hacerlo de 0, o si la aplicación no necesita

modificaciones personalizadas.
Migración entre entornos: Instalar una aplicación desarrollada con CakePHP es muy fácil, ya que, si tienes bien

configurado el servidor en el nuevo entorno, bastará con copiar y pegar el código en el nuevo entorno. No necesita

muchas librerías especiales, pero depende de la aplicación y los componentes o plugins que se le añadan.

Plugins: Se pueden encontrar por internet plugins que realizan una tarea específica sin tener que programar nada.

Basta con bajarse el código y añadirlo a la carpeta de plugins de CakePHP. Lo mismo pasa con algunos

"componentes" y "helpers"

DESVENTAJAS

Puede resultar un poco restrictivo debido a su fascinación por las convenciones.

CakePHP podría no ser la mejor opción. Aun así, es una alternativa fuerte para muchos desarrolladores.

 YII: Es un framework de PHP de alto rendimiento, basado en componentes para

desarrollar aplicaciones web modernas en poco tiempo. El nombre YII significa “simple y evolutivo” en chino.

También puede considerarse como un acrónimo de “YES, IT IS”, que en español significa “Si, eso es”.

CARACTERÍSTICAS

Excelente velocidad y rendimiento.

Usa la configuración predeterminada o personalízala para satisfacer sus necesidades específicas.

Crea sitios web y aplicaciones seguras.

VENTAJAS

Yii implementa el patrón de diseño MVC (Modelo-Vista-Controlador) y promueve la organización de código basada

en este patrón.
La filosofía de Yii consiste en escribir el código de manera simple y elegante, sin sobre diseñar nunca por el mero

hecho de seguir un patrón de diseño determinado.

Yii es un framework completo que provee muchas características probadas y listas para usar, como los

constructores de consultas y la clase Active Record para las bases de datos relacionales y No SQL, la

compatibilidad con la arquitectura REST para desarrollar API, la compatibilidad de caché en varios niveles y

muchas más.

Yii es extremadamente extensible. Puedes personalizar o reemplazar prácticamente cualquier pieza de código de

base, como se puede también aprovechar su sólida arquitectura de extensiones para utilizar o desarrollar

extensiones distribuibles.

El alto rendimiento es siempre la meta principal de Yii.

DESVENTAJAS

Yii puede ser un poco difícil de aprender si este es tu primer framework.

Si eres nuevo en el lenguaje, hay otras opciones más amigables para los principiantes que puedes usar.

2. ENTORNOS DE DESARROLLO PARA APLICACIONES

 GO: Es un lenguaje de programación lanzado por Google, cuenta con muchas

características que, a opinión de muchos, lo hacen similar a C y C++, sin embargo, la ligereza y el poder de Go lo

hacen notoriamente superior a los antes mencionados.

CARACTERÍSTICAS
Concurrencia nativa: Con una de las mejores implementaciones nativas de concurrencia, es decir, una propiedad

de los sistemas para ejecutar diferentes procesos de forma simultánea con la posibilidad de comunicarse entre

ellos.

Librerías nativas para todo: El núcleo de librerías por defecto trae un arsenal muy preparado ya que puede hacer

web api, manejos de Big Data e encriptado de forma nativa sin necesidad de framework o librerías de tercero ya

que este contiene librerías htpp, encryp, sql, etc.

Multiparadigma: Admite el paradigma de programación orientada a objetos, pero a diferencia de los lenguajes de

programación más populares no dispone de herencia de tipos y tampoco de palabras clave que denoten.

VENTAJAS

Sencillo, confiable y eficiente.

El equipo que desarrolló este lenguaje se propusieron crear un lenguaje fácil de aprender, sencillo de codificar,

pero robusto, haciendo que Go sea muy eficiente en el procesamiento de datos a gran escala o aplicaciones que

manejan grandes cantidades de datos.

DESVENTAJAS

No implementa herencia si no instancia de una type.

Comunidad aún en crecimiento, aunque su documentación es muy buena, el lenguaje no tiene una comunidad tan

grande como java, C# o php por su poco tiempo de vida.

Ausencia de tipos genéricos (tipos de datos que permiten indicar parámetros individuales) en la biblioteca

estándar. Estos lo puedes implementar solo en funciones con la ayuda de interfaces.

Poca documentación (Manuales o Libros de calidad).


Carencia de expertos.

 DART: Es un lenguaje que podemos utilizar sin ningún tipo de pago o permiso, es de

código abierto y detrás tiene a una compañía gigante, Google. Dart tiene como principal objetivo trabajar en la

web, esto podría ser la principal razón para competir con un lenguaje que hasta el día de hoy no cuenta con

competidores en ese terreno: JavaScript.

CARACTERÍSTICAS

Es un lenguaje adelantado a su tiempo, ya que incluye gran parte de las funciones y APIs que incluirá la próxima

versión 6 de JavaScript.

Variables de ámbito de bloque. Valores por defecto en funciones. Parámetros opcionales por nombre.

Interpolación de strings. Arrow functions. API Promises.

VENTAJAS

Dart es un lenguaje de programación orientado a objetos, además utiliza una máquina virtual como Java, esto

quiere decir que puede lograr gran compatibilidad. La máquina virtual de Dart se llama DartVM.

Parámetros posicionales por nombres, estos nos ayudan a leer mejor el código, pero sobre todo el parámetro que

estamos pasando y entender el comportamiento que estamos esperando.

DESVENTAJAS

Por ahora no todos los navegadores son compatibles.


3. SDK PARA APLICACIONES MÓVILES

 IONIC: Se le denomina un SDK (Software Development Kit) completo y de código

abierto para el desarrollo de aplicaciones móviles híbridas. La versión original fue lanzada en 2013 y construida

sobre AngularJS y Apache Cordova. Las versiones más recientes, conocidas como Ionic 3 o simplemente «Ionic»,

están basadas en AngularJS. Ionic proporciona herramientas y servicios para desarrollar aplicaciones móviles

híbridas utilizando tecnologías web como CSS, HTML5 y Sass (Syntactically awesome style sheets).

VENTAJAS

Desde una única fuente podremos llegar a las plataformas que soporta este Framework (Android e iOS).

El desarrollo principal se realiza en HTML junto con CSS y JS, lenguajes muy extendidos por la comunidad de

desarrolladores, con lo que la implantación de esta herramienta en la empresa, facilitará el desarrollo de

proyectos de la forma más efectiva aun cuando la plantilla de desarrolladores contenga nuevas incorporaciones.

Para el caso de aplicaciones híbridas, tendremos con un único proceso de desarrollo e implementación, una

aplicación para Android, iOS y Web.

Ionic se centra en construir para los estándares web modernos y para dispositivos móviles modernos. Para

Android, Ionic es compatible con Android 4.1 y versiones superiores.

El uso de Ionic te permitirá crear, construir, y compilar aplicaciones en cualquier plataforma, todo con un solo

comando. Por eso se considera un potente CLI.

Si te desesperas con poco, te gustará Ionic. Está hecho para ser rápido.
El Ionic Creator. Es el que te permitirá crear las Interfaces sin tener que meterte en código. Podrás crear la

parte gráfica fácil sin tocar el código para nada (Es una herramienta de creación de interfaz de arrastrar y

soltar).

DESVENTAJAS

El rendimiento puede ser ligeramente menor que en aplicaciones desarrolladas de forma nativa, cosa que no

debería ser un problema al menos que el proyecto sea para la creación de juegos con detallados gráficos u otras

aplicaciones que hagan uso de grandes cantidades de recursos.

Es una herramienta “joven” y puede ser difícil encontrar módulos compartidos por los usuarios, pero como dijimos,

la comunidad está creciendo a pasos agigantados y en breve este inconveniente podría dejar de existir.

El navegador como muestra de ejemplo para aplicaciones, no siempre da la información correcta sobre cómo se

mostrará en el teléfono y puede haber fallos en las pruebas, debido a que el navegador solo mantiene las

características más comunes de los teléfonos.

Puede ser difícil de integrar con diferentes funcionalidades nativas.

Las aplicaciones hibridas son más lentas que las aplicaciones nativas, pero conforme mejoran los dispositivos, esta

diferencia se va reduciendo.

 KLOTIN: Es un lenguaje de programación de tipo estático que corre sobre la máquina

virtual de Java y que también puede ser compilado a código fuente de JavaScript. Es desarrollado principalmente

por JetBrains en sus oficinas de San Petersburgo (Rusia). El nombre proviene de la isla de Kotlin, situada cerca

de San Petersburgo.
CARACTERÍSTICAS

No requiere punto y coma después de cada declaración.

Proporciona seguridad sobre los nulos.

Ofrece una 100% interoperable con Java, pudiendo hacer uso de cualquier librería escrita en Java.

No tiene primitivos.

Las clases de Kotlin tienen propiedades, no campos simples.

Ofrece clases de datos, con generación equals/hashCode, getters & setters y copy.

No chequea las excepciones.

No tiene la palabra clave new.

Admite una sobrecarga del operador.

Compatible con Java 6, que es especialmente interesante en Android.

Distingue entre colecciones mutables e inmutables.

VENTAJAS

Ofrece todas las características de un lenguaje de estilo orientado a objetos con un enfoque funcional.

Funciones de orden superior, son aquellas que toman una función como argumento y tipo de retorno.

La codificación en Kotlin es muy corta, concisa y directa. Mismo trabajo con menos líneas de código que en Java.
Respaldado por JetBrains, Google y Spring Framework, definitivamente está aquí para quedarse, crecer y

evolucionar.

DESVENTAJAS

Coincidencia de patrones débil.

Tamaño extra de tiempo de ejecución.

Legibilidad inicial del código se vuelve un poco difícil de leer y entender al principio.

Comunidad de soporte pequeña, Kotlin es más joven que Scala, tiene menos bibliotecas, publicaciones en blogs y

tutoriales.

4. FRAMEWORK DE APLICACIONES MÓVILES

 NATIVE SCRIPT: NativeScript es un entorno de trabajo de código abierto –open-

source mobile framework– para construir aplicaciones móviles para las plataformas iOS, Android y próximamente

Windows, con JavaScript, CSS y XML. NativeScript fue creado y es mantenido por la empresa búlgara Telerik,

la cual fue comprada por la empresa estadounidense Progress en 2014.

CARACTERÍSTICAS

NativeScript ha sido diseñado para ser aprovechado por desarrolladores con diferentes formaciones.

Implementación de hojas de estilo CSS. Podemos cambiar la apariencia y estilo de vistas y elementos en una

aplicación NativeScript de manera similar a como lo hacemos en una aplicación web.

Acceso a las APIS nativas.

Tu código se escribe una vez.


VENTAJAS

Con una sola base de código puedes desarrollar aplicaciones para Android y IOS.

La mejor forma de trabajarlo es en conjunto con Angular.

DESVENTAJAS

Sólo un subconjunto del lenguaje CSS es soportado.

 REACT NATIVE: Es un framework JavaScript para crear aplicaciones

reales nativas para iOS y Android, basado en la librearía de JavaScript React para la creación de componentes

visuales, cambiando el propósito de los mismos para, en lugar de ser ejecutados en navegador, correr

directamente sobre las plataformas móviles nativas, en este caso iOS y Android. Es decir, en lugar de desarrollar

una aplicación web híbrida o en HTML5, lo que obtienes al final como resultado es una aplicación real nativa,

indistinguible de la que podrías desarrollar con tu código en Objetive-C o Java.

CARACTERÍSTICAS

Compatibilidad Cross-Platform: ya que la mayoría de las APIs de React Native lo son de por sí, lo cual ayuda a los

propios desarrolladores a crear aplicaciones que puede ser ejecutados tanto en iOS como Android

simultáneamente con el mismo código base.

Funcionalidad nativa: las aplicaciones creadas mediante React Native funcionan de la misma manera que una

aplicación nativa real creada para cada uno de los sistemas usando su lenguaje nativo propio.

Actualizaciones instantáneas (para desarrollo y/o test): con la extensión de JavaScript, los desarrolladores

tienen la flexibilidad de subir los cambios contenidos en la actualización directamente al dispositivo del usuario
sin tener que pasar por las tiendas de aplicaciones propias de cada sistema y sus tediosos ciclos de procesos

obligatorios previos.

Sencilla curva de aprendizaje: React Native es extremadamente fácil de leer y sencillo de aprender ya que se

basa en los conceptos fundamentales del lenguaje JavaScript, siendo especialmente intuitivo tanto para los ya

expertos en dicho lenguaje o incluso para las personas sin experiencia en él.

DESVENTAJAS

Inmadurez de la plataforma, esto lo describieron argumentando que ocurrían ciertos problemas que, en el

desarrollo nativo, eran triviales, pero que en React Native se transformaban en un problema mayor.

Crashes, que básicamente significa que la aplicación se cerró de manera inesperada.

Muestra largas listas, debido a que como la plataforma aún sigue siendo inmadura, no provee la misma flexibilidad

y capacidad que ofrece el desarrollo nativo.

 APACHE CORDOVA: es un popular entorno de desarrollo para aplicaciones móviles

de código abierto, que nos permite utilizar las tecnologías estándar web HTML5, CSS3 y JavaScript para el

desarrollo multiplataforma, evitando por tanto usar el lenguaje de desarrollo nativo de cada plataforma móvil.

VENTAJAS

Realizas una APP una única vez y funciona en todos los dispositivos.

Alta compatibilidad (incluso con televisiones).

Sólo hace falta saber programar HTML/JS.

Sólo tienes que aprender la API de Apache Cordova.


Olvídate de aprender diferentes lenguajes.

DESVENTAJAS

No suele ser nativo (Tarda un poco más en procesarse)

No suele tener soporte para efectos visuales de cada sistema operativo.

5. BIBLIOTECAS DE JAVA SCRIPT

 PROGRESSIVE WEB APPS: Progressive web apps (o aplicaciones web progresivas),

es un término que se da a una nueva generación de aplicaciones que incrementan su funcionalidad, conforme las

capacidades del dispositivo en el que se ejecutan, incrementan, de ahí la palabra progresiva. La siguiente parte

del nombre web, hace referencia a que se construyen utilizando estándares de desarrollo web, algunos ya

conocidos como HTML, CSS y javaScript; y una nueva generación de APIs de javaScript. La parte final app es

porque las Progressive Web Apps se comportan como aplicaciones web nativas, pero usan tecnologías web.

VENTAJAS

No dependen de la conexión: Esto no es solo que pueden ser accedidas sin internet, es también (y aún más

importante) que puedes acceder con una conexión lenta de internet, a las aplicaciones.

Actualizadas: Vía actualizaciones en el background y web sockets, las aplicaciones progresivas esperan que el

usuario reciba la última información en tiempo real.

Son como apps: Se sienten y se ven como aplicaciones nativas, el usuario no debería ver la diferencia.

Son linkeables: La web está basada en links, las apps están yendo hacía allá con algo que ellos llaman Deep Linking.
DESVENTAJAS

Actualmente, no todos los navegadores las admiten, solo las últimas versiones de Chrome, Firefox y Opera.

Alto consumo de batería.

No todas las aplicaciones pueden ser pwa.

 JQUERY: Es una librería de JavaScript, esta librería de código abierto,

simplifica la tarea de programar en JavaScript y permite agregar interactividad a un sitio web sin tener

conocimientos del lenguaje.

CARACTERÍSTICAS

Manipulación de la hoja de estilos CSS.

Efectos y animaciones.

Animaciones personalizadas.

Objetos diferidos y de promesa para controlar el procesamiento asíncrono

Soporta extensiones (JSON).

Utilidades varias como obtener información del navegador, operar con objetos y vectores, funciones para rutinas

comunes, etc.

Métodos de compatibilidad que están disponibles de forma nativa con los navegadores Mozilla Firefox 2.0+,

Internet Explorer 6+, Safari 3+, Opera 10.6+ y Google Chrome 8+.20

Soporte para múltiples navegadores.


VENTAJAS

Es flexible y rápido para el desarrollo web.

Viene con licencia MIT y es Open Source.

Tiene una excelente comunidad de soporte.

Tiene Plugins.

Bugs son resueltos rápidamente.

Excelente integración con AJAX.

DESVENTAJAS

La gran cantidad de versiones publicadas en el corto tiempo.

jQuery es fácil de instalar y aprender, inicialmente. Pero no es tan fácil si lo comparamos con CSS.

Si jQuery es implementado inapropiadamente como un Framework, el entorno de desarrollo se puede salir de

control.

 REACT: React te ayuda a crear interfaces de usuario interactivas de forma sencilla.

Diseña vistas simples para cada estado en tu aplicación, y React se encargará de actualizar y renderizar de manera

eficiente los componentes correctos cuando los datos cambien. Las vistas declarativas hacen que tu código sea

más predecible, por lo tanto, fácil de depurar.

VENTAJAS

Fácil saber cómo se representa un componente, que acaba de observar la función de render.
JSX facilita la lectura del código de sus componentes. También es muy fácil ver el diseño o cómo los componentes

se enchufan/combinan entre sí.

Puede procesar React en el lado del servidor.

Es fácil de probar, y también puede integrar algunas herramientas como broma.

Garantiza la legibilidad y facilita el mantenimiento.

Puede usar Reaccionar con cualquier marco (Backbone.js, Angular.js) ya que solo es una capa de vista.

DESVENTAJAS

Es solo una capa de vista, todavía tiene que conectar su código para solicitudes de Ajax, eventos, etc. Algunas

personas se sorprenden por eso.

la biblioteca en sí es bastante grande.

la curva de aprendizaje puede ser pronunciada.

 D3: Es una potente Librería JavaScript para manipular documentos basados en datos. Su

nombre completo es Data-Driven Documents.

CARACTERÍSTICAS

Librería open source, gratuita para todo tipo de uso.

Trabaja con muchos tipos de gráficos en comparación con otras librerías.

Construye componentes utilizando SVG, CSS y HTML5.

Ligera complejidad para utilizarlo.

Buena combinación de componentes de visualización con un enfoque data-driven en la manipulación de datos.


Facilidad para depurar con el inspector de elementos del navegador (F12).

Gran comunidad y publicación de ejemplos.

Tiene funcionalidad drag & drop.

6. APLICACIONES PARA APPS NATIVAS

IOS: El desarrollo nativo se realiza mediante los lenguajes Swift y Objetive-C. Es un sistema operativo

propietario de la empresa Apple Inc. utilizado en dispositivos como smartphones, tablets y otros dispositivos

como televisiones o reproductores mp4, entre ellos los famosos iPhone, iPad y iPod.

VENTAJAS

Elevada seguridad: El sistema operativo iOS siempre ha presumido de su eficiencia frente a las ciber

amenazas externas.

Mayor filtro y exclusividad dentro del mercado de aplicaciones: Todas las apps para iOS atraviesan un proceso

de revisión manual por parte del equipo de Apple.

Interfaz intuitiva: Los dispositivos de iOS focalizan todos sus elementos en la mejora de la experiencia de

usuario, con unas opciones muy sencillas de configuración, pocos botones y un menú de navegación que se

caracteriza por la intuición.

DESVENTAJAS

Precios mucho más elevados que sus competidores: Muchos dispositivos de gama media-alta de Android tienen

prestaciones similares y unos costes mucho más competitivos que Apple.

Menor personalización, variedad y especialización con respecto a Android: Con Android puedes elegir entre un

sinfín de modelos, de todos los tamaños y precios, y orientados hacia los perfiles de usuario más variados.

Menor flexibilidad
Carece de la libertad de tener un sistema operativo de código abierto

 ANDROID: El desarrollo nativo se realiza usando Java como lenguaje. es un sistema

operativo móvil desarrollado por Google, basado en el Kernel de Linux y otros software de código abierto. Fue

diseñado para dispositivos móviles con pantalla táctil, como teléfonos inteligentes, tabletas, relojes inteligentes

(Wear OS), automóviles (Android Auto) y televisores (Android TV).

VENTAJAS

El código de Android es abierto (open source).

Android da completa libertad al propietario de un terminal a instalar lo que le venga en gana.

Android no escoge una determinada operadora para imponer al usuario el hecho de contratarla para poder

disfrutar de él.

Fomenta activamente la retroalimentación.

Android tiene sistema de multitarea inteligente, capaz de gestionar varias aplicaciones abiertas a la vez dejando

en suspensión aquellas que no se utilicen y cerrarlas en caso de resultar ya inútiles para evitar un consumo de

memoria.

DESVENTAJAS

El permitir muchas aplicaciones abiertas hace que el consumo de la batería se dispare y que dure mucho menos

de lo previsto.

Cuando se lanza una actualización de Android, el acceso depende del fabricante, lo que hace que una respuesta

pueda tardar semanas e incluso meses en adaptar la nueva versión al móvil del usuario.
7. APLICACIONES HÍBRIDAS COMPILADAS A NATIVAS

 XAMARIN: Es una herramienta para los desarrolladores de aplicaciones móviles, y la

novedad de esta herramienta es la capacidad que tiene para que el desarrollador escriba su app en lenguaje C# y

el mismo código sea traducido para ejecutarse en iOS, Android y Windows Phone.

VENTAJAS

Uso de código .net.

La documentación es muy completa, prácticamente todo lo necesario para comenzar se encuentra en su sitio web

para desarrolladores, también los errores más comunes ya tienen respuesta en su foro o en sitios como

stackoverflow.

Uso de código Java y Objective C.

Integración con Visual Studio Team Services para el control de código fuente.

DESVENTAJAS

Dificultad para utilizar librerías Objective C.

Dificultad para ejecutar un proyecto nuevo.

8. APLICACIONES HÍBRIDAS APPS Y WEBS

 IONIC (CORDOVA): Es un framework open source para el desarrollo de

aplicaciones híbridas multiplataforma con HTML5, CSS, Cordova, Angular... Con él se logra el desarrollo en poco

tiempo de aplicaciones elegantes, rápidas y escalables.


 APACHE (CORDOVA): Es una plataforma Open Source que permite construir

aplicaciones móviles multiplataforma utilizando HTML5, CSS y Javascript. Consiste en un set de librerías

Javascript que permite al desarrollador acceder a funciones nativas del dispositivo móvil, tales como la

cámara, el acelerómetro, la agenda o el GPS.

Las Apps híbridas reducen considerablemente el tiempo de desarrollo y el coste de mantenimiento de una

aplicación móvil cuando es necesario disponer de ella en múltiples sistemas operativos: Android, Apple iOS,

BlackBerry y Microsoft Windows.

9. APLICACIONES WEBS APPS

 POLYMER.JS: Polymer es una potente librería para desarrollo de sitios web del lado

del cliente. Está basada en los estándares de los Web Components. Polymer está construido sobre la base de los

estándares abiertos de los Web Components; es decir, toda la “magia” que permite a Polymer funcionar

es JavaScript estándar, basado en especificaciones de la W3C (World Wide Web Consortium).

CARACTERÍSTICAS

Recicla el código (en cualquier proyecto que use Web Components).

Modulariza la app (de tal manera que el código esté distribuido en archivos que tienen funcionalidad específica).

Separa la aplicación en componentes, delega a cada componente una y sólo una responsabilidad en la aplicación;

por ende, se puede escribir mejor código y hacer que el front-end sea más mantenible en una aplicación web.

Paper Elements (guías de diseño de material design).

Custom Elements (se implementan en la aplicación).

VENTAJAS
Programación orientada a componentes.

Capacidad para crear Custom Elements. Funciona de manera independiente de la aplicación y contiene todo lo

relacionado a un elemento de la interfaz.

Permite el uso de Shadow DOM: esta tecnología encapsula el contenido de un Custom Element. Evita que los estilos

y el código interactúen de manera no deseada.

Habilita HTML imports: desarrolla aplicaciones web modulares de forma sencilla y eficiente. Coloca todo lo

relacionado con una parte de la aplicación.

Incluye Web-Component-Tester: herramienta que comprueba desde la consola el funcionamiento correcto de los

componentes en los navegadores.

Las aplicaciones se optimizan fácilmente para uso en producción.

DESVENTAJAS

El soporte de Web Components todavía es muy bajo.

Polymer suele funcionar mal en plataformas que no sean Android.

Polymer impone el uso de material design. Las aplicaciones web que siguen este lenguaje visual sólo se mimetizan

adecuadamente con versiones de Android posteriores a la 4, que son las únicas con ese diseño.

 ANGULAR: Angular JS es un marco de código abierto para crear aplicaciones web. El

gigante tecnológico Google lo contiene. Los codificadores enfrentan muchos problemas al desarrollar y probar

cualquier código. Recurre a muchos de los desafíos que los codificadores pueden enfrentar.

CARACTERÍSTICAS

Enlace de datos bidireccional. Estructura MVC. Directivas. Plantillas. Inyecciones de dependencia. Pruebas.
VENTAJAS

AngularJS es uno de los marcos más utilizados para crear sitios web.

Código declarativo estilo, el trabajo más agitado en codificación es escribir códigos para cada pequeña función.

Reconocimiento amplio, el desarrollo web de AngularJS es un marco globalmente conocido. Se utiliza para

desarrollar aplicaciones de alta calidad.

El enlace de datos, para mejorar la capacidad de prueba, Angular JS está en uso.

DESVENTAJAS

Fallos de rendimiento, como las aplicaciones desarrolladas bajo el framework AngularJS son dinámicas carecen

de rendimiento.

Necesita profesionales, un empresario puede considerar a Angular JS como el mejor marco adecuado para el

desarrollo de aplicaciones web.

 REACT: React es una librería Javascript focalizada en el desarrollo de interfaces de

usuario. Así se define la propia librería y evidentemente, esa es su principal área de trabajo. Sin embargo, lo

cierto es que en React encontramos un excelente aliado para hacer todo tipo de aplicaciones web, SPA (Single

Page Application) o incluso aplicaciones para móviles. Para ello, alrededor de React existe un completo ecosistema

de módulos, herramientas y componentes capaces de ayudar al desarrollador a cubrir objetivos avanzados con

relativamente poco esfuerzo.

VENTAJAS

Es fácil saber cómo se representa un componente, simplemente mira la function de renderizado.

JSX hace que sea fácil leer el código de tus componentes. También es realmente fácil ver el layout o cómo los

componentes se enchufan / combinan entre sí.


Puedes renderizar React en el lado del server.

Es fácil de probar, y también puede integrar algunas herramientas como broma.

Asegura la legibilidad y facilita el mantenimiento.

Puede usar Reaccionar con cualquier marco (Backbone.js, Angular.js) ya que solo es una capa de vista.

DESVENTAJAS

Es solo una capa de vista, aún tiene que conectar su código para requestes de Ajax, events, etc. Algunas personas

se sorprenden por eso.

La biblioteca en sí es bastante grande.

La curva de aprendizaje puede ser pronunciada.

10. HERRAMIENTAS DE JAVASCRIPT

 GULP: Es una herramienta, en forma de script en NodeJS, que te ayuda a automatizar

tareas comunes en el desarrollo de una aplicación, como pueden ser: mover archivos de una carpeta a otra,

eliminarlos, minimizar código, sincronizar el navegador cuando modificas tu código, validar sintaxis.

 GRUNT: Es una herramienta para automatizar tareas es nuestros proyectos, hasta

donde se proyectos web. La idea es que todas esas tareas rutinarias que debemos hacer en nuestros proyectos

Grunt las haga por nosotros. Entre las tareas más comunes están:

Concatenación de archivos (CSS, JS)

Minificación de archivos (CSS, JS)

Optimización de imágenes.
Compilación (SASS -> CSS y otros)

Unit Test

Cada una de estas tareas se implementa por un plugin de Grunt, que al día de hoy cuenta con casi tres mil plugins.

VENTAJA

Es Javascript al igual que los plugins y utiliza NodeJS para su ejecución lo que lo hace multi plataforma.

 NPM: “Node Package Manager” es el gestor de paquetes JavaScript de NODE.JS por

excelencia. Gracias a él, tenemos casi cualquier librería disponible a tan solo una línea de comando de distancia,

permitiéndonos utilizarla en cuestión de segundos.

En los últimas años JavaScript ha tomado gran importancia, pasando de ser utilizado solamente para simples

validaciones de formularios del lado del cliente, a ser el responsable de la puesta en marcha de servidores

con node.js y demás.

¿CUÁLES SON LOS MEJORES FRAMEWORK Y POR QUÉ?

Laravel: Este framework en particular es conocido por su elegante sintaxis que es fácil de entender y es un

placer para trabajar. Con Laravel, puedes comenzar a trabajar en tus proyectos rápidamente. También podrás

omitir una gran cantidad de elementos básicos, ya que tendrás acceso a funciones como la autenticación de

usuarios, la administración de sesiones y el almacenamiento en caché.

CodeIgniter: es un framework PHP que usa una arquitectura de Model View Controller (MVC). En términos

sencillos, eso significa que CodeIgniter utiliza diferentes componentes para manejar tareas de desarrollo

específicas. Este enfoque es muy popular entre los desarrolladores porque permite crear aplicaciones web

altamente escalables con un tamaño más reducido.


Symfony: Está a la altura de CodeIgniter y Laravel en términos de popularidad. Y cuando empiezas a profundizar

en este framework, es fácil ver el por qué. Además de tener un nombre genial, Symfony es bastante flexible.

Cuenta con un paquete y un sistema de componentes que te permite elegir las funciones de PHP que necesitas, o

simplemente usar todo el framework.

Ingeniería del
software

Es la creación de nuevas tecnologías que permiten evolucionar la antigua, este está relacionado con
todo tipo de sistema lo que lo hace muy esencial hoy en día en la vida que llevamos, tanto en empresas
como personas naturales.
PROCESO DE SOFTWARE

Software
PROCESO
Es el soporte lógico de un
Una secuencia de pasos
sistema informativo
con algún tipo de lógica,
que se enfoca en lograr Qué es
un objetivo

Un enfoque que se adopta


POR QUÉ ES IMPORTANTE mientras el software se está desarrollando
Ofrece: estabilidad, control y
organización.
Pero si no se controla puede
volverse una actividad caótica
QUIEN LO REALIZA
Los ingenieros de sistemas, basado en
las distintas explicaciones a cerca de la
necesidad que vaya emplear

¿COMO ASEGURARSE DE QUE


ESTÉ TODO
CUALES SON LOS PASOS CORRECTAMENTE?

Depende del software que se - La calidad


está construyendo. - el tiempo requerido
- La viabilidad a largo plazo del
Pero debe ser de calidad
producto que se realiza.
Esto indica la eficacia del
proceso que se va utilizar

RESULTADOS OBTENIDOS
Serían los programas, documentos
y datos que se producen como
consecuencia de las actividades y
tareas definidas por el proceso.

Vous aimerez peut-être aussi