Sunteți pe pagina 1din 6

2.

3 Análisis de servicios de mapas

Los servicios de mapas que se va a analizar son: Open Street Map y Google Maps.

OpenStreetMap (también conocido como OSM) es un proyecto colaborativo para crear


mapas libres y editables. Los mapas se crean utilizando información geográfica
capturada con dispositivos GPS móviles, ortofotografías y otras fuentes libres. Esta
cartografía, tanto las imágenes creadas como los datos vectoriales almacenados en su
base de datos, se distribuye bajo licencia abierta Licencia Abierta de Bases de Datos
(en inglés ODbL). Los usuarios registrados pueden subir sus trazas desde el GPS y
crear y corregir datos vectoriales mediante herramientas de edición creadas por la
comunidad OpenStreetMap.
https://es.wikipedia.org/wiki/OpenStreetMap#C.C3.A1lculo_de_rutas_y_navegaci.C3.B
3n

Google Maps es un servidor de aplicaciones de mapas en la web que pertenece a


Google. Ofrece imágenes de mapas desplazables, así como fotografías por satélite del
mundo e incluso la ruta entre diferentes ubicaciones o imágenes a pie de calle con
Google Street View.
https://es.wikipedia.org/wiki/Google_Maps

OpenStreetMap utiliza datos abiertos, es decir que los usuarios pueden usarlo
libremente para cualquier propósito, siempre y cuando se dé crédito a OpenStreetMap
y a sus colaboradores. Por otro lado Google Maps no está abierto a nivel de datos de
los mapas primas. Google (al igual que otros propietarios de los datos) mantiene esto
encerrado, con el fin de mantener una ventaja comercial, mientras que la exposición
sólo los productos y servicios generados a partir de los datos de los mapas primas
aguas abajo. También protegen sus derechos a los datos de los mapas subyacentes
con diversos derechos de autor y términos de restricciones de uso.

Hay una tendencia, incluso entre las comunidades de desarrolladores técnicos, para
centrarse en servicios derivados de mapas (en particular la vista renderizada del
mapa) como esos mapas, Google es ampliamente considerado como una plataforma
de mapeo muy abierta, pero hay una creciente conciencia de que el mapa en bruto
datos y la posibilidad de descargar todo el Planeta. osm puede desatar una nueva ola
de innovación no es posible en la plataforma restringida de google. Ese es el punto de
OpenStreetMap.

http://wiki.openstreetmap.org/wiki/Comparision_Google_services_-_OSM

Edición de Mapas
Para la edición de mapas en Open Street Map, el usuario únicamente debe registrarse
en la plataforma y podrá empezar a realizar cambios en los mapas. Al terminar de
editar el mapa, se guarda e inmediatamente se pueden visualizar desde cualquier
dispositivo los cambios realizados.

En cambio, para editar mapas en Google Maps se utiliza su herramienta denominada


