ROGRAMACION DE DISPOSITIVOS MÓVILES
UNIDAD 5
5.1 INTRODUCCIÓN A LAS TECNOLOGÍAS Y HERRAMIENTAS MÓVILES
La generalización en
los últimos años de teléfonos móviles, smartphones, PDs, etc. ha generado una
importante necesidad de aplicaciones para este tipo de dispositivos. Las
prestaciones de los dispositivos móviles se incrementan día a día, posibilit
ando la implementación de aplicaciones muy interesantes tales como: * Acceso a
Internet y conectividad mediante Bluetooth * Envío de mensajes cortos
En la actualidad, el trabajar en el campo de la
programación para dispositivos móviles se hace necesario, debido a que las
empresas se deben adaptar a las tendencias del mercado y a las necesidades de
sus clientes. Por lo que se debe pensar en la posibilidad de tener acceso a la
información en cualquier lugar y en cualquier instante, a través de distintos
dispositivos móviles, incluidos dentro de la administración de la empresa, al
igual que las soluciones informáticas para equipos de escritorio. Convirtiéndose
en parte vital para el funcionamiento de los procesos empresariales.
- QUÉ SON LOS
DISPOSITIVOS MÓVILES Un dispositivo
móvil puede clasificarse como todo aquel hardware que tendrá
características similares a las computadoras de escritorio, con la
principal diferencia que todo es reducido y normalmente integrado en una
sola pieza.
- 4. Algunos
dispositivos móviles Celulares: han
incursionado en campos diversos, más allá de la comunicación, y
actualmente se incrementan sus funcionalidades multimedia con el
surgimiento de nuevas redes inalámbricas con el concepto de 3G.
Asistente Digital
Personal o PDA : Es una pequeña computadora de bolsillo que ofrece
características de un organizador personal y las de una computadora, también
llamadas handhelds.
. Tablet pc: Es una
modalidad de computadora portátil que ha supuesto un avance significativo en la
aplicación de los estudios en lingüística computacional. Utilidades Lectura
de libros electrónicos Lectura de comics en pantalla Navegación web
Juegos Consulta de documentos ofimáticos Visualización de vídeos /
películas Reproducción de música Videoconferencia
- ENTORNOS DE
PROGRAMACIÓN Qué es un sistema operativo para móvil y para qué sirve Un
sistema operativo móvil o SO móvil es un sistema operativo que controla un
dispositivo móvil al igual que los ordenadores utilizan Windows o Linux
entre otros. Sin embargo, los sistemas operativos móviles son bastantes
más simples y están más orientados a la conectividad inalámbrica, los
formatos multimedia para móviles y las diferentes maneras de introducir
información en ellos.
- 8. Tipos
de sistemas operativos Symbian Windows Mobile Linux Symbian es el sistema
operativo para móviles más extendido. La empresa es propiedad de Ericsson,
Panasonic, Siemens AG, Nokia y Sony-Ericsson. Este sistema desciende de
EPOC, empleado en los antiguos ordenadores de bolsillo Psion. Windows
Mobile, antes conocido como Windows CE o Pocket PC, tiene una larga
historia como segundón en el campo de los PDA u ordenadores de bolsillo,
sin embargo hace pocos meses superó por primera vez al hasta entonces
líder, Palm OS. En los círculos del software libre se acaricia la idea de
implantar Linux en el teléfono móvil desde hace años, pero ha tardado en
llegar.
- Aún así, en los
últimos tiempos se ha avanzado mucho y ya hay varios modelos de móvil en
el mercado que utilizan una versión de Linux como su sistema operativo
Android en un Sistema Operativo además de una plataforma de Software
basada en el núcleo de Linux. Diseñada en un principio para dispositivos
móviles, Android permite controlar dispositivos por medio de bibliotecas
desarrolladas o adaptados por Google mediante el lenguaje de programación
Java. Android
- 9. Métodos
de desarrollo Existen dos posibilidades a la hora de desarrollar una
aplicación para un dispositivo móvil. El desarrollar desde una computadora
para luego pasar la aplicación al dispositivo, o bien se puede desarrollar
en el mismo dispositivo en que correrá la aplicación.
- 10. Lenguajes
de programación para dispositivos móviles Los lenguajes
de programación para los dispositivos móviles dependen en gran parte del
dispositivo en el que se quiera trabajar, sin embargo tienen en común que
se puede crear sistemas visuales robustos con mayor facilidad
independientemente del lenguaje de programación que se esté aplicando, por
supuesto dicho lenguaje debe soportar la metodología de programación con
la que trabaja el dispositivo en particular.
- 11. Java : Para
dispositivos móviles la versión de Java en la que se programa es J2ME
(JavaMicro Edition)
- Lenguaje de C++
: Una de las herramientas que se utilizan para la programación de móviles
basadas en el lenguaje de C++ es Carbide.c++ la cual trabaja en la
plataforma de Symbian,
- 12. Lenguaje de C#
: Para desarrollar aplicaciones en dispositivos móviles a través de este
lenguaje de programación se puede utilizar la herramienta de Visual C# que
trabaja con un IDE para diseñar las ventanas de la aplicación. Objective – C
: Este lenguaje de programación está basado en C y a diferencia de C++ es
un súper conjunto del lenguaje C, ya que agrega a la sintaxis de C la
manera de enviar mensajes enSmall-Talk y de definir e implementar objetos.
- 13.
.NET : Es un Framework (estructura de soporte para organizar y desarrollar
software) de Microsoft que permite un rápido desarrollo de aplicaciones.
Python : Este lenguaje de programación orientado a objetos es utilizado para
dispositivos móviles tales como Symbian, Palm, teléfonos inteligentes de
Nokia, etc., también se puede emplear en otras plataformas tales como
Windows, Linux/Unix, Mac OS X, OS/2 y también ha sido portado para
maquinas virtuales de Java y .Net, distribuido bajo la licencia de código
abierto OSI lo hace libre en su uso.
5.2 CLASIFICACIÓN Y APLICACIONES DE LOS DISPOSITIVOS MÓVILES
DISPOSITIVOS DE PROPÓSITO GENERAL DE TRABAJO.
Actualmente dominado por las computadoras de escritorio,
computadoras portátiles, tablets y similares. Estos dispositivos pueden
trabajar una gran variedad de información centradas en las tareas generales.
Estos dispositivos pueden ser usados por usuarios para un propósito general de
trabajo, como un ejemplo de un joven común, puede usar estos dispositivos para
casi cualquier cosa que necesite, como realizar reportes y tareas, o
entretenimiento, etc.
DISPOSITIVOS CON PROPÓSITO DE ENTRETENIMIENTO.
Tales como como el iPod, PlayStation Portable, Nintendo 3DS entre
otros. Estos dispositivos tienen el principal propósito de entretenimiento,
(especialmente por medio de videojuegos), pero tienen como objetivo apoyar
fácilmente el uso de otros medios de entretenimiento, como el escuchar música o
incluso pueden tener servicio de comunicaciones.
COMUNICACIONES O DISPOSITIVOS DE CONTROL.
En el cual entran teléfonos móviles, teléfonos fijos, PDAs,
Blackberries, entre otros. y muchos más dispositivos en un futuro. Estos dispositivos
que permiten al usuario comunicarse con otras personas a través de voz, texto,
y otros métodos.
DISPOSITIVOS ESPECIALIZADOS DE INFORMACION.
Estos son los relojes, iPods, Gameboys, cajeros automáticos, etc.
Estos dispositivos se centran en ofrecer una experiencia específica para el
usuario, y si tiene funciones adicionales, los elementos son muy secundarios.
Por ejemplo, un iPod tiene un calendario en ella, pero de ningún modo
interfiere con el uso del dispositivo como un reproductor de música.
Clasificación
y Aplicaciones de Dispositivos Móviles
Existen
diferentes formas y criterios para clasificar los distintos dispositivos
móviles que existen, una de estas formas de clasificación, es la de agruparlos
según la función que desempeñan. La clasificación es la siguiente:
- Dispositivos de comunicación:
son aquellos
cuya principal función es ofrecer la infraestructura para la comunicación,
generalmente telefónica. Tienen además servicios para mensajes. Incluye
Smartphones.
- Dispositivos de Computación:
Tienen mayor
capacidad de procesamiento de datos y tienen una pantalla y un teclado más
parecido al de una computadora tradicional. En esta categoría entran los PDA,
laptops y netbooks.
- Reproductores Multimedia:
Diseñado
para que el usuario pueda reproducir una gran cantidad de formatos multimedia.
Son los de más reducido tamaño. En esta categoría entran los reproductores mp3,
DVD portátiles, eBooks, entre otros.
- Grabador multimedia consola
portátil:
Aquel que
facilita la grabación de datos en un formato digital ya sea generalmente de
audio o de vídeo. Ejemplos de esta categoría son las cámaras tanto fotográficas
y de vídeo.
- Consola Portátil:
Dispositivo
móvil cuya función es proporcionar al usuario una plataforma de juego.
Aunque en tiempo recientes también reproducen multimedia. Otra forma de definir
los tipos de dispositivos móviles es la siguiente:
- Dispositivo Móvil de Datos
Limitados:
Tienen una
pantalla pequeña generalmente solo de texto, los servicios de datos se limitan
a SMS y WAP.
- Dispositivo Móvil de Datos
Básicos:
Tienen
una pantalla de tamaño mediano, un menú para la navegación. Servicios tales
como correo, Contactos, navegador web básico.
- Dispositivo Móvil de Datos
Mejorados:
Pantallas grandes, navegación por medio de pantalla táctil, mismos
servicios que el de datos básicos pero con más aplicaciones nativas y
corporativas.
5.3 ENTORNO OPERATIVO
DE LAS ApLICACIONES MÓVILES
Entornos De Desarrollo Para Móviles
NetBeans es un entorno de desarrollo
integrado libre, hecho principalmente para el lenguaje de programación Java.
Existe además un número importante de módulos para extenderlo. NetBeans IDE es
un producto libre y gratuito sin restricciones de uso.
NetBeans es un proyecto de código abierto
de gran éxito con una gran base de usuarios, una comunidad en constante
crecimiento, y con cerca de 100 socios en todo el mundo. Sun MicroSystems fundó
el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el
patrocinador principal de los proyectos (Actualmente Sun Microsystems es
administrado por Oracle Corporation).
Basic 4 Android
La plataforma Basic4Android es
una de las grandes enemigas de Android Studio, que programa con el lenguaje
VisualBasic, también rival de Java desde sus inicios. En este sentido, Basic4Android
está especialmente indicado para aquello desarrolladores Android que empezamos
a desarrollar apps en Android. La explicación la encontramos en que es un
entorno más gráfico y menos abstracto, de manera que podemos ver los avances
conforme programamos.
Mono para Android
Aunque Java sea el lenguaje nativo de
Android, la gran fama de este sistema operativo ha conseguido que llegaran
herramientas para programar apps en Android conociendo otros lenguajes de
programación de apps. Los lenguajes que Microsoft para desarrollar apps C#
y .NET han llegado también a Android.
LiveCode
Imagina una plataforma en la que puedas
desarrollar apps en Android, pero también en iOS, Linux, Windows, además
de programar webs y para servidores desde una misma herramienta, desde LiveCode. Si
ponemos como ejemplo que una aplicación que hemos decidido desarrollar en
Android, pero que ahora queremos llevarla a Windows y a iOS para cubrir más
mercado. Lo lógico es que pienses que debes contratar a un desarrollador para
Windows y otro para iOS.
LiveCode
Imagina una plataforma en la que puedas
desarrollar apps en Android, pero también en iOS, Linux, Windows, además
de programar webs y para servidores desde una misma herramienta, desde LiveCode. Si
ponemos como ejemplo que una aplicación que hemos decidido desarrollar en
Android, pero que ahora queremos llevarla a Windows y a iOS para cubrir más
mercado. Lo lógico es que pienses que debes contratar a un desarrollador para
Windows y otro para iOS.
HTML5
Idóneo para los que habéis programado
páginas web con anterioridad en HTML, podemos saber qué resultados tenemos
capacidad de conseguir al programar apps en Android. Con HTML5 vamos más allá, este lenguaje supone un
avance enorme especialmente a la hora de hacer aplicaciones web. Lo bueno
de este lenguaje de programación de apps es que posee una gran versatilidad y
que su contenido se adapta a muchísimas plataformas.
Ruboto
Si estas familiarizado con
Ruby o JRuby, Ruboto una buena opción para aplicar todos esos
conocimientos y aprovecharlos para programar en Android y crear una app para
dispositivos que corran con ese sistema operativo.
Rhomobile
Rodes
En este
caso nos centramos en frameworks que también corren con Ruby, como los que
utilizamos con Ruboto. En este caso, Rhomobile Rodes permite crear
aplicaciones multiplataformas. Una de las grandes ventajas es que nos permite
incluir la utilización de hardwares integrados en el dispositivo móvil.
Adobe
Air
Antes
que nada, cabe decir que Adobe Air es una aplicación con la que se crean
programas de escritorio a partir de tecnologías de desarrollo de páginas web,
como, HTML, Javascript o Flash. En sí no es una aplicación para programar en
Android, pero sí que existe la posibilidad de
utilizara con se propósito.
5.4 DESARROLLO DE APLICACIONES MÓVILES
Qué es el desarrollo de apps?
El desarrollo de
aplicaciones móviles es el proceso en el que un software para
realizar determinada tarea es desarrollado para dispositivos móviles. Estas
aplicaciones pueden venir pre-instaladas en los teléfonos desde su manufactura,
ser descargadas por los usuarios desde las distintas plataformas móviles (Android, iOS, Windows
Phone), o ser accedidas a través de la web desde un navegador.
¿Qué es una aplicación móvil?
Una aplicación móvil es
un programa de computadoras diseñado para utilizarse en teléfonos inteligentes,
tablets y otros dispositivos móviles. Las aplicaciones móviles usualmente están
disponibles a través de plataformas de distribución de aplicaciones, las cuáles
empezaron a aparecer en el 2008 y son típicamente proporcionadas por el dueño
del sistema operativo, tal como la App Store de Apple, Google Play, Tienda de Windows
Phone y el App World de Black Berry. Algunas aplicaciones son gratuitas
mientras otras deben ser compradas.
Desarrollo de aplicaciones móviles
para Android
Comenzamos con el sistema operativo con
mayor cuota de mercado y con más apps móviles desarrolladas. Y también con más
número de aplicaciones en las stores. Un vistazo rápido a las características
del SO y cómo se configura el desarrollo de apps móviles Android.
Características básicas
Atendiendo al propio Google, creador de Android,
las características técnicas de este sistema operativo y que lo configuran son
las siguientes:
Es un sistema operativo de Código abierto. Esto
significa que puedes adaptarlo a tus necesidades. Existen pues muchos más
desarrolladores y mucha más documentación para los profesionales.
Núcleo basado en el Kernel de Linux.
Adaptable a muchas pantallas y resoluciones.
Excelente para poder adaptarse a la infinita cantidad de terminales que existen
en el mercado.
Utiliza SQLite para el almacenamiento de datos.
Navegador web basado en WebKit incluido.
Soporte de HTML, HTML5, Adobe Flash Player, etc.
Incluye un emulador de dispositivos, herramientas
para depuración de memoria y análisis del rendimiento del software.
Google Talk desde su versión HoneyComb, para
realizar videollamadas.
Multitarea real de aplicaciones.
Terminales y dispositivos móviles
La mayoría de smartphones y tablets que no son
Apple, corren con alguna de las versiones del sistema operativo de Android.
Desde KitKat, pasando por Lollipop y la más reciente Marshmallow. Los
dispositivos más conocidos que utilizan Android son los siguientes:
Nexus
Samsung
Sony
Huawei
Etc.
Al desarrollar apps móviles para este sistema
operativo debemos tener en cuenta todos estos dispositivos. Es posible que
cada uno tenga unas dimensiones distintas. Tendremos que ajustar nuestro
desarrollo de apps móviles al standard. Sólo así aseguraremos que la app sea
visible y usable.
Herramientas necesarias
La forma más fácil y directa para empezar a
desarrollar apps móviles para Android es descargando el Android SDK y el IDE de
Eclipse (vea los Recursos). El desarrollo Android puede
realizarse desde ordenadores Microsoft® Windows®, Mac OS X o Linux,
dada su naturaleza de código abierto.
Las aplicaciones Android se ejecutan en
un framework Java de aplicaciones orientadas a objetos sobre el núcleo de las
bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo de
ejecución.
Las bibliotecas escritas en lenguaje C
incluyen un administrador de interfaz gráfica (surface manager), un framework
OpenCore, una base de datos relacional SQLite, una Interfaz de programación de
API gráfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico
SGL, SSL y una biblioteca estándar de C Bionic. Aunque también existen otras
opciones para programar apps para Android sin
recurrir a Java y de las que ya hablamos en un artículo sobre
programar apps sin Java.
Emulador Android: Es muy recomendable tener
cerca un emulador Android si nos dedicamos al desarrollo
de apps móviles para este sistema operativo. Con él podremos ir
viendo los progresos que vamos haciendo en desarrollo, los errores,
correcciones.
Desarrollo de aplicaciones móviles para
iOS
El sistema operativo que se lleva la plata es
el creado por Steve Jobs en Apple. Aunque nació antes que Android, y tenía
mucha más cuota de mercado que este, iOS ha ido perdiendo potencia y usuarios.
Características básicas
El segundo de la carrera por el mercado móvil
sigue luchando por hacerse un hueco. Algunos datos del SO móvil de Cupertino:
Es un sistema operativo móvil de la
multinacional Apple Inc.
iOS es una variante del Mac OS X, que es el
sistema operativo para computadoras de la marca Apple y, al igual que él, está
basado en Unix.
No permite la instalación de iOS en hardware de
terceros.
Aunque sea un sistema operativo privado y
exclusivo para sus dispositivos, Apple libera su SDK para que este pueda ser
mejorado por desarrolladores de apps.
Multitarea real de aplicaciones.
Es necesarios hacer Jailbreak para poder
instalar aplicaciones de terceros
Las versiones anteriores a iOS 8 no permiten el
uso de la Plataforma Java y Adobe Flash. En cambio iOS usa HTML5 como una
alternativa a Flash. No obstante a partir de iOS 8 ya se permite el uso de
Adobe Flash, pero los usuarios de un iPhone, iPod Touch o iPad con una versión
anterior a iOS 8 se quedan fuera de esta actualización. Debes tenerlo en cuenta
para los casos de desarrollo de apps para iOS
Terminales
y dispositivos móviles
Solamente los
dispositivos móviles de Apple pueden ejecutar el sistema operativo iOS. Entre
ellos se encuentran el iPhone, el iPad y las distintas versiones de iPod.
·
iPhone 4, 5, 6, etc.
·
iPad, iPad Mini
·
iPod nano, iPod shuffle
Herramientas
necesarias
El Kit de desarrollo de
software o SDK está disponible para terceros y desarrolladores desde marzo del
2008, permitiendo así a los desarrolladores hacer aplicaciones para el iPhone y
iPod Touch, así como probarlas en el iPhone simulator» Aunque solo es
posible utilizar el app en los dispositivos después de pagar la cuota del
iPhone Developer Program.
Xcode es el
programa utilizado en el iPhone SDK. Estas aplicaciones, como las de Mac OS X,
están escritas en Objective-C.
Los desarrolladores
pueden poner un precio por encima del mínimo ($0.99 dólares) a sus aplicaciones para
distribuirlas y venderlas en el App Store, de donde recibirán el 70 % del
dinero que ingrese la aplicación. Por otro lado, el desarrollador puede lanzar
la aplicación gratis, y así no obtendría ni pagaría nada, excepto por la cuota
de miembro/desarrollador.
5.5: ASPECTOS DE SEGURIDAD
La seguridad en el desarrollo de aplicaciones
móviles y la protección de datos debe ser uno de los elementos más importante
de los profesionales que buscan el crecimiento a largo plazo y la consolidación
de su trabajo en esta industria. Mientras que el mundo móvil experimenta un
crecimiento espectacular, se expone a importantes problemas de seguridad.
En
la era de la tecnología móvil, la seguridad se ha convertido en un aspecto a
tener en cuenta cuando navegamos por internet o nos bajamos aplicaciones de las
tiendas de Google, Apple o Amazon mediante un dispositivo móvil o tablet.
Por
ello, es importante minimizar los riesgos de seguridad para proteger la
información confidencial en nuestros dispositivos, tanto si nos conectamos para
uso personal o hacemos uso de nuestros dispositivos para el trabajo diario.
Plataformas
Actualmente, Android e iOS son las plataformas con más usuarios, cada una con una filosofía distinta. Android es open source, mientras que iOS es una plataforma más cerrada donde Apple ejerce un mayor control de las aplicaciones que se suben, donde cada aplicación se revisa manualmente antes de ser publicada. En el caso de las aplicaciones Android, recientemente Google ha anunciado que probará manualmente todas las aplicaciones antes de ponerlas a disposición de los usuarios.
Actualmente, Android e iOS son las plataformas con más usuarios, cada una con una filosofía distinta. Android es open source, mientras que iOS es una plataforma más cerrada donde Apple ejerce un mayor control de las aplicaciones que se suben, donde cada aplicación se revisa manualmente antes de ser publicada. En el caso de las aplicaciones Android, recientemente Google ha anunciado que probará manualmente todas las aplicaciones antes de ponerlas a disposición de los usuarios.
El malware es una aplicación de software que
tiene un objetivo malicioso en el dispositivo móvil donde se instala y se
ejecuta sin el consentimiento del usuario. Puede tener objetivos muy variados,
siendo los más comunes obtener datos personales y beneficio económico, por
ejemplo mediante la suscripción a un servicio SMS premium. Su modo de
funcionamiento suele ser automático en modo background y controlado de forma
remota desde un servidor, de forma transparente para el usuario
Para evitar este
tipo de programas, sería recomendable tener instalado al menos un antivirus y
una herramienta para la detección de malware. Además, sería recomendable seguir
las siguientes recomendaciones:
·
Instalar aplicaciones sólo de orígenes
conocidos.
·
Comprobar los permisos antes de
instalar/actualizar, especialmente en Android.
·
Revisar los comentarios de los usuarios y
verificar el desarrollador.
·
Almacenamiento
inseguro de datos
·
Los desarrolladores son responsables de proteger los datos de las personas que utilizan sus aplicaciones. Se recomienda que los datos no se almacenen durante mucho tiempo y sean anónimos siempre que sea posible, de lo contrario podrán acabar generando problemas.
Si tu almacenamiento de datos no es seguro, los datos confidenciales como contraseñas y números de tarjetas de crédito pueden ser vulnerables a los hacks debido a la falta de conocimiento del comportamiento del dispositivo, la sincronización sin protección de datos confidenciales en la nube o los datos almacenados en lugares inseguros, como en una tarjeta SD.
En este sentido y para mantener la seguridad, desarrolla tu aplicación de tal manera que no almacene ninguna información crítica directamente en el dispositivo. Si es necesario almacenarla, deberá hacerse de forma segura.
Los desarrolladores son responsables de proteger los datos de las personas que utilizan sus aplicaciones. Se recomienda que los datos no se almacenen durante mucho tiempo y sean anónimos siempre que sea posible, de lo contrario podrán acabar generando problemas.
Si tu almacenamiento de datos no es seguro, los datos confidenciales como contraseñas y números de tarjetas de crédito pueden ser vulnerables a los hacks debido a la falta de conocimiento del comportamiento del dispositivo, la sincronización sin protección de datos confidenciales en la nube o los datos almacenados en lugares inseguros, como en una tarjeta SD.
En este sentido y para mantener la seguridad, desarrolla tu aplicación de tal manera que no almacene ninguna información crítica directamente en el dispositivo. Si es necesario almacenarla, deberá hacerse de forma segura.
Controles frágiles en el servidor
Actualmente no se puede confiar únicamente en la protección que implementan los fabricantes en el dispositivo para hacer cumplir los controles de seguridad. Las aplicaciones móviles también están expuestas a ataques de otras aplicaciones o a través del uso de una conexión de Internet móvil. Durante el desarrollo de una app, y con el objetivo de mantener su seguridad, es importante validar los datos de entrada para evitar varios tipos de ataques.
Fuga de datos involuntaria
Sucede cuando la información confidencial es colocada por error en una ubicación fácilmente accesible en el dispositivo móvil por parte de aplicaciones maliciosas. En esta situación, los datos corren un grave riesgo de ser filtrados.
Códigos fuente desconocidos
Desarrollar una aplicación móvil desde cero puede consumir mucho tiempo, por lo que los desarrolladores a menudo intentan utilizar la enorme cantidad de código en la web. Sin embargo, ten mucho cuidado, pues tomar este atajo puede salirte caro: muchos hackers crean código y lo hacen disponible esperando que sea utilizado por algún desarrollador.
Comentarios
Publicar un comentario