Calavera calculo de estructuras de cimentacion.pdf
Métodos para el desarrollo de aplicaciones móviles
1. Métodos para el desarrollo de aplicaciones móviles.
En la actualidad existen diversos métodos para el desarrollo de aplicaciones
móviles, esto conlleva a que hay mucha actividad de producción de
aplicaciones para dispositivos móviles, de acuerdo a los diversos ecosistemas
que son necesarios como las operadoras de telecomunicaciones, los
fabricantes de hardware y todos los elementos de software que intervienen en
la ejecución de la aplicación, esto va variando de acuerdo a varios factores
como la infraestructura, el sistema operativo, los métodos de entrada de
información, hasta los propios usuarios, etc.
De acuerdo al capítulo Métodos para el desarrollo de aplicaciones móviles,
todo dispositivo tiene sus puntos a favor y en contra, por ejemplo, hoy en día
hay muchas aplicaciones que se ejecutan en una sola plataforma, esto de
manera puntual tiene un poco de restricción ya que hay usuarios quienes
desean ejecutar una aplicación específica de un sistema operativo a otra
plataforma pues simplemente no podrán hacerlo porque no cuentan con los
permisos necesarios para ejecutar dicha aplicación; es por ello que no es
posible usar ese tipo de aplicaciones.
La fragmentación se origina por varios motivos tales como: Hardware diferente,
esto es que los dispositivos tengan componentes distintos, tamaños de
pantalla, teclado, sensores, capacidad de proceso; de igual manera surge
cuando hay un software distinto: por ejemplo un sistema operativo distinto
puede generar la fragmentación de las aplicaciones, también influye de
manera exponencial las preferencias del usuario, lo más habitual es que haya
configuraciones de idioma o de orientación de texto que genera una
fragmentación.
2. La fragmentación puede tener diferentes grados, no es lo mismo realizar una
aplicación que debe ejecutarse sobre un televisor y sobre un teléfono móvil,
que la de una aplicación que debe ejecutarse sobre dos versiones de la misma
plataforma. Por ende, hay muchas razones para poder minimizar éstas
adversidades, y poder buscar estrategias para poder combatirlas.
Un escenario es un caso de fragmentación que presenta cualquiera de las
posibles causas de fragmentación o varias de ellas. Al proceso de adaptar la
aplicación a un nuevo escenario se llama portar la aplicación. Es una
estrategia muy costosa, pues no se puede aprovechar nada o casi nada sin
adaptaciones del código realizado en otros escenarios. Una estrategia muy
habitual se denomina Derivación. Según esta estrategia, una parte de la
aplicaciónes comúna todos los escenarios ypara cada uno se puede definir la
parte específica correspondiente. De ésta estrategia se derivan otras que de
igual manera puede ser útil. La derivación selectiva se localizan en elementos
en concreto ya sea en el código, en los ficheros, etc.
Mediante la adaptación única se puede conseguir una versión que funcione en
todos los casos sin necesidad de realizar más cambios. Hay varias maneras de
afrontar esta estrategia, una de ellas es el llamado Mínimo común
denominador, que trata de conseguir una aplicación mediante la reducción de
los puntos de fragmentación de manera que no se requiera adaptar la
aplicación.
Otro punto importante es el contexto que se define como las informaciones
conjuntas de la situación actual, al usuario, la información del dispositivo y la
información de otras aplicaciones en un momento dado del tiempo. A esto se
suma las capacidades de los dispositivos, por ejemplo la capacidad de saber la
posición geográfica actual, grabar imágenes, etc.
3. Comúnmente el usuario necesita acceder a mucha información que requiere
en momentos oportunos, a ésta capacidad se le conoce como ubicuidad, esto
se basa en acceder a toda la información o a todos los servicios que el usuario
necesita en cualquier momento mediante el dispositivo con la que se cuente.
Ante esto se común que entre familia se comparta información relevante y que
conlleva a que la aplicación sea consumible en la sociedad, es decir, depende
del consumismo de la población es como se verá reflejado el éxito de una
aplicación, y por supuesto también se derivan los costos por los servicios
solicitados tales como el acceso a internet o a las redes móviles,
almacenamiento en dispositivos externos, etc.
Hay muchos tipos de aplicaciones para distintos ámbitos en las cuáles se
pueden ejecutar desde un televisor hasta una consola, aunque no están
catalogados como dispositivos móviles sí que existen múltiples tecnologías
para ello, además las aplicaciones se pueden clasificar en función a la utilidad
que se quiera darle o ya sea de acuerdo a las necesidades específicas, dentro
de ésta categoría entran las aplicaciones básicas las cuales fungen una
interacción básica con el dispositivo ya que envían o reciben información
puntual del usuario.
Por otra parte se encuentran las webs móviles que son las webs que ya existen
actualmente con la única diferencia que son adaptadas para ser visualizadas
en los dispositivos móviles, adaptan toda su estructura e información a las
capacidades del dispositivo a manera de ajustarse de adecuadamente a los
recursos del usuario.
En cambio las aplicaciones web sobre móviles son aquellas aplicaciones que
no necesitan ser instaladas en el dispositivo para ser ejecutadas, están
basadas en tecnologías HTML, CSS y JavaScript y que se ejecutan en una
navegador, a diferencia de las webs móviles, estas aplicaciones tienen como
objetivo interaccionar con el dispositivo y con el usuario.
4. También se encuentran las aplicaciones web móviles nativas que no son
aplicaciones web propiamente ni tampoco nativas, es decir que se ejecutan en
un navegador con un componente nativo que delega de un navegador y tienen
algunas de las ventajas de las aplicaciones nativas. En otro ámbito están las
aplicaciones nativas que son las aplicaciones de cada plataforma, deben de
ser desarrollados pensando en una plataforma específica, acorde a esto están
las estrategias de desarrollo de aplicaciones móviles se puede considerar el
desarrollo web que son aplicaciones basadas en lenguajes de marcas, lo cual
añade la facilidad de programar y probar sin necesidad de un emulador o un
dispositivo real.
Un punto más y tal vez uno de los más importantes es el entorno de desarrollo
multiplataforma ya que en la actualidad existen al menos 5 lenguajes
diferentes que son necesarios para poder realizar aplicaciones sobre
plataformas más actuales: C, C++, Java, C#, JavaScript, Objective-C, además
de los diferentes IDE´s necesarios y sus correspondientes librerías específicas.
De acuerdo al desarrollo de software existen muchos métodos de desarrollo,
cada uno son sus ventajas y sus desventajas, algunos de ellos son: Modelo
waterfall, desarrollo rápido de aplicaciones, desarrollo ágil y Mobile-D.
Una de las características importantes de la mayoría de los desarrollos móviles
es su corta duración, esto debido a factores como la gran competencia en el
sector de desarrollo y como cualquier otro proyecto, el desarrollo de
aplicaciones de cualquier índole necesita de una planificación con todas las
fases que conlleva. Por último, el área de desarrollo abarca un sin fin de
posibilidades y áreas de oportunidad, pues existen muchas maneras de hacer
negocio con las aplicaciones móviles, algunos de ellos son los SMS Premium,
SMS para descargar aplicaciones o melodías y el desarrollo de aplicaciones a
medida. En la actualidad han aparecido nuevos modelos de negocios entre los
cuales están la venta de aplicaciones de una tienda de aplicaciones y es el
modelo más clásico, también las aplicaciones que ofrecen una versión de
5. prueba y una versión de pago, la venta de publicidad, etc. El modelo de
aplicación gratuita sencillamente pretende atraer usuarios para que acaben
comprando la versión de pago de la aplicación o productos relacionados con
ellas. Por otra parte el modelo de pago directo o indirecto son las que se deben
de pagar, ya sea en el momento de la descarga o en el momento de utilizar
algún servicio adicional.
En conclusión, hay un mundo de posibilidades de aprender a desarrollar
aplicaciones móviles en diferentes plataformas conociendo de igual manera
las diferentes herramientas de desarrollo, siendo un área de oportunidad para
aquel que desee adentrarse en el mundo del desarrollo de aplicaciones.