Beruflich Dokumente
Kultur Dokumente
El módulo que provee las estructuras de datos y las funciones para trabajar con arreglos se llama NumPy, y no viene
incluído con Python, por lo que hay que instalarlo por separado.
Descargue el instalador apropiado para su versión de Python desde la página de descargas de NumPy. Para ver qué
versión de Python tiene instalada, vea la primera línea que aparece al abrir una consola.
Para usar las funciones provistas por NumPy, debemos importarlas al principio del programa:
Como estaremos usando frecuentemente muchas funciones de este módulo, conviene importarlas todas de una vez usando
la siguiente sentencia:
(Si no recuerda cómo usar el import, puede repasar la materia sobre módulos).
El tipo de datos de los arreglos se llama array. Para crear un arreglo nuevo, se puede usar la función array pasándole como
parámetro la lista de valores que deseamos agregar al arreglo:
>>> a
array([6, 1, 3, 9, 8])
Todos los elementos del arreglo tienen exactamente el mismo tipo. Para crear un arreglo de números reales, basta con que
uno de los valores lo sea:
>>> b
>>> a
array([6, 1, 3, 9, 8])
>>> a.astype(float)
>>> a.astype(complex)
Hay muchas formas de arreglos que aparecen a menudo en la práctica, por lo que existen funciones especiales para
crearlos:
arange(a, b, c) crea un arreglo de forma similar a la función range, con las diferencias que a, b y c pueden ser reales, y que
el resultado es un arreglo y no una lista;
>>> zeros(6)
>>> ones(5)
>>> linspace(1, 2, 5)
Las limitaciones que tienen los arreglos respecto de las listas son compensadas por la cantidad de operaciones
convenientes que permiten realizar sobre ellos.
>>> a * b
>>> a - b
Las operaciones entre un arreglo y un valor simple funcionan aplicando la operación a todos los elementos del arreglo,
usando el valor simple como operando todas las veces:
>>> a
>>> 0.1 * a
>>> a - 9.0
Note que si quisiéramos hacer estas operaciones usando listas, necesitaríamos usar un ciclo para hacer las operaciones
elemento a elemento.
Las operaciones relacionales también se aplican elemento a elemento, y retornan un arreglo de valores booleanos:
>>> a < b
array([False, True, True, False], dtype=bool)
>>> a == c
Para reducir el arreglo de booleanos a un único valor, se puede usar las funciones any y all. any retorna True si al menos
uno de los elementos es verdadero, mientras que all retorna True sólo si todos lo son (en inglés, any signfica «alguno», y all
significa «todos»):
True
>>> any(a == b)
False
>>> all(a == c)
True
NumPy provee muchas funciones matemáticas que también operan elemento a elemento. Por ejemplo, podemos obtener el
seno de 9 valores equiespaciados entre 0 y π/2 con una sola llamada a la función sin:
>>> x
>>> sin(x)
0.92387953, 0.98078528, 1. ])
Como puede ver, los valores obtenidos crecen desde 0 hasta 1, que es justamente cómo se comporta la función seno en el
intervalo [0, π/2].
Aquí también se hace evidente otra de las ventajas de los arreglos: al mostrarlos en la consola o al imprimirlos, los valores
aparecen perfectamente alineados. Con las listas, esto no ocurre:
>>> list(sin(x))
Arreglos aleatorios
El módulo NumPy contiene a su vez otros módulos que proveen funcionalidad adicional a los arreglos y funciones básicos.
El módulo numpy.random provee funciones para crear números aleatorios (es decir, generados al azar), de las cuales la
más usada es la función random, que entrega un arreglo de números al azar distribuidos uniformemente entre 0 y 1:
>>> random(3)
>>> random(3)
>>> random(3)
Cada elemento del arreglo tiene un índice, al igual que en las listas. El primer elemento tiene índice 0. Los elementos
también pueden numerarse desde el final hasta el principio usando índices negativos. El último elemento tiene índice —1:
>>> a[0]
6.2
>>> a[1]
-2.3
>>> a[-2]
4.7
>>> a[3]
4.7
Una seccion del arreglo puede ser obtenida usando el operador de rebanado a[i:j]. Los índices i y j indican el rango de
valores que serán entregados:
>>> a
>>> a[1:4]
>>> a[2:-2]
array([ 3.4])
Si el primer índice es omitido, el rebanado comienza desde el principio del arreglo. Si el segundo índice es omitido, el
rebanado termina al final del arreglo:
>>> a[:2]
>>> a[2:]
Un tercer índice puede indicar cada cuántos elementos serán incluídos en el resultado:
>>> a = linspace(0, 1, 9)
>>> a
>>> a[1:7:2]
>>> a[::3]
>>> a[-2::-2]
>>> a[::-1]
Una manera simple de recordar cómo funciona el rebanado es considerar que los índices no se refieren a los elementos,
sino a los espacios entre los elementos:
materia/../diagramas/indices.png
>>> b[2:5]
>>> b[:5]
>>> b[1:1]
array([], dtype=float64)
>>> b[1:5:2]
Los métodos min y max, entregan respectivamente el mínimo y el máximo de los elementos del arreglo:
>>> a.min()
-2.5
>>> a.max()
8.4000000000000004
Los métodos argmin y argmax entregan respectivamente la posición del mínimo y del máximo:
>>> a.argmin()
>>> a.argmax()
Los métodos sum y prod entregan respectivamente la suma y el producto de los elementos:
>>> a.sum()
24.041592653589795
>>> a.prod()
-11393.086289208301
2.- Solicitar un mapa mental o cuadro sinóptico con los constructos de Java para
datos variables
Del mismo modo que también el lugar en que va a utilizarla. No será lo mismo
desarrollar una app móvil para usar en casa, dónde generalmente tenemos wifi, que
para usar en la montaña, donde probablemente necesitarás que pueda trabajar sin
conexión.
El presupuesto
Sobre todo el presupuesto es determinante. ¿Cuánto estás dispuesto a gastarse en el
desarrollo de la aplicación? En la mayor parte de los casos suele depender del tipo de
usuario o del tipo de necesidad que se cubre.
Pedir opiniones
Para determinar si tu proyecto de app móvil puede tener éxito y convertirse en
aplicación, debes de preguntar a la gente si realmente es necesario crearla. Sé
verdaderamente crítico sobre si el producto o servicio en forma de aplicación móvil
que quieres lanzar está cubriendo una necesidad. La mejor forma de saberlo es
preguntar a personas que sean público objetivo de tu app móvil sobre si existe
ninguna aplicación que cubra esa necesidad y si estarían dispuestos a pagar por
aplicaciones móviles que cubran esa necesidad.
En cualquier caso, puedes tener pensado lanzar una app como complemento de otro
negocio. En ese caso tienes a tus propios clientes para que te respondan a estas
preguntas.
Antes que nada, ¿has investigado realmente si existen aplicaciones móviles que ya
hagan lo que quieres hacer? A lo mejor existe competencia, pero que esto no te
desaliente, se pueden hacer otras cosas para desarrollar la app y que salga adelante.
Puedes hacerla mejor, ofertarla al público más barata o bien que sea más rápida y
funcione mejor.
Estrategia de monetización
¿Tienes pensado ganar dinero con la app? Si la respuesta es que sí, que a excepción de
que sea una apps con fines sociales será la gran mayoría de los casos, tienes que tener
muy claro cómo quieres hacerlo. Y no vale decir: ¡ganaré dinero con publicidad!
Porque sin una estrategia clara eso no vale. Aquí te presentamos algunas estrategias
para monetizar una app:
– Puedes cobrar un pago por descarga: el usuario paga una pequeña cantidad para
descargarse la app, investiga la competencia si utiliza esta técnica y a qué precio.
– Modelo Premium: dándole a un usuario una versión gratuita y que pueda pagar una
suscripción mensual por unos servicios extras.
– Micro pagos in app: donde se puede pagar de forma puntual por ciertos productos o
servicios. Es el clásico modelo de monetización de los juegos donde se pagan pequeñas
cantidades de dinero por ciertas funcionalidades o acciones puntuales.
No olvides que definir para qué dispositivos vas a lanzar la app y ¡exprímelo al
máximo! Ten en cuenta todas las funcionalidades que se pueden sacar de los
dispositivos y sácales el máximo partido, sin importar el sistema operativo en el que
hagas el desarrollo de apps, aprovéchalo. Recuerda que ¡tienes al usuario en tu mano!
¿Cómo hacer una app? Paso 2. Describe lo que quieres hacer
Piensa que el desarrollador freelance o empresa de desarrollo de apps al que querrías
contratar no está dentro de tu cabeza, así que intenta transmitirle la máxima
información.
Puede que ahora te estarás diciendo a ti mismo, que no quieres contar mi idea para
desarrollar una aplicación móvil a nadie por si la copian. Sin embargo, los grandes
expertos del sector apoyan la teoría de que la idea en sí no vale mucho, sino que lo
importante es el equipo de desarrolladores y las personas que puedan llevarla a cabo
y hacer que tenga éxito. En muchos casos la ilusión del propio creador, el
conocimiento del mercado e incluso en algunos casos conocer mejor que nadie al
cliente potencial aportan mucho más valor que la propia idea en sí.
Una vez salvado el miedo de contar tu idea vamos a ver cómo definirla para que un
profesional sea capaz de valorar cuánto cuesta desarrollarla.
La funcionalidad de la app
¿Cuántas pantallas diferentes habrá en la app móvil, que se podrá hacer en cada una
de ellas? Y sobre todo, qué tiene que hacer la propia app o el usuario dentro de la app
móvil? El ideal sería que dibujaras el prototipo (aunque sea en papel) e incluso
utilizaras unas herramientas para crear un prototipo de app y establecer el flujo entre
pantallas. Si incluyes esto en tu proyecto de app móvil al desarrollador, su idea sobre
tu aplicación será mucho más completa.
App de referencia
¿Existe alguna app de referencia que pueda servir de ejemplo? Una aplicación similar
aunque sea de otro sector o de la misma competencia puede decir mucho al
desarrollador sobre cómo desarrollar tu aplicación móvil. Puede ser igual que otras
apps móviles de referencia que ya exista pero con alguna funcionalidad diferente, un
precio diferente, en otro idioma o para otro mercado.
Forma de registro
¿Los usuarios de la aplicación necesitarán registrarse? Este registro, ¿lo quieres con
Facebook, Twitter, Google+, LinkedIn? Si necesitas captar a un usuario para almacenar
sus datos necesitarás que se registre. Cada vez más se utilizan las redes sociales para
registrarse, sobretodo porque además puedes obtener información adicional de estas
redes, útil para el registro. ¿Necesitarás que el usuario tenga un perfil propio dentro
de la app? En ese caso te será especialmente útil.
Redes sociales
¿Querrías compartir en redes sociales? Si tu app es potencialmente social aprovecha
que tus usuarios puedan ser tu mejor comercial y dales la posibilidad de que la
compartan. Para potenciar que la compartan piensa incluso en compensarlo de alguna
manera, la gamificación en aplicaciones móviles tiene muy buenos resultados.
Características del teléfono
¿Necesitarás la utilización de alguna característica del móvil? Cámara, geolocalización,
compartir, multimedia, notificaciones push, acelerómetro, agenda… Intenta sacarle el
máximo partido al dispositivo. Ten presente que las apps que necesitan mucha
conexión de datos o que gastan mucha batería del dispositivo gustan poco y acaban
borrándose. Define muy bien qué características necesitas porque ciertas
herramientas de programación no permiten su uso.
Métodos de pago
¿Necesitarás implementar métodos de pago? Si has decidido la forma de monetizar tu
app y si el usuario necesitará pagar a través de la app, piensa en darle las máximas
facilidades. Utiliza sistemas de pago conocidos y utilizados de forma normal para que
el usuario tenga la confianza suficiente como para gastarse el dinero en tu app móvil.
Tipo de plataforma
¿Para qué plataformas quieres la app? ¿La quieres nativa o multiplataforma? Analiza
en qué plataformas te conviene tener la app. Las más utilizadas son Android, iOS,
Windows Phone y BlackBerry. Prevé si necesitarás una web móvil, es decir que sea
adaptada todo tipo de dispositivos (web responsive o adaptativa). O si bien necesitas
que sea nativa, es decir desarrollada en el lenguaje propio de cada sistema operativo, o
bien puede servirte un desarrollo multiplataforma. Existen herramientas (los
denominados frameworks) que permiten desarrollar a la vez en varios sistemas
operativos. En algunos casos tienen limitaciones de funcionalidades, de diseño o de
velocidad de funcionamiento. Pero sirven muy bien para prototipos ya que son mucho
más baratos y permiten testear el mercado.
Diseño
¿Aportarías tú el diseño o se necesita un diseño importante? Dependiendo del nivel de
calidad del diseño tendrás que contar con equipos más o menos expertos en diseño.
Tienes que tener en cuenta la importancia de la usabilidad y la experiencia de usuario
ya que en muchos casos una aplicación móvil mal diseñada o mal enfocada al usuario
pierde toda su fuerza y acaba por no utilizarse.
Servicio web
¿Necesitarás un servicio web que almacene datos? Si tu app va a necesitar almacenar
datos en la nube o en el mismo dispositivo móvil habrá que tenerlo en cuenta para
definir el tamaño del servidor que lo almacenará. Además tendrás que tener en cuenta
el coste mensual y pedir un servicio de mantenimiento mensual de dicho servidor.
Panel de administración
¿Querrías un panel de administración que gestione los datos y la comunicación con el
usuario? Por lo general la mayoría de apps necesitarán que el desarrollador de apps
incluya un panel donde gestiones la información de los usuarios. Necesitarás tener las
estadísticas de uso y poder comunicarte con los usuarios (vía notificaciones, sms o
bien por mailing). A través de esta funcionalidad podrás gestionar los pagos de los
usuarios.
Posicionamiento natural en los buscadores de los mercados de apps (el ASO): existen
una serie de parámetros a seguir para optimizar la búsqueda en los buscadores. El
título, las keywords, la descripción, así como las valoraciones, comentarios de usuarios
o número de descargas son los puntos más importantes en el ASO. Y los elementos que
te ayudarán de cara al usuario para que descubra lo que ofrece la app en un simple
vistazo: Icono, los pantallazos de la app y un vídeo de presentación
También puedes optar por la compra directa de descargas. Existen muchos
recomendado res de apps y herramientas de pago que permiten generar descargas de
apps entre públicos muy segmentados y así aumentar las descargas de una aplicación.
La landing page o página web de presentación también es imprescindible. Si tu
proyecto de app móvil es únicamente una aplicación tendrás que tener en cuenta
también que vas a necesitar un diseño web a medida, aunque sea una página estática o
una plantilla con los enlaces de descarga. Esto te permitirá tener una página en la que
presentar el producto, posicionar en la web, etc.
Generar y enviar notas de prensa en medios especializados. Encuentra medios
especializados donde se reúna tu público e intenta que te publiquen un artículo
presentando tu app móvil indicando donde descargarla. Esto te permitirá además de
mejorar el posicionamiento de tu app móvil y conseguir descargas de tu público
objetivo. Si hay bloggers o páginas que hagan reviews o reseñas después de haber
probado la app describen su funcionamiento te ayudará en tu campaña de App
Marketing. Este tipo de artículos en medios especializados se comparten en redes
sociales y serán leídos por usuarios potenciales de tu app.
Aprovecha el potencial de las redes sociales. El componente social hace que las redes
sociales sean clave para la difusión y viralización de una App. Utiliza las redes para
transmitir los valores de tu app, para resolver incidencias, para que tus usuarios
interactúen contigo, etc. YouTube y otras redes como Pinterest, Instagram, Vimeo son
redes que aportan más contenido y más interesante. Si además creas un blog donde
puedas generar contenido interesante y útil para tus usuarios te ayudará a generar
una comunidad alrededor de tu aplicación.
Quizás te interesa | La guía definitiva de Mobile App Marketing [2019]
Cuanto tengas todo esto claro te recomendamos que vengas a Yeeply, la plataforma
especializada donde podrás encontrar a los mejores desarrolladores de apps y
profesionales de marketing móvil para hacer tu proyecto de app móvil realidad.
4.- Solicitar un cuadro sinóptico con los atributos de la clase Intent y su uso para paso de
parámetros entre Actividades.