Map Maker. El proceso es similar a Open Street Map, pero los cambios no se reflejan
inmediatamente, debido a que debe ser aprobado por los líderes regionales de la zona
modificada. (ref: https://support.google.com/mapmaker/answer/157164?hl=es) , este
proceso no tiene un plazo especificado por lo que no es posible saber cuando se
podrán visualizar los cambios realizados.
https://es.wikipedia.org/wiki/OpenStreetMap
https://www.openstreetmap.org/help
https://www.openstreetmap.org/about
http://www.genbeta.com/web/openstreetmaps-vs-google-maps-quien-gana-y-quien-
pierde-con-los-ultimos-movimientos-entorno-a-los-mapas
http://www.digitaltrends.com/computing/google-map-maker-vs-openstreetmap-id-editor/
http://wiki.openstreetmap.org/wiki/Comparision_Google_services_-_OSM
https://developers.google.com/maps/documentation/android/intro?hl=es
http://gabrielsoftwares.blogspot.com/2014/06/openstreetmap-vs-google-maps-lucha-
de.html
http://www.inaglobal.fr/en/digital-tech/article/google-maps-versus-openstreetmap-
charting-new-territory-web

OSM al ser un mapa colaborativo y de mucho más facil acceso posee una mayor
cantidad de detalles en la visualización del mapa de la zona del campus de la EPN en
comparación con Google Maps, como se puede observar en l Figura , lo que facilita la
ubicación y orientación para el usuario.

Figura . Comparación OSM vs Google Maps

2.4 Análisis de sensores de Android

http://www.elandroidelibre.com/2014/07/cuales-son-y-para-que-sirven-los-sensores-de-
nuestros-android.html

La mayoría de los dispositivos con Android han incorporado sensores que miden el
movimiento, la orientación y diversas condiciones ambientales. Estos sensores son
capaces de proporcionar datos en bruto con una alta precisión y exactitud, y son útiles
si desea supervisar el movimiento tridimensional o posicionamiento del dispositivo, o si
desea monitorear los cambios en el entorno ambiental cerca de un dispositivo.

La plataforma Android es compatible con tres amplias categorías de sensores:

Los sensores de movimiento: Estos sensores miden las fuerzas de aceleración y


fuerzas de rotación a lo largo de tres ejes. Esta categoría incluye acelerómetros,
sensores de gravedad, giroscopios y sensores de vector de rotación.

Sensores ambientales: Estos sensores miden diversos parámetros ambientales, como


la temperatura ambiente y la presión de aire, iluminación y humedad. Esta categoría
incluye barómetros, fotómetros y termómetros.

Sensores de posición: Estos sensores miden la posición física de un dispositivo. Esta


categoría incluye sensores de orientación y magnetómetros.

http://developer.android.com/guide/topics/sensors/sensors_overview.html
A continuación se muestra un resumen de los principales sensores que se encuentran
disponibles:

http://www.androidcurso.com/index.php/tutoriales-android/36-unidad-5-entradas-en-
android-teclado-pantalla-tactil-y-sensores/154-los-sensores

 Acelerómetro: Un indispensable para medir la aceleración, la inclinación y la


gravedad. Lo utilizamos cuando cambiamos el dispositivo de una posición
vertical a horizontal y viceversa, o cuando jugamos.
 Giroscopio: Similar al primero, aunque más preciso y menos lineal, pues
también mide la dirección y el movimiento angular, siendo capaz de calcular la
rotación total. Es capaz de detectar las vibraciones de nuestra voz.
 Barómetro: Mide la presión atmosférica. Permite calcular la altitud aproximada,
y apoya al GPS.
 Magnetómetro: Mide la cantidad de fuerza magnética. Se encarga del
funcionamiento de la brújula, y es útil para esas fundas que despiertan nuestra
pantalla al abrirlas.
 Sensor de proximidad: Emitiendo una luz infrarroja, es capaz de saber si
tiene algo próximo o no según lo que tarde en volver esa luz. Actúa, por
ejemplo, cuando estamos realizando una llamada, momento en el que se
apaga la pantalla al tener el teléfono cerca de la oreja.
 Sensor de luz: Es capaz de medir la cantidad de luz que hay en el entorno, y a
partir de eso, el smartphone regula automáticamente el brillo de la pantalla,
siempre y cuando lo tengamos activado.
 Termómetro: Puede medir tanto la temperatura interna del dispositivo, como la
temperatura ambiente.
 Sensor de ritmo cardíaco: Haciendo uso del flash del terminal, detecta
nuestro ritmo cardíaco con solo apoyar sobre el mismo nuestro dedo.
 Podómetro: Calcula los pasos que damos de forma mucho más precisa que el
acelerómetro.
 Lector de huellas: Un sensor capacitivo que es capaz de detectar nuestra
huella dactilar. Multiplica la seguridad del dispositivo.

http://andro4all.com/2015/03/10-sensores-mas-importantes-android-video

Justificación de las herramientas para la construcción de la aplicación


PLATAFORMA DE DESARROLLO

Android Developer Tools (ADT) es un plugin para Eclipse que proporciona un conjunto
de herramientas que se integran con el IDE de Eclipse. Ofrece acceso a muchas
características que le ayudan a desarrollar aplicaciones de Android. ADT proporciona
acceso GUI a muchas de las herramientas del SDK de línea de comandos, así como
una herramienta de diseño de interfaz de usuario para creación rápida de prototipos,
diseño y construcción de la interfaz de usuario de la aplicación.

http://developer.android.com/tools/help/adt.html

BASE DE DATOS
MongoDB es una base de datos orientada a documentos. Esto
quiere decir que en lugar de guardar los datos en registros, guarda
los datos en documentos. Estos documentos son almacenados en
BSON, que es una representación binaria de JSON.
http://www.genbetadev.com/bases-de-datos/mongodb-que-es-como-funciona-y-
cuando-podemos-usarlo-o-no

MongoDB es especialmente útil en entornos que requieran


escalabilidad.

http://blogs.alianzo.com/redessociales/2014/01/07/mysql-a-la-basura-bienvenido-
mongodb/
http://www.genbetadev.com/bases-de-datos/mongodb-que-es-como-funciona-y-
cuando-podemos-usarlo-o-no
https://www.mongodb.com/mongodb-and-mysql-compared
http://www.neonrain.com/blog/mysql-vs-mongodb-relational-and-non-relational-
databases

Servicio Web
Scala ->
Scala es un lenguaje de programación para aplicaciones de software. Es un acrónimo
de Scalable Language

http://www.scala-lang.org/what-is-scala.html

Lift
Lift es framework de aplicación web gratuita que está diseñado para el lenguaje de
programación Scala.

Lift es un marco expresivo para la escritura de aplicaciones web. Se basa en los


conceptos de los marcos de pares como Grails, Ruby on Rails, Mar, Wicket y Django.
Favorece convención sobre configuración en el estilo de Ruby on Rails, aunque no
prescribe el-vista-controlador modelo (MVC) patrón arquitectónico. Más bien, Ascensor
se modela principalmente en el llamado enfoque "Vista Primero" (diseñador de usar)
para el desarrollo de la página web inspirada en el marco Wicket. Levante también
está diseñado para ser un alto rendimiento, marco web escalable mediante el
aprovechamiento de los actores Scala para apoyar las peticiones más concurrentes
que es posible con un servidor de hilo-por-petición.

Como el código del programa Scala ejecuta dentro de la máquina virtual Java (JVM),
cualquier Biblioteca de Java y web contenedor existente se puede utilizar en la
ejecución de aplicaciones de elevación. Ascensor aplicaciones web son así
empaquetan como archivos WAR y desplegados en cualquier motor servlet 2.4 (por
ejemplo, 5.5.xx Tomcat, Espolón 6.0, etc.). Programadores Ascensor pueden usar la
cadena de herramientas de desarrollo Scala / Java estándar, incluyendo IDEs como
Eclipse, NetBeans y IDEA. El contenido web dinámico es de autoría a través de
plantillas utilizando editores HTML5 o XHTML estándar. Aplicaciones de elevación
también se benefician de soporte nativo para las técnicas de desarrollo web
avanzadas, como Comet y Ajax.

Las principales características de las aplicaciones de elevación son:

Resistente a vulnerabilidades comunes incluyendo muchos de la OWASP.


Rápido para construir, conciso y fácil de mantener.
Alto rendimiento y escala en el mundo real para manejar los niveles de tráfico grandes.
Interactivo como una aplicación de escritorio.
https://en.wikipedia.org/wiki/Lift_(web_framework)
http://www.infoq.com/news/2008/03/liftweb

Apache Thrift
http://jnb.ociweb.com/jnb/jnbJun2009.html
Es un framework para el desarrollo de los servicios en idioma cruz escalable, combina
una pila de software con un motor de generación de código para construir servicios
que funcionan de manera eficiente y sin problemas entre C ++, Java, Python, PHP,
Ruby, Erlang, Perl, Haskell, C #, Cacao, JavaScript, Node.js, Smalltalk, OCaml y
Delphi y otros idiomas.

Finagle
Finagle es un sistema RPC extensible para la JVM (Java Virtual Machine) , se utiliza
para la construcción de servidores de alta concurrencia. Finagle implementa cliente y
servidor API uniformes para varios protocolos, y está diseñado para un alto
rendimiento y concurrencia. La mayor parte del código del Finagle es protocolo
agnóstico, lo que simplifica la implementación de nuevos protocolos.
https://twitter.github.io/finagle/
https://blog.twitter.com/2011/finagle-a-protocol-agnostic-rpc-system

SBT
SBT es una herramienta de construcción Open Source para proyectos realizados en
Scala y Java, similar a Maven o Ant.

Sus principales características son:

Soporte nativo para compilar código Scala y la integración con muchos frameworks de
prueba de Scala.
gestión de dependencias mediante Ivy (que soporta repositorios en formato Maven)
compilación, pruebas y despliegue contínuos.
integración con el intérprete de Scala para una iteración y depuración rápida.
Soporte a proyectos Java / Scala mixtos.

https://en.wikipedia.org/wiki/SBT_(software)

REALM
Realm es una base de datos móvil multiplataforma acaba de lanzar al público en julio
de 2014. Se trata de una solución de persistencia de datos diseñada específicamente
para aplicaciones móviles.
Realm es extremadamente fácil de integrar en sus proyectos, y las funciones más
comunes - como la consulta de la base de datos - consisten en una sola línea de
código!
A diferencia de las envolturas alrededor de Datos Básicos como MagicalRecord,
Realm no se basa en datos básicos o incluso un motor SQLite.
http://www.raywenderlich.com/81615/introduction-to-realm

Gcm

El Servicio de mensajería en la nube de Google (GCM) es un servicio gratuito


que permite a los desarrolladores enviar mensajes en diferentes plataformas,
como Android, iOS y Chrome. Por ejemplo, un servidor puede enviar mensajes
directamente a un único dispositivo, a un grupo de dispositivos o a dispositivos
suscritos a temas. Asimismo, la aplicación de un dispositivo puede enviar
mensajes directamente a un servidor y a los dispositivos que pertenezcan al
mismo grupo.
https://support.google.com/googleplay/android-developer/answer/2663268?hl=es

S-ar putea să vă placă și